经典机器学习算法总结

1决策树算法

算法原理:1.决策树是一个预测模型,它代表的属性对象与属性值之间的一种映射关系。2.决策树是一种树形结构,内部节点表示每个属性上的测试,每个分支代表一种测试输出,叶节点代表一种类别。3.决策树是一种监督学习方法,用于分类问题

应用场景:1.实例是属性-值对表示的;2.可能需要析取描述;3.训练数据可以包含错误值;4.训练数据可以包含缺失值;5.目标函数具有离散的输出值

问题举例:1.根据疾病分类患者;2.根据起因分类设备故障;3.根据拖欠支付的可能性分类贷款申请

优缺点:优点:1.简单,易于解释;2.可以应用于离散和非数值型同时处理数据型和常规型数据;3.可以清晰的解释哪些属性比较重要;4.对噪声有很好的健壮性且能学习析取表达式;5.数据的准备往往是简单或者不必要的

缺点:1.对连续性的数值比较难预测;2.对有时间顺序的数据,需要很多的预处理工作;3.对于类别太多时,错误可能就会增加的比较快。

ID3算法:

以信息论为基础,以信息熵和信息增益为度量标准,进行决策树的构造。信息熵:刻画了任意样例集的纯度,熵越大,不确定性越大;信息增益:一个属性的信息增益就是由于使用了这个属性分割样例而导致的熵降低的多少。

信息熵:

信息增益:

C4.5

是对ID3算法不能处理连续值的改进,引入信息增益率来选择属性,引入剪枝(为了防止噪声数据引起的过拟合)

2.SVM

算法原理:svm使用一种非线性映射,把原训练数据映射到高维(核函数:能够将两个低维空间的向量,计算出经过某个变换后在高维空间的向量内积值),寻找最大分类间隔平面,两个类的数据总可以被超平面分开

特性:小样本,非线性,低维不可分

应用场景:文本分类,图像处理,生物信息技术,手写字体识别

优缺点:优点:1.可用于线性/非线性分类,也可用于回归;2.低泛化误差;3.容易解释;4.计算复杂度较低

缺点:1.对大规模数据难以实施,对参数和核函数的选择比较敏感;2.用svm解决多分类问题存在困难

弥补办法:方案一:一类对余类法(One versus rest,OVR)

构造类别数k个的二元分类器

训练时第i个分类机取训练集中第i类为正类,其余类别点为负类

判别时,输入信号分别经过k个分类器输出

优点

每个优化问题的规模比较小,而且分类的时候速度很快

缺点

分类重叠 & 不可分类 & 人为的数据偏斜

方案二:一对一

  • 该方法在每两类问训练一个分类器,因此对于一个k类问题,将有k(k-1)/2个分类器
  • 优点

–      避免了数据偏斜

–      训练阶段(也就是算出这些分类器的分类平面时)所用的总时间却比“OVR”方法少很多

–      投票时也会有分类重叠的现象,但不会有不可分类现象

  • 缺点

–      类别数为5的时候,我们调用了10个分类器,类别数如果是1000,要调用的分类器数目会上升至约500,000个(但是时间上可能OVO还是比OVR少,因为考虑的样本数少)

3.PageRank

产生背景:google对搜索网页重要性排序

不评价---à基于检索词的评价(和检索词匹配度越高的页面越重要)(Term Spam)----àPageRank

算法原理:对于某个网页A来说,该网页的PageRank的值的计算基于两个假设:1.数量假设:指向这个A的网页的数量越多,A越重要;2.质量假设:指向A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。

过程:1.初始阶段:每个页面会被分配一个初始的pr值,经过更新计算,每个页面得到最终的pr值。随着每一轮计算的进行,pr值会不断得到更新。2.在一轮中更新pr值得计算方法:

每个页面将其当前的pr值平均分配到他所有的出链中,每个页面将其所有的入链的pr值相加得到当前的pr值。每个页面都得到了新的pr值以后,就完成了一轮计算。

迭代递归计算,直到pr值稳定为止。

处理dead ends:迭代拿掉dead ends及其边,然后计算剩下的pr值,然后按照拿掉dead ends的逆向顺序反推dead ends的pr.

Spider trap :内链,指向自己,随着计算pr值会接近1,其余的接近0.

解决方法:加入teleporting(用户以一个概率转移到一个随机页面)

目前为止,主题无关的,例子输入苹果(水果,iphone)

解决:1.话题分类(DMOZ参考标准)

2.网页topic归属

3.分topic向量计算

在Topic-Sensitive PageRank中,向量迭代公式为

v′=(1−β)Mv+|s|

首先是单位向量e变为了s。s是这样一个向量:对于某topic的s,如果网页k在此topic中,则s中第k个元素为1,否则为0。注意对于每一个topic都有一个不同的s。而|s|表示s中1的数量。

4.确定用户topic倾向

Link spam:解决办法:网页拓扑分析

TrustRank:找一些可信网页(没法spam的网页),比如政府的等等,如果一个普通页面的pr值比可信网页的还要高,就有可能被spam了。

优点:离线计算,缩短用户响应时间

4.DBSCAN

思想:基于一个事实,一个聚类可以由其中的任何核心对象唯一确定(如果给定对象 邻域内的样本点数大于等于MinPts,则称该对象为核心对象)

 扫描整个数据集,找到任意一个核心点,对该核心点进行扩充。扩充的方法是寻找从该核心点出发的所有密度相连的数据点(注意是密度相连)。遍历该核心点的邻域内的所有核心点(因为边界点是无法扩充的),寻找与这些数据点密度相连的点,直到没有可以扩充的数据点为止。最后聚类成的簇的边界节点都是非核心数据点。之后就是重新扫描数据集(不包括之前寻找到的簇中的任何数据点),寻找没有被聚类的核心点,再重复上面的步骤,对该核心点进行扩充直到数据集中没有新的核心点为止。数据集中没有包含在任何簇中的数据点就构成异常点。

 

DBSCAN算法的目的在于过滤低密度区域,发现稠密度样本点。跟传统的基于层次的聚类和划分聚类的凸形聚类簇不同,该算法可以发现任意形状的聚类簇,与传统的算法相比它有如下优点:

(1)与K-MEANS比较起来,不需要输入要划分的聚类个数;

(2)聚类簇的形状没有偏倚;

(3)可以在需要时输入过滤噪声的参数;

时间: 2024-11-09 10:09:44

经典机器学习算法总结的相关文章

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

图解十大经典机器学习算法 弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分.以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术. 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力. 图1 智能手机上的相关应用 传统的机器学习算法包括决策树.聚类.贝叶斯分类.支持向量机.EM.Adaboost等等.这篇文章将对常用算法做常识性的介绍,没有代码,也没有复杂的理论推导,就是图解一下,知道这些算法是

详解十大经典机器学习算法——EM算法

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第14篇文章,我们来聊聊大名鼎鼎的EM算法. EM算法的英文全称是Expectation-maximization algorithm,即最大期望算法,或者是期望最大化算法.EM算法号称是十大机器学习算法之一,听这个名头就知道它非同凡响.我看过许多博客和资料,但是少有资料能够将这个算法的来龙去脉以及推导的细节全部都讲清楚,所以我今天博览各家所长,试着尽可能地将它讲得清楚明白. 从本质上来说EM算法是最大似然估计方法的

转:图解十大经典机器学习算法入门

原文:https://blog.csdn.net/jrunw/article/details/79205322 弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分.以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术. 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力. 图1 智能手机上的相关应用 传统的机器学习算法包括决策树.聚类.贝叶斯分类.支持向量机.EM.Adaboost等等.这篇文章将

机器学习---基础----图解十大经典机器学习算法入门

转自:https://blog.csdn.net/jrunw/article/details/79205322 弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分.以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术. 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力. 图1 智能手机上的相关应用 传统的机器学习算法包括决策树.聚类.贝叶斯分类.支持向量机.EM.Adaboost等等.这篇文章将

几种经典机器学习算法的比较

Quaro上的问答,我感觉回答的非常好! What are the advantages of different classification algorithms? For instance, if we have large training data set with approx more than 10000 instances and more than 100000 features ,then which classifier will be best to choose to

经典的十个机器学习算法

1.C4.5 机器学习中,决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的 属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值.决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输 出. 从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树. 决策树学习也是数据挖掘中一个普通的方法.在这里,每个决策树都表述了一种树型结构,他由他的分支来对该类型的对象依靠属性进行分类.每

机器学习系列(9)_机器学习算法一览(附Python和R代码)

本文资源翻译@酒酒Angie:伊利诺伊大学香槟分校统计学同学,大四在读,即将开始计算机的研究生学习.希望认识更多喜欢大数据和机器学习的朋友,互相交流学习. 内容校正调整:寒小阳 && 龙心尘 时间:2016年4月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51191386 http://blog.csdn.net/longxinchen_ml/article/details/51192086 声明:版权所有,转载请联系作者并注

【转】常见面试之机器学习算法思想简单梳理

转:http://www.chinakdd.com/article-oyU85v018dQL0Iu.html 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

http://www.cnblogs.com/tornadomeet/p/3395593.html 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大.