机器学习:各算法小结(3)

将最近接触的几个机器学习算法小结一下,顺便理理自己的思路。

近年来在机器学习的研究中,对算法的创新主要是在原有的基础上,通过结合不同算法的优点,得到一种更有效的算法,如结合遗传算法的决策树、结合自助法boot-strap诞生的决策树随机森林等。我最近了解的主要是基础算法,然后接触了一些新的算法理念。主要了解了:监督学习的KNN,决策树,支持向量机,神经网络,非监督学习的系统聚类,k-means;以及一些辅助算法或分析如:EM思想,主成分分析、因子分析等。

 

一、

监督学习是在知道训练数据X的目标Y下进行的。

KNN(k最近邻)是最简单的监督学习算法之一,他是惰性学习(lazy learning)的典型代表,一开始不训练模型,只保存训练数据样本点,在需要对数据进行预测时,计算输入数据与训练数据各样本点间的距离,选取其中最近的k个样本点,根据样本点所属的分类来加权得到自己所属的类别,权重一般为距离的倒数。KNN的算法很简单,而且分类准确性还挺高的。但是缺点也很明显

①每次都需要计算跟所有样本点的距离,所以当数据量过于庞大时,速度会非常慢,这是惰性学习的缺点。

②当样本点存在范围重叠时,分类效果会变得特别不好。

针对这2个缺点,改进的方法主要有剪辑近邻法,将不同类别交界处的样本进行适当筛选,去掉类别混杂的样本,让边界更清晰。这样做的话,既可以缩减样本量,也可以让分类准确性得到提高,步骤主要如下:

①数据分为参照集(Reference)和训练集(Train)

②利用参照集使用KNN算法对训练集中的数据进行预测

③若预测的类别跟其原来所属的类别不一样(说明该样本点很大可能处在两类别的交界处),则将该样本点从训练集中剔除

④获得最终剪辑后的训练集,剪辑样本集TE

 

KNN算法还有一个要点就是对于K值的选取,如下面这个经典的图:


当K为1,3,5时,中间的绿圆点所属的类别都会有差别,所以究竟要选取多大的K值,决定了模型对实际样本预测的准确度。一种最常用的方法是设立验证数据,分别选用不同的k值,得到其对验证数据的分类误差率,综合评价选取分类效果最好的K值,k值一般为2~10或实例个数的平方根。

 

综合来说,KNN不用建立模型,适用于小样本,还有那些不能一次性获得所有数据的情况,而且其对已分好类的数据是百分百正确的,没有信息损失,其他诸如回归拟合,即使对于已知类别的训练数据,仍然存在偏差,信息损失。

 

决策树。决策树的树状图易于理解,应用范围相当广范,顾名思义经常用来辅助决策,已经不能简单的称作分类器了。对于决策树的介绍可以看看我的这篇博文:http://blog.csdn.net/databatman/article/details/49406727。这里就简单说下大概,决策树的话现在主要有ID3,C4.5,CART三种版本,其实都是一个东西,只是增加了些小功能,如支持对连续数据进行分类,采用信息增益率结合信息增益,加入了后期对树枝的剪辑功能等,其实本质上都是决策树,只是性能一代代更优而已。如下长这个样子:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值