• 关注微信公众号【Microstrong】,我写过四年Android代码,了解前端、熟悉后台,现在研究方向是机器学习、深度学习!一起来学习,一起来进步,一起来交流吧! 本文同步更新在我的微信公众号里,地址:...

    关注微信公众号【Microstrong】,我写过四年Android代码,了解前端、熟悉后台,现在研究方向是机器学习、深度学习!一起来学习,一起来进步,一起来交流吧!

    本文同步更新在我的微信公众号里,地址:https://mp.weixin.qq.com/s?__biz=MzI5NDMzMjY1MA==&mid=2247483935&idx=1&sn=5e1c55c764ae3443734b3d6d13a110e9&chksm=ec65339adb12ba8ceb875f2dffd29723d975a61ab9af127b4e00e708f177da4abe4ff2e88a96#rd

     

    回归问题:主要用于预测数值型数据,典型的回归例子:数据拟合曲线。

     

    一、线性回归

     

    (1)线性回归的定义:

     

    线性回归需要一个线性模型,属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数是否足够拟合训练集数据,然后挑选出最好的线性函数。

    需要注意两点:

    A.因为是线性回归,所以学习到的函数为线性函数,即直线函数;

    B.因为是单变量,因此只有一个x;(这里我们只讨论单变量线性回归)

     

    (2)单变量线性回归模型

     

    我们能够给出单变量线性回归模型:

     

     

    这里,X为特征,h(x)为hypothesis。

    举个例子:

    我们想要根据房子的大小,预测房子的价格,给定如下数据集:

     

    我们根据以上的数据集画在图上,如下图所示:

     

    我们需要根据这些点拟合出一条直线,使得costFunction最小。拟合出的直线大概如下图所示:

     

     

    从上面的过程中,我们肯定有一个疑问,怎么样能够看出线性函数拟合的好不好呢?

    答案是我们需要使用到Cost Function(代价函数),代价函数越小,说明我们线性回归的越好,和训练数据拟合的越好。(有关代价函数还请读者自行学习)

     

    二、逻辑回归(Logistic Regression)

     

     

    逻辑回归虽然名字中有“回归”,但实际却是一种分类学习方法,它将数据拟合到一个logit函数或者是logistic函数中,从而能够完成对事件发生的概率进行预测。

     

     (1)逻辑回归出现的背景:

     

    线性回归能对连续值结果进行预测,而现实生活中常见的另一类问题是分类问题。最简单的情况是:是与否的二分类问题。比如说:医生需要需要判断病人是否患癌症,银行要判断一个人的信用程度是否达到可以给他发信用卡的程度,邮件收件箱要自动对邮件分类为正常邮件和垃圾邮件等等。

     

    当然,我们最直接的想法是,既然能够用线性回归预测出连续值的结果,那根据结果设定一个阈值应该可以结果分类问题。事实上,对于很标准的情况,确定是可以的,这里我们套用Andrew Ng老师的课件中的例子,下图中X为数据点肿瘤的大小,Y为观测结果是否是恶性肿瘤。通过构建线性回归模型,如所示,构建线性回归模型后,我们设定一个阈值0.5,预测>=0.5的这些点为恶性肿瘤,而<0.5为良性肿瘤。下图是我们构建的一个线性回归模型,可以很好的把恶性肿瘤和良性肿瘤分隔开。

     

     

    但是在很多实际的情况下,我们需要学习的分类数据并没有这么准确,比如说上面这个肿瘤的例子,如果突然有一个噪点数据出现,如下图所示:

     

    那我们的线性逻辑回归模型,就不那么适用了并且你设定的阈值0.5也就失效了,如下图所示。而在现实生活分类问题的数据中,会比例子中的这个更为复杂,这个时候我们借助线性回归和阈值的方式,已经很难完成一个表现良好的分类器了。

     

     

    在这样的场景下,逻辑回归就诞生了。它的核心思想是,如果线性回归的结果输出是一个连续值,而值的范围是无法限定的,那么我们有没有办法把这个结果映射为可以帮助我们判断的结果呢。而如果输出的结果是(0,1)的一个概率值,那么这个问题就能很清楚的解决了。

     

    (2)逻辑回归基本的知识点:

     

     

    Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:

     

     

    我们来画出sigmoid函数图像,如下图所示:

     

     从函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。所以我们定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是上述sigmoid函数(或者简单叫做S形函数)。这就是逻辑回归中的预测输出函数。

     

    有了预测输出函数,我们考虑一下,为什么逻辑回归就能做到分类问题?其实是逻辑回归根据我们的样本点获得这些数据的判定边界。那什么是判定边界呢?你可以简单理解为是用以对不同类别的数据分割的边界,边界的两旁应该是不同类别的数据。我们在二维直角坐标系中,来看看具体的判定边界是什么样子:

    可能是这个样子:

     

    还可能是这个样子:

    或者是这个样子:

     

    我们来思考一个问题:逻辑回归是如何根据样本点获得这些判定边界呢?

    根据sigmoid函数,我们发现:

    当g(z)≥0.5时, z≥0;对于=g(θTX)≥0.5, 则θTX≥0, 此时意味着预估y=1;

    反之,当预测y = 0时,θTX<0;所以我们认为θTX=0是一个决策边界,当它大于0或小于0时,逻辑回归模型分别预测不同的分类结果。

     

    先看第一个例子

    ,其中θ0 ,θ1 ,θ2分别取-3, 1, 1。则当−3+X1+X2≥0时, y = 1; 则X1+X2=3是一个决策边界,图形表示如下,刚好把图上的两类点区分开来:

    上边的例子是一个线性的决策边界,当hθ(x)更复杂的时候,我们可以得到非线性的决策边界,例如:

     

    这时当x12+x22≥1时,我们判定y=1,这时的决策边界是一个圆形,如下图所示:

     

     

    所以我们发现,理论上说,只要我们的设计足够合理,准确的说是g(θTX)中θTX足够复杂,我们能在不同的情形下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

    判定边界详细介绍和项目实践例子:

    线性判定Python实践例子  地址:http://blog.csdn.net/program_developer/article/details/79163466

    非线性判定边界Python实践例子 地址:http://blog.csdn.net/program_developer/article/details/79190616 

     

    (3)逻辑回归的代价函数

     

    对于线性边界的情况,边界形式如下:

     

    构造预测函数为:

    函数的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

     

    下面我们根据(1)式,推导出我们的代价函数

    (1)式综合起来可以写成:

     

    然后取似然函数为:

    因为在同一θ处取得极值,因此我们接着取对数似然函数为:

     

    交叉熵代价函数(cross-entropy)

    最大似然估计就是求使取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数。但是,在Andrew Ng的课程中将取为下式,即:

     

    因为乘了一个负的系数-1/m,所以取最小值时的θ为要求的最佳参数。

     

    我们在来看看,梯度下降法求的最小值θ更新过程:

     

     

    最终θ更新过程可以写成:

     

    补充知识点: 

    三、总结

    至此,我们把机器学习中的回归算法知识点进行了一个总结。我们再来总结一下线性回归和逻辑回归的区别和联系:

    (1)Linear Regression: 输出一个标量 wx+b,这个值是连续值,所以可以用来处理回归问题。

    (2)Logistic Regression:把上面的 wx+b 通过 sigmoid函数映射到(0,1)上,并划分一个阈值,大于阈值的分为一类,小于等于分为另一类,可以用来处理二分类问题。

    (3)更进一步:对于N分类问题,则是先得到N组w值不同的 wx+b,然后归一化,比如用 softmax函数,最后变成N个类上的概率,可以处理多分类问题。

    Reference:

    http://blog.csdn.net/han_xiaoyang/article/details/49123419

    http://blog.csdn.net/pakko/article/details/37878837

    分类与回归区别是什么? -穆文的回答 - 知乎

    https://www.zhihu.com/question/21329754/answer/151216012

    coursera上吴恩达《机器学习》第三周课程

     

    展开全文
  • 弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活必不可少的一部分。以我们的智能手机为例,看看到底温...传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。这篇文章将对

    弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。

    下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力。

    图解十大经典的机器学习算法

    图1 智能手机上的相关应用

    传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。这篇文章将对常用算法做常识性的介绍,没有代码,也没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的。

    人工智能领域知识面广泛,推荐专注于人工智能在线教育的平台—深蓝学院。深蓝学院由中科院自动化所毕业博士团队创建,虽成立半年,但在业界已颇具口碑。

    决策树

    根据一些 feature(特征) 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。

    图解十大经典的机器学习算法

    图2 决策树原理示意图

    随机森林

    在源数据中随机选取数据,组成几个子集:

    图解十大经典的机器学习算法

    图3-1 随机森林原理示意图

    S矩阵是源数据,有1-N条数据,A、B、C 是feature,最后一列C是类别:

    图解十大经典的机器学习算法

    由S随机生成M个子矩阵:

    图解十大经典的机器学习算法

    这M个子集得到 M 个决策树:将新数据投入到这M个树中,得到M个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果。

    图解十大经典的机器学习算法

    图3-2 随机森林效果展示图

    逻辑回归

    当预测目标是概率这样的,值域需要满足大于等于0,小于等于1的,这个时候单纯的线性模型是做不到的,因为在定义域不在某个范围之内时,值域也超出了规定区间。

    图解十大经典的机器学习算法

    图4-1 线性模型图

    所以此时需要这样的形状的模型会比较好:

    图解十大经典的机器学习算法

    图4-2

    那么怎么得到这样的模型呢?

    这个模型需要满足两个条件 “大于等于0”,“小于等于1” 。大于等于0 的模型可以选择绝对值,平方值,这里用指数函数,一定大于0;小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了。

    图解十大经典的机器学习算法

    图4-3

    再做一下变形,就得到了 logistic regressions 模型:

    图解十大经典的机器学习算法

    图4-4

    通过源数据计算可以得到相应的系数了:

    图解十大经典的机器学习算法

    图4-5

    图解十大经典的机器学习算法

    图4-6 LR模型曲线图

    支持向量机

    要将两类分开,想要得到一个超平面,最优的超平面是到两类的 margin 达到最大,margin就是超平面与离它最近一点的距离,如下图,Z2>Z1,所以绿色的超平面比较好。

    图解十大经典的机器学习算法

    图5 分类问题示意图

    将这个超平面表示成一个线性方程,在线上方的一类,都大于等于1,另一类小于等于-1:

    图解十大经典的机器学习算法

    点到面的距离根据图中的公式计算:

    图解十大经典的机器学习算法

    所以得到total margin的表达式如下,目标是最大化这个margin,就需要最小化分母,于是变成了一个优化问题:

    图解十大经典的机器学习算法

    举个例子,三个点,找到最优的超平面,定义了 weight vector=(2,3)-(1,1):

    图解十大经典的机器学习算法

    得到weight vector为(a,2a),将两个点代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,进而得到超平面的表达式。

    图解十大经典的机器学习算法

    a求出来后,代入(a,2a)得到的就是support vector,a和w0代入超平面的方程就是support vector machine。

    朴素贝叶斯

    举个在 NLP 的应用:给一段文字,返回情感分类,这段文字的态度是positive,还是negative:

    图解十大经典的机器学习算法

    图6-1 问题案例

    为了解决这个问题,可以只看其中的一些单词:

    图解十大经典的机器学习算法

    这段文字,将仅由一些单词和它们的计数代表:

    图解十大经典的机器学习算法

    原始问题是:给你一句话,它属于哪一类 ?通过bayes rules变成一个比较简单容易求得的问题:

    图解十大经典的机器学习算法

    问题变成,这一类中这句话出现的概率是多少,当然,别忘了公式里的另外两个概率。例子:单词“love”在positive的情况下出现的概率是 0.1,在negative的情况下出现的概率是0.001。

    图解十大经典的机器学习算法

    图6-2 NB算法结果展示图

    K近邻算法

    给一个新的数据时,离它最近的 k 个点中,哪个类别多,这个数据就属于哪一类。

    例子:要区分“猫”和“狗”,通过“claws”和“sound”两个feature来判断的话,圆形和三角形是已知分类的了,那么这个“star”代表的是哪一类呢?

    图解十大经典的机器学习算法

    图7-1 问题案例

    k=3时,这三条线链接的点就是最近的三个点,那么圆形多一些,所以这个star就是属于猫。

    图解十大经典的机器学习算法

    图7-2 算法步骤展示图

    K均值算法

    先要将一组数据,分为三类,粉色数值大,黄色数值小 。最开始先初始化,这里面选了最简单的 3,2,1 作为各类的初始值 。剩下的数据里,每个都与三个初始值计算距离,然后归类到离它最近的初始值所在类别。

    图解十大经典的机器学习算法

    图8-1 问题案例

    分好类后,计算每一类的平均值,作为新一轮的中心点:

    图解十大经典的机器学习算法

    图8-2

    几轮之后,分组不再变化了,就可以停止了:

    图解十大经典的机器学习算法

    图解十大经典的机器学习算法

    图8-3 算法结果展示

    Adaboost

    Adaboost 是 Boosting 的方法之一。Boosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。

    下图,左右两个决策树,单个看是效果不怎么好的,但是把同样的数据投入进去,把两个结果加起来考虑,就会增加可信度。

    图解十大经典的机器学习算法

    图9-1 算法原理展示

    Adaboost 的例子,手写识别中,在画板上可以抓取到很多features(特征),例如始点的方向,始点和终点的距离等等。

    图解十大经典的机器学习算法

    图9-2

    training的时候,会得到每个feature的weight(权重),例如2和3的开头部分很像,这个feature对分类起到的作用很小,它的权重也就会较小。

    图解十大经典的机器学习算法

    图9-3

    而这个alpha角就具有很强的识别性,这个feature的权重就会较大,最后的预测结果是综合考虑这些feature的结果。

    图解十大经典的机器学习算法

    图9-4

    神经网络

    Neural Networks适合一个input可能落入至少两个类别里:NN由若干层神经元,和它们之间的联系组成。 第一层是input层,最后一层是output层。在hidden层和output层都有自己的classifier。

    图解十大经典的机器学习算法

    图10-1 神经网络结构

    input输入到网络中,被激活,计算的分数被传递到下一层,激活后面的神经层,最后output层的节点上的分数代表属于各类的分数,下图例子得到分类结果为class 1;同样的input被传输到不同的节点上,之所以会得到不同的结果是因为各自节点有不同的weights 和bias,这也就是forward propagation。

    图解十大经典的机器学习算法

    图10-2 算法结果展示

    马尔科夫

    Markov Chains由state(状态)和transitions(转移)组成。例子,根据这一句话 ‘the quick brown fox jumps over the lazy dog’,要得到markov chains。

    步骤,先给每一个单词设定成一个状态,然后计算状态间转换的概率。

    图解十大经典的机器学习算法

    图11-1 马尔科夫原理图

    这是一句话计算出来的概率,当你用大量文本去做统计的时候,会得到更大的状态转移矩阵,例如the后面可以连接的单词,及相应的概率。

    图解十大经典的机器学习算法

    图11-2 算法结果展示

    上述十大类机器学习算法是人工智能发展的践行者,即使在当下,依然在数据挖掘以及小样本的人工智能问题中被广泛使用。


    展开全文
  • 共同学习具体网址为:https://www.kdnuggets.com/2017/10/top-10-machine-learning-algorithms-beginners.html/2一,导言 “哈佛商业评论” 这篇文章称 “数据科学家”是“21世纪最性感的工作”,对ML算法的研究...

    转载于:KDnuggets

    目的:初学者,共同学习

    具体网址为:https://www.kdnuggets.com/2017/10/top-10-machine-learning-algorithms-beginners.html/2

    一,导言

     
    哈佛商业评论” 这篇文章称 “数据科学家“21世纪最性感的工作,对ML算法的研究已经获得了巨大的推动。所以,对于那些ML开始的人来说,我们决定重启一下我们非常流行的Gold博客10算法机器学习工程师需要知道 - 尽管这篇文章是针对初学者。

    ML算法是那些可以从数据中学习并从经验中改进的算法,无需人工干预。学习任务可能包括学习将输入映射到输出的函数,在未标记的数据中学习隐藏的结构或者基于实例的学习,其中通过将新实例(行)与来自存储在存储器中的训练数据的实例进行比较来为新实例生成类标签。基于实例的学习不会创建具体实例的抽象。

     

    IIML算法的类型

     
    有三种ML算法:

    1.监督学习:

    监督学习可以解释如下:使用标记的训练数据来学习从输入变量(X)到输出变量(Y)的映射函数。

    Y = fX

    监督学习问题可以有两种类型:

    一个。分类:预测输出变量处于类别形式的给定样本的结果。例子包括男性和女性,病态和健康等标签。

     回归:预测输出变量为实值形式的给定样本的结果。例子包括表示降雨量和人的身高的实值标签。

    我们在这篇博客中介绍的前5个算法 - 线性回归,Logistic回归,CART,朴素贝叶斯,KNN是监督学习的例子。

    合奏是一种监督学习。这意味着结合多个不同弱ML模型的预测来预测新的样本。我们覆盖的算法9-10 - 随机森林套袋,XGBoost增强是集合技术的例子。

    2.无监督学习:

    无监督学习问题只有输入变量(X),但没有相应的输出变量。它使用无标签的训练数据来模拟数据的基本结构。

    无监督学习问题可以有两种类型:

    一个。关联:发现集合中项目共现的概率。它广泛用于市场篮子分析。例如:如果顾客购买面包,他有80%的可能购买鸡蛋。

     群集:对样本进行分组,使得同一个群集内的对象彼此之间的关系比来自另一个群集中的对象更为相似。

    C。维度降低:正如其名称,维度降低意味着减少数据集的变量数量,同时确保重要的信息仍然传达。可以使用特征提取方法和特征选择方法来完成维度降低。特征选择选择原始变量的一个子集。特征提取执行从高维空间到低维空间的数据转换。例如:PCA算法是一种特征提取方法。

    我们在这里介绍的算法6-8AprioriK-meansPCA是无监督学习的例子。

    3.强化学习:

    强化学习是一种机器学习算法,它允许代理根据其当前状态决定最佳的下一个动作,通过学习将最大化奖励的行为。

    强化算法通常通过反复试验来学习最佳行为。它们通常用于机器人 - 机器人可以通过在碰到障碍物后接收负面反馈来学习避免碰撞,以及在视频游戏中 - 反复试验显示特定动作可以激发玩家的奖励。代理人然后可以使用这些奖励来了解游戏的最佳状态并选择下一个动作。

     

    III。量化ML算法的流行度

     
    这些
     调查报告对10种最流行的数据挖掘算法进行了量化。但是,这样的清单是主观的,就像在引用的文件中那样,被调查参与者的样本规模非常狭窄,由数据挖掘的高级从业人员组成。受访者是ACM KDD创新奖,IEEE ICDM研究贡献奖的获奖者; KDD-06ICDM'06SDM'06的计划委员会成员ICDM'06145名与会者。

    本博客中排名前十的算法适用于初学者,主要是我在孟买大学计算机工程学士学位期间从数据仓库与挖掘DWM)课程中学到的。DWM课程是对ML算法领域的一个很好的介绍。我特别把最后两个算法(集合方法)包括在他们的流行的基础上,以赢得Kaggle比赛。希望你喜欢这篇文章!

     

    IV。监督学习算法

     
    1.
    线性回归

    ML中,我们有一组输入变量(x)用于确定输出变量(y)。输入变量和输出变量之间存在关系。ML的目标是量化这种关系。


    1:线性回归表示为y = a + bx形式的线。资源

    在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为形式为y = a + bx的方程。因此,线性回归的目标是找出系数ab的值。这里,a是截距,b是线的斜率。

    1显示了数据集的绘制的xy值。目标是拟合最接近大部分点的线。这将减少数据点的y值和行之间的距离('错误')。

     
    2. Logistic
    回归

    线性回归预测是连续的值(以cm为单位的降雨量),逻辑回归预测是在应用变换函数之后的离散值(不管学生是否通过/失败)。

    逻辑回归最适用于二元分类(数据集中y = 01,其中1表示默认类)。例如:在预测事件是否发生时,发生的事件被分类为1.在预测人会生病或不生病,生病的实例记为1)。它是以其中使用的变换函数命名的,称为逻辑函数hx= 1 /1 + e ^ x),它是一个S形曲线。

    在逻辑回归中,输出是以默认类的概率形式出现的(不同于直接生成输出的线性回归)。由于这是一个概率,所以输出位于0-1的范围内。输出(y值)通过对数转换x值,使用对数函数hx= 1 /1 + e ^ -x)来生成。然后应用阈值将该概率强制为二元分类。


    2Logistic回归用于确定肿瘤是恶性还是良性的。如果概率hx> = 0.5,则分类为恶性。资源

    在图2中,为了确定肿瘤是否是恶性的,默认变量是y = 1(肿瘤=恶性); x变量可以是肿瘤的量度,例如肿瘤的大小。如图所示,逻辑函数将数据集的各种实例的x值转换为01的范围。如果该概率跨越阈值0.5(由水平线示出),则将肿瘤分类如恶性。

    逻辑回归方程Px= e ^b0 + b1 * x/1 + e ^b0 + b1 * x))可以转化为lnpx/ 1-p = b0 + b1* x

    逻辑回归的目标是使用训练数据来找到系数b0b1的值,以使预测结果与实际结果之间的误差最小化。这些系数是使用最大似然估计技术估计的。

     
    3. CART

    分类和回归树(CART)是决策树的一个实现,其中包括ID3C4.5等。

    非终端节点是根节点和内部节点。终端节点是叶节点。每个非终端节点表示一个输入变量(x)和该变量上的分裂点叶节点表示输出变量(y)。该模型用于进行预测:漫游树的分裂以到达叶节点并输出叶节点处存在的值。

    3中的决策树根据他们的年龄和婚姻状况分类了一个人是否会购买跑车或小型货车。如果这个人超过30年,而且还没有结婚,我们走树的过程如下:超过30年?” - > - >'已婚? - >不。因此,该模型输出一个跑车。


    3:决策树的部分 资源

     
    4.
    朴素贝叶斯

    为了计算事件发生的概率,假设已经发生了另一事件,我们使用贝叶斯定理。为了计算给定某个变量值的结果的概率,也就是说,根据我们的先验知识(d)计算假设(h)为真的概率,我们使用贝叶斯定理如下:

    Ph | d=Pd | h* Ph))/ Pd

    哪里

    ·        Ph | d=后验概率。假设h为真的概率为给定数据d,其中Ph | d= Pd1 | h* Pd2 | h* ... * Pdn | h* Pd

    ·        Pd | h=可能性。给出假设h为真的数据d的概率。

    ·        Ph=类别先验概率。假设h的可能性为真(不考虑数据)

    ·        Pd=预测值先验概率。数据的可能性(与假设无关)

    这个算法被称为天真的,因为它假定所有的变量都是相互独立的,这是在现实世界中的例子,这是一个天真的假设。


    4:使用朴素贝叶斯使用变量'天气'预测'游戏'的状态。

    以图4为例,如果天气='晴天',结果如何?

    为了确定结果play ='yes''no',给定变量weather ='sunny'的值,计算P(是| sunny)和Pno | sunny),并选择结果的概率较高。

    - > P(是|晴天)=P(晴天|是)* P(是))/ P(晴天)

     =3/9 * 9/14/5/14

     = 0.60

     

    - > Pno | sunny=P(晴天)* Pno))/ P(晴天)

     =2/5 * 5/14/5/14

     = 0.40

    因此,如果天气='晴天',结果是play ='yes'

     
    5. KNN

    k最近邻算法使用整个数据集作为训练集,而不是将数据集分成训练集和测试集。

    当新的数据实例需要结果时,KNN算法遍历整个数据集,以找到新实例的k个最近的实例,或者与新记录最相似的k个实例,然后输出均值分类问题的结果(对于回归问题)或模式(最常见的分类)。k的值是用户指定的。

    实例之间的相似度使用欧几里德距离和汉明距离等度量来计算。

    Reena ShawKDnuggets

    V.无监督学习算法:

     
    6. Apriori

    Apriori算法用于事务数据库挖掘频繁项目集,然后生成关联规则。它在市场篮子分析中被广泛使用,其中检查在数据库中经常发生的产品组合。一般来说,我们写出如果一个人购买项目X,然后他购买项目Y'的关联规则为:X - > Y.

    例如:如果一个人购买牛奶和糖,那么他很可能会购买咖啡粉。这可以写成关联规则的形式:{牛奶,糖} - >咖啡粉。关联规则是在跨越支持和信心的门槛之后产生的。


    5:关联规则XY的支持度,置信度和提升的公式。资源

    支持度量有助于修剪在频繁项目集生成期间要考虑的候选项目集的数量。这一支持措施以Apriori原则为指导。Apriori原则规定,如果一个项目集合频繁,那么它的所有子集也必须频繁。

     
    7. K-means

    K-means是一种迭代算法,将类似数据分组为簇。它计算k个簇的质心,并将数据点分配给质心和数据点之间距离最小的簇。


    6K-means算法的步骤 资源

    步骤1k-means初始化:

    a)选择k的值。在这里,让我们取k = 3

    b)将每个数据点随机分配给3个群集中的任何一个。

    c)为每个集群计算集群质心。红色,蓝色和绿色星星表示3个星团中的每一个星团的质心。

    步骤2:将每个观察结果与群集相关联:

    将每个点重新分配到最近的集群质心。这里,高5个点被分配到具有蓝色质心的群集。按照相同的步骤将点分配给包含红色和绿色质心的群集。

    3步:重新计算质心:

    计算新簇的质心。旧的质心由灰色星星表示,而新的质心是红色,绿色和蓝色星星。

    4步:迭代,然后退出,如果不变。

    重复步骤2-3,直到没有从一个群集切换到另一个群集。一旦连续两个步骤没有切​​换,退出k-means算法。

     
    8. PCA

    主成分分析(PCA)用于通过减少变量的数量来使数据易于探索和可视化。这是通过将数据中的最大方差捕获到一个称为主要成分的轴上的新的坐标系来完成的。每个组件是原始变量的线性组合,并且彼此正交。组件之间的正交性表明这些组件之间的相关性为零。

    第一个主成分捕捉数据中最大变化的方向。第二个主要组件捕获数据中的剩余变量,但变量与第一个组件不相关。类似地,所有连续的主成分(PC3PC4等)在与前一个成分不相关的情况下捕获剩余的方差。


    73个原始变量(基因)被简化为2个称为主成分(PC)的新变量。资源

     

    VI。合奏学习技巧:

     
    合奏意味着通过投票或平均将多个学习者(分类器)的结果结合起来,以改善结果。在分类过程中使用投票,在回归过程中使用平均。这个想法是,学习者的合奏表现比单个学习者好。

    有三种类型的合成算法:BaggingBoostingStacking。我们不打算在这里覆盖堆叠,但是如果您想详细解释,请在下面的评论部分告诉我,我可以另外写一个博客。

     
    9.
    随机森林装袋

    随机森林(多个学习者)是对袋装决策树(单个学习者)的改进。

    装袋:装袋的第一步是创建多个模型,使用Bootstrap Sampling方法创建数据集。在Bootstrap Sampling中,每个生成的训练集由来自原始数据集的随机子样本组成。这些训练集中的每一个与原始数据集大小相同,但有些记录会重复多次,有些记录完全不会出现。然后,整个原始数据集被用作测试集。因此,如果原始数据集的大小为N,那么每个生成的训练集的大小也是N,唯一记录的数量约为(2N / 3)。测试集的大小也是N.

    装袋的第二步是在不同的生成的训练集上使用相同的算法创建多个模型。在这种情况下,让我们讨论随机森林。与决策树不同的是,每个节点被分割成最小化误差的最佳特征,在随机森林中,我们选择随机选择的特征来构建最佳分割。随机性的原因是:即使装袋,当决策树选择最佳特征来分裂时,它们最终具有相似的结构和相关的预测。但是,在对特征的一个随机子集进行分割之后的装袋意味着子树的预测之间的相关性较小。

    在每个分割点处要搜索的要素数被指定为随机森林算法的参数。

    因此,在用随机森林装袋时,每棵树都使用记录的随机样本构建,每个分割使用预测变量的随机样本构建。

     
    10.
    AdaBoost助力

    a)套袋是一个平行的集合,因为每个模型都是独立建立的。另一方面,boosting是一个连续的集合,其中每个模型是基于纠正前一个模型的错误分类而建立的。

    b)套袋大多涉及简单投票,每个分类器投票获得最终结果 - 一个由大多数并行模型确定提升包括加权投票,其中每个分类器投票获得由多数决定的最终结果 - 但是序贯模型是通过为以前模型的错误分类实例分配更大的权重而构建的。

    Adaboost代表Adaptive Boosting


    9:决策树的Adaboost 资源

    在图9中,步骤1,2,3涉及一个称为决策残缺的弱学习者(一个1级决策树,仅基于1个输入特征的值进行预测;一个决策树,其根部立即连接到其树叶)。构建弱学习者的过程一直持续到用户定义数量的弱学习者被构建或者直到训练时没有进一步的改进。步骤4结合了以前模型的3个决策树(在决策树中有3个分裂规则)。

    步骤1:从1个决策树桩开始,对1个输入变量做出决定:

    数据点的大小表明我们已经应用相同的权重将它们分类为一个圆或三角形。决策树桩在上半部分产生了一条水平线来分类这些点。我们可以看到有2个圆圈错误地预测为三角形。因此,我们将为这两个圈子分配更高的权重,并应用另一个决策树桩。

    步骤2:移动到另一个决策树树桩,以决定另一个输入变量:

    我们观察到,上一步的两个错误分类圈的大小大于其余点。现在,第二个决策树会试图正确预测这两个圆。

    作为分配更高权重的结果,这2个圆圈已经被左边的垂直线正确地分类。但是现在这导致了对顶部3个圈子的错误分类。因此,我们将在这三个圈子顶部分配更高的权重,并应用另一个决策树桩。

    步骤3:训练另一个决策树树桩来决定另一个输入变量。

    来自上一步的3个错误分类圈大于其余的数据点。现在,已经生成了一条垂直线,用于分类圆和三角形。

    第四步:结合决策树桩:

    我们已经组合了以前3个模型中的分隔符,并观察到与任何单个弱学习者相比,来自该模型的复杂规则将数据点正确分类。

     

    七。结论:

     
    回顾一下,我们了解到:

    1.      5个监督学习技术 - 线性回归,Logistic回归,CART,朴素贝叶斯,KNN

    2.      3种无监督学习技术 - AprioriK-meansPCA

    3.      2个合奏技巧 - 随机森林装袋,XGBoost助推。

    在我的下一篇博客中,我们将了解一种在Kaggle竞赛中变得风靡的技术 - XGBoost算法。

     

    展开全文
  • 机器学习算法集锦

    2017-02-20 22:52:42
    机器学习机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有...

    机器学习

    机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
    严格的定义:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机,电子计算机,中子计算机、光子计算机或神经计算机等等。

    机器学习概论

    这里写图片描述
    由上图所示:机器学习分为四大块: classification (分类)clustering (聚类), regression (回归), dimensionality reduction (降维)
    classification & regression
    举一个简单的例子:
    给定一个样本特征 x, 我们希望预测其对应的属性值 y, 如果 y 是离散的, 那么这就是一个分类问题,反之,如果 y 是连续的实数, 这就是一个回归问题。

    如果给定一组样本特征 S={x∈RD}, 我们没有对应的 y, 而是想发掘这组样本在 D 维空间的分布, 比如分析哪些样本靠的更近,哪些样本之间离得很远, 这就是属于聚类问题。

    如果我们想用维数更低的子空间来表示原来高维的特征空间, 那么这就是降维问题。
    无论是分类还是回归,都是想建立一个预测模型 H,给定一个输入 x, 可以得到一个输出 y:
    y=H(x)
    不同的只是在分类问题中, y 是离散的; 而在回归问题中 y 是连续的。所以总得来说,两种问题的学习算法都很类似。所以在这个图谱上,我们看到在分类问题中用到的学习算法,在回归问题中也能使用。分类问题最常用的学习算法包括 SVM (支持向量机) , SGD (随机梯度下降算法), Bayes (贝叶斯估计), Ensemble, KNN 等。而回归问题也能使用 SVR, SGD, Ensemble 等算法,以及其它线性回归算法。
    clustering
    聚类也是分析样本的属性, 有点类似classification, 不同的就是classification 在预测之前是知道 y 的范围, 或者说知道到底有几个类别, 而聚类是不知道属性的范围的。所以 classification 也常常被称为 supervised learning, 而clustering就被称为 unsupervised learning。
    clustering 事先不知道样本的属性范围,只能凭借样本在特征空间的分布来分析样本的属性。这种问题一般更复杂。而常用的算法包括 k-means (K-均值), GMM (高斯混合模型) 等。

    dimensionality reduction
    降维是机器学习另一个重要的领域, 降维有很多重要的应用, 特征的维数过高, 会增加训练的负担与存储空间, 降维就是希望去除特征的冗余, 用更加少的维数来表示特征. 降维算法最基础的就是PCA了, 后面的很多算法都是以PCA为基础演化而来。

    机器 学习常见算法

    机器学习领域涉及到很多的算法和模型,这里遴选一些常见的算法:

    • 正则化算法(Regularization Algorithms)
    • 集成算法(Ensemble Algorithms)
    • 决策树算法(Decision Tree Algorithm)
    • 回归(Regression)
    • 人工神经网络(Artificial Neural Network)
    • 深度学习(Deep Learning)
    • 支持向量机(Support Vector Machine)
    • 降维算法(Dimensionality Reduction Algorithms)
    • 聚类算法(Clustering Algorithms)
    • 基于实例的算法(Instance-based Algorithms)
    • 贝叶斯算法(Bayesian Algorithms)
    • 关联规则学习算法(Association Rule Learning Algorithms)
    • 图模型(Graphical Models)

    正则化算法(Regularization Algorithms)

    正则化算法是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。
    正则化中我们将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小θ(j))。这个方法非常有效,当我们有很多特征变量时,其中每一个变量都能对预测产生一点影响。
    算法实例:
    - 岭回归(Ridge Regression)
    - 最小绝对收缩与选择算子(LASSO)
    - GLASSO
    - 弹性网络(Elastic Net)
    - 最小角回归(Least-Angle Regression)
    详解链接:机器学习之正则化算法

    集成算法(Ensemble algorithms)

    集成方法是由多个较弱的模型集成模型组,其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。这类算法又称元算法(meta-algorithm)。最常见的集成思想有两种bagging和boosting。

    boosting
    基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器并集成。
    bagging
    基于数据随机重抽样的分类器构建方法。

    算法实例:

    • Boosting
    • Bootstrapped Aggregation(Bagging)
    • AdaBoost
    • 层叠泛化(Stacked Generalization)(blending)
    • 梯度推进机(Gradient Boosting Machines,GBM)
    • 梯度提升回归树(Gradient Boosted Regression Trees,GBRT)
    • 随机森林(Random Forest)
      总结:当先最先进的预测几乎都使用了算法集成。它比使用单个模型预测出来的结果要精确的多。但是该算法需要大量的维护工作。
      详细讲解:机器学习算法之集成算法

    决策树算法(Decision Tree Algorithm)

    决策树学习使用一个决策树作为一个预测模型,它将对一个 item(表征在分支上)观察所得映射成关于该 item 的目标值的结论(表征在叶子中)。
    决策树通过把实例从艮节点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对实例的某个属性的测试,并且该结点的每一个后继分支对应于该属性的一个可能值。分类实例的方法是从这棵树的根节点开始,测试这个结点的属性,然后按照给定实例的属性值对应的树枝向下移动。然后这个过程在以新结点的根的子树上重复。
    算法实例:
    - 分类和回归树(Classification and Regression Tree,CART)
    - Iterative Dichotomiser 3(ID3)
    - C4.5 和 C5.0(一种强大方法的两个不同版本)
    详解:机器学习算法之决策树算法

    回归(Regression)算法

    回归是用于估计两种变量之间关系的统计过程。当用于分析因变量和一个 多个自变量之间的关系时,该算法能提供很多建模和分析多个变量的技巧。具体一点说,回归分析可以帮助我们理解当任意一个自变量变化,另一个自变量不变时,因变量变化的典型值。最常见的是,回归分析能在给定自变量的条件下估计出因变量的条件期望。

    算法实例:

    • 普通最小二乘回归(Ordinary Least Squares Regression,OLSR)
    • 线性回归(Linear Regression)
    • 逻辑回归(Logistic Regression)
    • 逐步回归(Stepwise Regression)
    • 多元自适应回归样条(Multivariate Adaptive Regression Splines,MARS)
    • 本地散点平滑估计(Locally Estimated Scatterplot Smoothing,LOESS)

    回归算法详解:机器学习算法之回归算法

    人工神经网络

    人工神经网络是受生物神经网络启发而构建的算法模型。它是一种模式匹配,常被用于回归和分类问题,但拥有庞大的子域,由数百种算法和各类问题的变体组成。
    人工神经网络(ANN)提供了一种普遍而且实际的方法从样例中学习值为实数、离散值或向量函数。人工神经网络由一系列简单的单元相互连接构成,其中每个单元有一定数量的实值输入,并产生单一的实值输出。
    算法实例:

    • 感知器
    • 反向传播
    • Hopfield 网络
    • 径向基函数网络(Radial Basis Function Network,RBFN)

    详细链接:机器学习算法之人工神经网络

    深度学习(Deep Learning)

    深度学习是人工神经网络的最新分支,它受益于当代硬件的快速发展。
    众多研究者目前的方向主要集中于构建更大、更复杂的神经网络,目前有许多方法正在聚焦半监督学习问题,其中用于训练的大数据集只包含很少的标记。

    算法实例:

    • 深玻耳兹曼机(Deep Boltzmann Machine,DBM)
    • Deep Belief Networks(DBN)
    • 卷积神经网络(CNN)
    • Stacked Auto-Encoders

    深度学习详解:机器学习算法之深度学习

    支持向量机(Support Vector Machines)

    支持向量机是一种监督式学习 (Supervised Learning)的方法,主要用在统计分类 (Classification)问题和回归分析 (Regression)问题上。支持向量机属于一般化线性分类器,也可以被认为是提克洛夫规范化(Tikhonov Regularization)方法的一个特例。这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器。现在多简称为SVM。
    给定一组训练事例,其中每个事例都属于两个类别中的一个,支持向量机(SVM)训练算法可以在被输入新的事例后将其分类到两个类别中的一个,使自身成为非概率二进制线性分类器。
    SVM 模型将训练事例表示为空间中的点,它们被映射到一幅图中,由一条明确的、尽可能宽的间隔分开以区分两个类别。

    算法详解:机器学习算法之支持向量机

    降维算法(Dimensionality Reduction Algorithms)

    所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。
    这一算法可用于可视化高维数据或简化接下来可用于监督学习中的数据。许多这样的方法可针对分类和回归的使用进行调整。

    算法实例:

    • 主成分分析(Principal Component Analysis (PCA))
    • 主成分回归(Principal Component Regression (PCR))
    • 偏最小二乘回归(Partial Least Squares Regression (PLSR))
    • Sammon 映射(Sammon Mapping)
    • 多维尺度变换(Multidimensional Scaling (MDS))
    • 投影寻踪(Projection Pursuit)
    • 线性判别分析(Linear Discriminant Analysis (LDA))
    • 混合判别分析(Mixture Discriminant Analysis (MDA))
    • 二次判别分析(Quadratic Discriminant Analysis (QDA))
    • 灵活判别分析(Flexible Discriminant Analysis (FDA))

    详解链接:降维算法

    聚类算法(Clustering Algorithms)

    聚类算法是指对一组目标进行分类,属于同一组(亦即一个类,cluster)的目标被划分在一组中,与其他组目标相比,同一组目标更加彼此相似。
    优点是让数据变得有意义,缺点是结果难以解读,针对不同的数据组,结果可能无用。
    算法实例:

    • K-均值(k-Means)
    • k-Medians 算法
    • Expectation Maximi 封层 ation (EM)
    • 最大期望算法(EM)
    • 分层集群(Hierarchical Clstering)

    聚类算法详解:机器学习算法之聚类算法

    贝叶斯算法(Bayesian Algorithms)

    贝叶斯定理(英语:Bayes’ theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关。在有些关于概率的解说中,贝叶斯定理(贝叶斯更新)能够告知我们如何利用新证据修改已有的看法。贝叶斯方法是指明确应用了贝叶斯定理来解决如分类和回归等问题的方法。

    算法实例:

    • 朴素贝叶斯(Naive Bayes)
    • 高斯朴素贝叶斯(Gaussian Naive Bayes)
    • 多项式朴素贝叶斯(Multinomial Naive Bayes)
    • 平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))
    • 贝叶斯信念网络(Bayesian Belief Network (BBN))
    • 贝叶斯网络(Bayesian Network (BN))

    贝叶斯算法链接:贝叶斯算法详解

    关联规则学习算法(Association Rule Learning Algorithms)

    关联规则学习方法能够提取出对数据中的变量之间的关系的最佳解释。比如说一家超市的销售数据中存在规则 {洋葱,土豆}=> {汉堡},那说明当一位客户同时购买了洋葱和土豆的时候,他很有可能还会购买汉堡肉。有点类似于联想算法。

    算法实例:

    • Apriori 算法(Apriori algorithm)
    • Eclat 算法(Eclat algorithm)
    • FP-growth

    关联规则学习算法:关联规则学习算法

    图模型(Graphical Models)

    图模型(GraphicalModels)在概率论与图论之间建立起了联姻关系。它提供了一种自然工具来处理应用数学与工程中的两类问题——不确定性(Uncertainty)和复杂性(Complexity)问 题,特别是在机器学习算法的分析与设计中扮演着重要角色。图模型的基本理念是模块化的思想,复杂系统是通过组合简单系统建构的。概率论提供了一种粘合剂使 系统的各个部分组合在一起,确保系统作为整体的持续一致性,提供了多种数据接口模型方法。

    图模型或概率图模型(PGM/probabilistic graphical model)是一种概率模型,一个图(graph)可以通过其表示随机变量之间的条件依赖结构(conditional dependence structure)。

    算法实例:

    • 贝叶斯网络(Bayesian network)
    • 马尔可夫随机域(Markov random field)
    • 链图(Chain Graphs)
    • 祖先图(Ancestral graph)

    图模型详解:机器学习算法之图模型

    参考:
    机器学习10大算法
    机器学习斯坦福公开课

    展开全文
  • 1、 DT:决策树(Decision Tree) 决策树,是树形结构,通过树形结构将各种情况组合都表示出来,每次分割的时候,都将当前的空间一分为二,简单来说就是每个分支进行一次Yes 或 No 的...用决策树可以这样去设计算法

    1、 DT:决策树(Decision Tree)

    决策树,是树形结构,通过树形结构将各种情况组合都表示出来,每次分割的时候,都将当前的空间一分为二,简单来说就是每个分支进行一次Yes 或 No 的选择,直到所有选择都进行完毕,最终给出正确答案。

    示例:

    比如希望根据一个人的性别、年龄、身高和收入来判断,是否要考虑跟他相亲。用决策树可以这样去设计算法:


    优点:

    ¬ 计算复杂度不高, 能同时处理数据和分类,在相对短的时间内能够对大数据集合做出可行且效果良好的分类结果

    ¬ 是一个白盒模型,根据决策树很容易推断出相应的逻辑表达式;

    缺点:

    ¬ 忽略了数据集中属性之间的相关性

    ¬ 对噪声数据较为敏感

    ¬ 容易出现过拟合问题(为了得到一致假设而使假设变得过度严格称为过拟合,简单来理解就是模型设定的条件过于严格苛刻)

    2、 RF:随机森林(Random Forest)

    随机机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。

    示例:

    a、 假设决策树有三个,出现的结果依次是下方的 S1、S2、S3区域那么决策树出来的结果即为 M 区域。


    b、 如下图,假设决策树三个,出现的结果是两个 A 类,1个 B 类,那么决策树的结果则为 A 类。比如依次是这样:


    决策树算法出来的结果就是考虑。

    优点:

    ¬ 能够处理很高维度(feature很多)的数据,并且不用做特征选择

    ¬ 训练时树与树之间是相互独立的,训练速度快,并且可并行

    ¬ 实现比较简单

    ¬ 如果有很大一部分的特征遗失,仍可以维持准确度。

    缺点:

    ¬ 和决策树方法一样,在某些问题上可能出现过拟合

    ¬ 属性的数据有不同取值时,取值划分较多的属性会对随机森林产生更大的影响

    3、 LR:逻辑回归(Logistic Regression)

    逻辑回归,是分类和预测算法中的一种。通过历史数据的表现对未来结果发生的概率进行预测。

    常用的一个公式


    示例:

    一门考试之前学生的复习时间与这个学生最后是否Pass这门考试的数据:


    通过这些数据,利用逻辑回归算法进行模型训练,可以得到最终的模型结果是这个样子:


    这样,给出任何复习时间,就可以预测出是否通过的概率


    优点:

    ¬ 速度快,适合二分类问题

    ¬ 简单易于理解,直接看到各个特征的权重

    ¬ 能容易地更新模型吸收新的数据

    缺点:

    ¬ 对数据和场景的适应能力有局限性,不如决策树算法适应性那么强

    4、 NBM:朴素贝叶斯分类器(Naive Bayesian Model)

    朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。

    应用场景很多,典型如邮件处理,标记一个电子邮件是否为垃圾邮件, Gmail就是使用的这个算法,判断一篇新闻文章是技术类、政治类或体育类,检查一段文字表达积极的情绪,或消极的情绪。

    示例:

    给一段文字,返回情感分类,这段文字的态度是positive,还是negative。



    这段文字,将转化为一些典型的单词来代表,每个单词分别定义了他的分数或者概率。



    假设单词great在positive 的情况下出现的分数是2,在negative的情况下出现的分数是0.1。love在positive 的情况下出现的分数是2,在negative的情况下出现的分数是0.1。



    again在positive 的情况下出现的分数是1,在negative的情况下出现的概率是1。

    整体计算这句话里典型单词的分数和概率是多少,从而判断这句话是属于正面积极向上的,还是负面消极懈怠的。

    优点:

    ¬ 基于概率公式,数学基础坚实,分类效率稳定

    ¬ 没有复杂的计算规则,适用于规模巨大的数据集

    缺点:

    ¬ 属性之间的独立性假设往往不完全存在

    ¬ 需要知道先验概率,分类决策存在错误率

    5、 KNN:K最近邻(K-NearestNeighbor)

    K最近邻法,是一种惰性分类方法,从训练集中找出K个最接近测试对象的训练对象,再从这K个训练对象中找出居于主导的类别,将其赋给测试对象。通俗上来说就以物以类聚的思路,给一个新的数据时,离它最近的 K个点中,哪个类别多,这个数据就属于哪一类。

    示例:

    如图所示,假设需要判断问号的这个是什么颜色。


    假设设定 K=3,那么机器识别出来他为红色,因为距问号图形距离为3的范围内,红色数目为2,蓝色数目为1。

    假设设定K=5,那么机器会识别出来他为蓝色,因为距问号图形距离为5的范围内,红色苏沪为2,蓝色数目为3。

    而实际上这个颜色属于绿色。

    优点:

    ¬ 简单,容易理解和实现

    ¬ 重新训练的代价较低(类别体系的变化和训练集的变化)

    ¬ 适合处理多模分类和多标签分类问题

    ¬ 对于类域的交叉或重叠较多的待分类样本集较为适合

    缺点:

    ¬ 比积极学习的算法要慢

    ¬ 对于样本不平衡的数据集效果不佳

    ¬ k值的选择对分类效果有很大影响,k 值较小的话对噪声敏感,需要找最佳 K 值

    ¬ 可解释性不强,计算量大。

    展开全文
  • 机器学习常见算法

    2018-08-21 21:47:27
    线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。 由于预测建模主要关注最小化模型的误差,或者以可解释性为代价来做出最准确的预测。 我们会从许多不同领域借用、重用和盗用算法,其中涉及一些...
  • 对最常见的机器学习算法做一点点简单的总结,嫌麻烦公式就不贴了,这里有我字很丑的听课笔记,无关人员请撤离… LR与SVM的异同 相同点:逻辑回归和SVM都是有监督学习,本质都是线性分类判别模型。 不同点: (1)...
  • 其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,...对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题...
  • 机器学习十大算法

    2018-08-18 09:26:05
    机器学习十大算法 http://www.52cs.org/?p=1835   作者 James Le ,译者 尚剑 , 本文转载自infoQ 毫无疑问,机器学习/人工智能的子领域在过去几年越来越受欢迎。目前大数据在科技行业已经炙手可热,而...
  • 摘要之前一直对机器学习很感兴趣,一直没时间去研究,今天刚好是...这里IT经理网为您总结一下常见的机器学习算法,以供您在工作和学习参考。 机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有
  • 我们先带着大家过一遍传统机器学习算法,基本思想和用途。把问题解决思路和方法应用建议提前到这里的想法也很简单,希望能提前给大家一些小建议,对于某些容易出错的地方也先给大家打个预防针,这样在理解后续相应...
  • 本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。  机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家...
  • 学习了一个学期机器学习算法,从什么都不懂到对十个机器学习算法有一定的了解,下面总结一下十大机器学习算法,从算法的概念、原理、优点、缺点、应用等方面来总结,如果有错误的地方,欢迎指出。 目录 1.决策树...
  • 机器学习算法 类型 缩写 全称 中文名称 分类 NN Neural Network 神经网络   Decision Tree 决策树 SVM Support Vector Machine 支持向量机   XGBoost XGBoost RF...
  • 机器学习核心算法实战培训课程概况:本教程以当下人工智能核心模块机器学习为出发点,进行机器学习的学习,对其中经典的机器学习算法进行原理推导与案例实战,旨在帮助同学们掌握机器学习的核心算法并进行建模...
  • 统计机器学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计机器学习通过对已知数据构建模型,从而完成对...统计机器学习方法的三要素就是:模型、策略和算法。 机器学...
  • 用一个形象的例子讲解大数据生态机器学习,并按照传统机器学习(包括分类、聚类、回归、关联规则、协同过滤、数据降维等)、深度学习,以及其他机器学习(迁移学习、主动学习、演化学习)进行算法讲解。...
  • 雷锋网按:机器学习与人工智能变得越来越热。大数据原本在工业界就已经炙手可热,而基于大数据的机器学习则更加流行,...跟我们生活息息相关的最常见机器学习算法包括电影推荐算法、图书推荐算法。这些算法都是基
  • 写这篇文章的目的,就是希望它可以让有志于从事数据科学和机器...我也会写下对于各种机器学习算法的一些个人理解,并且提供R和Python的执行代码。读完这篇文章,读者们至少可以行动起来亲手试试写一个机器学习的程序。
  • 机器学习算法之分类

    2018-05-24 19:35:32
    机器学习算法是一类能从数据自动分析获得规律,并利用规律对未知数据进行预测的算法 [1]。机器学习(Machine Learning)是人工智能(AI)很重要的一部分,因为在目前的实践过程,大多数人工智能问题是由机...
1 2 3 4 5 ... 20
收藏数 370,526
精华内容 148,210