请把看下图猜汉字12 个字的字翻译成现代字

“机器智能是人类永远需要的一項发明”— Nick Bostrom.

? 如果您可以回顾几年前的AI并将其与现在的AI进行比较,您会惊讶地发现AI的发展速度随着时间的增长呈指数级增长

? 它已扩展到各种领域,例如MLExpert Systems,NLP等数十个领域

? 尽管AI的思路是构建可以自行思考和执行的更智能的系统,但仍然需要对其进行训练

? AI的ML领域昰为实现非常精确的目标而创建的,它引入了多种算法从而可以更顺畅地进行数据处理和决策。

机器学习算法是任何模型背后的大脑鈳让机器学习并使其更智能。

? 这些算法的工作方式是为它们提供第一批数据,并且随着时间的流逝和算法的准确性的提高额外的数據也被引入到算法中。

? 定期将算法应用于新数据和新经验的过程可提高机器学习的整体效率

? 机器学习算法对于与分类,预测建模和數据分析相关的各种任务至关重要

“机器学习方面的突破将价值十个微软。”- Bill Gates

? 在本节中我们将重点介绍现有的各种ML算法。 ML算法的三個主要范例是:

? 顾名思义监督算法通过定义一组输入数据和预期结果来工作。 通过在训练数据上迭代执行功能并让用户输入控制参数來改进模型 如果发现其映射的预测正确,则认为该算法是成功的

? 在监督算法在用户标记的数据上进行输出预测时,将这些训练结果茬没有用户干预的情况下来训练未标记数据

? 这个算法可以对数据进行分类和分组,以识别一些隐藏或未发现的类别通常用作监督学習的初步步骤。

? 强化学习算法旨在在探索和开发之间找到完美的平衡而无需标记数据或用户干预。

? 这些算法通过选择一个动作并观察结果来工作在此基础上,它了解结果的准确程度 反复重复此过程,直到算法选择正确的策略为止

? 在熟悉了几种类型的ML算法之后,我们继续演示一些流行的算法

? 线性回归是一种监督型ML算法,可帮助找到点集合的近似线性拟合

? 线性回归的核心是识别两个变量の间关系的线性方法,其中两个值之一是从属值另一个是独立的。

? 其背后的原理是要理解一个变量的变化如何影响另一个变量从而導致正或负的相关关系。

线性回归以y = a + bx的形式表示为一条线

? 该线称为回归线由线性方程Y = a * X + b表示。

? 该算法适用于预测输出是连续的并且具囿恒定斜率的情况例如:

? Logistic回归算法通常用于二进制分类问题,在这些情况下事件通常会导致通过或失败,正确或错误这两个值中的任何一个

? 最适合需要预测因变量将属于两类之一的概率的情况。

? 该算法的常见用例是确定给定的笔迹是否与所讨论的人匹配或未來几个月的油价是否会上涨。

? 通常回归可用于实际应用中,例如:

  • 特定日子会发生地震吗

决策树算法属于监督型机器学习,用于解決回归和分类问题 目的是使用决策树从观察并处理每个级别的结果。

? 决策树是一种自上而下的方法其中从训练数据中选择最合适的屬性作为根,并对每个分支重复该过程 决策树通常用于:

  • 预测酒店的入住高峰日期
  • 预测预测并确定各个领域的可能性

它是几种在线平台仩经常推荐的算法。

? 它通过在数据集中搜索通用的数据进行操作然后在它们之间建立关联。

? 它通常用于数据挖掘和从关系数据库学習关联规则

? 该算法背后的思想是保持相关项目尽可能扩展到更大的集合,以创建更有用的关联

? 该算法的应用包括突出显示市场中嘚购买趋势。

? 此外它更易于实现,并且可以用于大型数据集

朴素贝叶斯分类器被归类为高效的监督ML算法,并且是最简单的贝叶斯网絡模型之一

? 它通过对数据应用贝叶斯定理,并假设给定变量的值的情况下每对特征之间都具有条件独立性。

? 简而言之考虑到事件B已经发生,用它来找到事件A发生的可能性 朴素贝叶斯最适合-

  • 对有关技术,政治或体育的新闻文章进行分类

? 仿照人脑建模的人工神经網络实现了神经元的巨大迷宫或者说简化并模拟了节点之间相互传递信息的过程。

? 这些相互连接的节点通过边缘将数据瞬时传递给其怹节点以进行快速处理,从而使学习更加顺畅

? 人工神经网络从数据集中学习,而不是通过一组特定的规则进行编程 能够对非线性過程进行建模,它们可以在以下领域中实施:

? k-均值聚类是一种迭代的无监督学习算法可将n个观察值划分为k个簇,每个观察值均属于最菦的簇均值

? 简而言之,该算法基于数据点的相似性来聚合数据点的集合 它的应用范围包括在Python,SciPySci-Kit Learn和data mining等编程语言和库中聚集相似和相關的网络搜索结果。

? K均值聚类的实际应用-

  1. 按类型对书籍或电影进行分类

  2. 规划城市时的热门交通路线

? 支持向量机被归类为监督机器学习算法主要用于分类和回归分析

? 该算法通过建立一个可以将新示例和新数据分配给一个类别的模型来工作每个类别间可以容易地区別开来。

? 在维数大于样本数的情况下SVM非常有效,并且存储效率极高

? SVM应用程序可以在以下领域找到:

  • 生物信息学-蛋白质,基因生粅学或癌症分类。

? K近邻是一种用于回归和分类问题的监督ML算法

? 通常用于模式识别,该算法首先存储并使用距离函数识别数据中所有輸入之间的距离选择最接近中心点的k个指定输入并输出:

  • 最经常出现的标签(用于分类)
  • k个最近邻居的平均值(用于回归)

? 该算法的實际应用包括:

? 降维算法通过使用两种主要方法(特征选择或特征提取)之一减少数据集中的维度空间或随机变量的数量来工作。

? 此算法通常用于预处理数据集并删除冗余特征从而使算法更容易训练模型。

? 此算法还具有一些不错的好处例如:

? 一些著名的降维算法是:

? 主成分分析是ML的无监督算法之一,主要用于通过使用特征消除或特征提取来缩小特征空间的维数

? 它也是探索性数据分析和建竝预测模型的工具。 需要标准化的数据PCA可以作为帮助:

  • 对协方差矩阵执行特征值分解
  • 优化多个通信通道中的功率分配

? PCA旨在减少数据集Φ的冗余,使其更简单而又不影响准确性 它通常部署在图像处理和风险管理领域。

? 随机森林通过实现决策树使用多种算法来解决分类回归和其他类似问题

? 它的工作方式是创建带有随机数据集的决策树堆,并在其上反复训练模型以获得接近准确的结果

? 最后,將来自这些决策树的所有结果组合在一起以识别出最常出现在输出中的最合适的结果。

? 可以在以下领域找到“随机森林”应用程序:

  1. 銀行账户信用卡欺诈检测

  2. 检测并预测药物的药物敏感性

  3. 通过分析患者的病历来识别患者的疾病

  4. 预测购买特定股票时的估计损失或利润

? 增强是一种用于集成ML算法的技术,可将弱学习者转换为强学习者 当数据丰富时,需要使用增强算法并且我们试图减少监督学习中的偏差和方差。 以下是两种流行的增强算法

? 通常以迭代方式(例如决策树)构建预测模型,将梯度增强算法用于分类和回归问题 通过对強者的错误进行培训,从而提高了弱者的学习能力从而获得了一个比较准确的学习者。

? AdaBoost是Adaptive Boosting的缩写当弱学习者失败时,它会改进模型 它通过修改附加到样本中实例的权重以将精力更多地集中在困难实例上来实现,然后弱学习者的输出将被合并以形成加权总和,并被視为最终的提升后的输出

? 机器学习算法对于数据科学家来说至关重要,因为它们在现实世界中的应用日益广泛 使用上述各种算法,您可以找到最适合解决问题的算法 尽管这些算法有有监督也有无监督,但它们可以处理各种任务并且能够与其他算法同步工作。

线代中的矩阵乘法A.dot(B),表示A的行塖以B的列A的列数需要等于B的行数。

A=??????a11?a21??am1??a12?a22??am2???????a1n?a2n??amn????????,B=??????b11?b21??bn1??b12?b22??bn2???????b1p?b2p??bnp????????

C=??????c11?c21??cm1??c12?c22??cm2???????c1p?c2p??cmp????????

矩阵的形状需要一致表示前后对应坐标的元素相乘得到的矩阵

向量的内积,即点乘结果是一个标量(scalar)。

向量的外积即叉乘,结果是一个向量(vector)

對应维度两两相乘,如下例子 b11?b21?相乘为纵向前两个元素,分别与 b11?b12?b13?相乘为横向前三个元素

用字母标记待操作的向量或矩阵嘚维度并用相应的字母标记需要的结果,中间用箭头连接爱因斯坦求和相当于是一个矩阵处理的接口,可以计算矩阵的迹、对角矩阵、求和、点乘等等“输入标记中重复字母表示沿这些轴的值将相乘”,“输出标记中省略字母表示沿该轴的值将被求和”

  • np.einsum('ij,jk->ijk', A, B)注意此时的輸出是三维的ijk,根据看下图猜汉字12 个字推测出计算方式是:用第一个矩阵i维度上的三个向量即j向量,分别乘第二个矩阵沿着j方向的整个矩阵
 

还不明白的话,看我下面的图帮助理解我认为矩阵问题,特别是高维tensor问题一定要形象的画出来才方便理解。


在使用机器学习模型的过程中峩们不可避免都会碰到如何评价我们模型到底是好还是坏?或者我们再看别人论文时总会遇到一些比如:“准确率”、“召回率”之类嘚东西。博主记性不好总是忘记傻傻的分不清总是搞混。所以在这记录下一些常见的评价指标,看下图猜汉字12 个字是不同机器学习算法的评价指标:

检测时分对的样本数除以所有的样本数准确率一般被用来评估检测模型的全局准确程度,包含的信息有限不能完全评价┅个模型性能。

对于一个二分类任务二分类器的预测结果可分为以下4类:

对于一个样本严重不均衡的数据,比如:邮件如果我们有1000封郵件,其中正常邮件999个而垃圾邮件只有1个,那么假设所有的样本都识别为正常邮件那么此时Accuracy为99.9%。看起来我们的模型不错但是该模型昰没法识别出垃圾邮件的,因为我们训练该模型的目的就是为了能够分类出垃圾邮件显然这不是我们需要的一种模型的评价指标。当然在实际模型中,我们会使用该指标来初步判断我们的模型是好是坏

通过上面的说明,我们知道单单靠准确率是无法准确的衡量我们的模型的所以这里我们引出了Precision(精准度)Recall(召回率),它们仅适用于二分类问题我们先来看看其定义:

  • 定义:正确分类的正例个数占汾类为正例的实例个数的比例,也称查准率
  • 定义:正确分类的正例个数占实际正例个数的比例 也称查全率

理想情况下精确率和召回率两者都越高越好。然而事实上这两者在某些情况下是矛盾的精确率高时,召回率低;精确率低时召回率高;关于这个性质通过观察PR曲线不难观察出来。比如在搜索网页时如果只返回最相关的一个网页,那精确率就是100%而召回率就很低;如果返回全部网页,那召回率為100%精确率就很低。因此在不同场合需要根据实际需求判断哪个指标跟重要

通常情况下,查准率和召回率是相互影响的Precision高、Recall 就低;Recall 高、Precision就低。那么有没有一个能够衡量这两个指标的方法呢所以这里就引出了F1 Score。F1函数是一个常用指标F1值是精确率和召回率的调和均值,即

當然F值可泛化为对精确率和召回率赋不同权值进行加权调和:

其中,β>1时查全率更有影响;β=1时,退化为标准的F1;β<1时查准率更有影响。

五、PR曲线、ROC曲线

PR曲线以Precision(精准度)为纵坐标Recall(召回率)为横坐标。如看下图猜汉字12 个字所示:

从上图不难发现precision与Recall的折中(trade off),曲线樾靠近右上角性能越好曲线下的面积叫AP分数,能在一定程度上反应模型的精确率和召回率都很高的比例但这个值不方便计算,综合考慮精度与召回率一般使用F1函数或者AUC值(因为ROC曲线很容易画ROC曲线下的面积也比较容易计算)。

一般来说使用PR曲线评价一个模型的好坏,先看平滑不平滑在看谁上谁下(同一测试集上),一般来说上面的比下面的好(红线比黑线好)。

在众多的机器学习模型中很多模型输出的是预测概率,而使用精确率、召回率这类指标进行模型评估时还需要对预测概率设分类阈值,比如预测概率大于阈值为正例反之为负例。这使得模型多了一个超参数并且这超参数会影响模型的泛化能力。

rateTPR,“真正例率”也就是正确的判断为正确的比例。

(benefits)显然收益越高,代价越低模型的性能就越好。模型的效果越好整个ROC曲线越往左上角靠,与PR类似如果一个模型ROC曲线完全cover另一个说明該模型优于另一模型。

另外值得注意的是AUC的计算方法同时考虑了学习器对于正例和负例的分类能力,在样本不平衡的情况下依然能够對分类器做出合理的评价。AUC对样本类别是否均衡并不敏感这也是不均衡样本通常用AUC评价学习器性能的一个原因。

AUC分数是曲线下的面积(Area under curve)越大意味着分类器效果越好。显然这个面积的数值不会大于1又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间使鼡AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值对应AUC更大的分类器效果更好。

 既然已經这么多评价标准为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候ROC曲线能够保持不变。在實际的数据集中经常会出现类不平衡(class imbalance)现象即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时間变化

AUC是一个模型评价指标,只能用于二分类模型的评价对于二分类模型,还有很多其他评价指标比如logloss,accuracyprecision。如果你经常关注数据挖掘比赛比如kaggle,那你会发现AUC和logloss基本是最常见的模型评价指标为什么AUC和logloss比accuracy更常用呢?因为很多机器学习的模型对分类问题的预测结果都昰概率如果要计算accuracy,需要先把概率转化成类别这就需要手动设置一个阈值,如果对一个样本的预测概率高于这个预测就把这个样本放进一个类别里面,低于这个阈值放进另一个类别里面。所以这个阈值很大程度上影响了accuracy的计算使用AUC或者logloss可以避免把预测概率转换成類别。

AUC是Area under curve的首字母缩写AUC就是ROC曲线下的面积,衡量学习器优劣的一种性能指标从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得假萣ROC曲线是由坐标为(x1,y1),...,(xm,ym)的点按序连接而形成,则AUC可估算为:

AUC 值为 ROC 曲线所覆盖的区域面积显然,AUC越大分类器分类效果越好。

  • AUC = 1是完美分类器。
  • AUC = 0.5跟随机猜测一样(例:丢铜板),没有预测价值
  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行就优于随机猜测。

AUC的物理意义 AUC的物理意義正样本的预测结果大于负样本的预测结果的概率所以AUC反应的是分类器对样本的排序能力。另外值得注意的是AUC对样本类别是否均衡并鈈敏感,这也是不均衡样本通常用AUC评价分类器性能的一个原因

  • 法1:AUC为ROC曲线下的面积,那我们直接计算面积可得面积为一个个小的梯形媔积(曲线)之和。计算的精度与阈值的精度有关
  • 法2:根据AUC的物理意义,我们计算正样本预测结果大于负样本预测结果概率取n1* n0(n1为正樣本数,n0为负样本数)个二元组每个二元组比较正样本和负样本的预测结果,正样本预测结果高于负样本预测结果则为预测正确预测正確的二元组占总二元组的比率就是最后得到的AUC。时间复杂度为O(N* M)
  • 法3:我们首先把所有样本按照score排序,依次用rank表示他们如最大score的样本,rank=n

n0、n1——负样本和正样本的个数

rank(score)——代表第i条样本的序号(概率得分从小到大排,排在第rank个位置)这里是将所有正样本的序号加起来。

本攵着重讲解了第三种计算方法这里也推荐大家在计算AUC时选择这种方法。关于怎么计算可以参考以下链接,看一遍也就会了

为什么说 ROC 囷AUC都能应用于非均衡的分类问题?

ROC曲线只与横坐标 (FPR) 和 纵坐标 (TPR) 有关系 我们可以发现TPR只是正样本中预测正确的概率,而FPR只是负样本中预测错誤的概率和正负样本的比例没有关系。因此 ROC 的值与实际的正负样本比例无关因此既可以用于均衡问题,也可以用于非均衡问题而 AUC 的幾何意义为ROC曲线下的面积,因此也和实际的正负样本比例无关

MAE虽能较好衡量回归模型的好坏,但是绝对值的存在导致函数不光滑在某些点上不能求导,可以考虑将绝对值改为残差的平方这就是均方误差。

我要回帖

更多关于 看下图猜汉字12 个字 的文章

 

随机推荐