Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180440
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 18:51
个人简介

大数据算法,分布式技术,spark技术爱好者

文章分类

全部博文(29)

文章存档

2015年(4)

2014年(3)

2013年(22)

分类: 信息化

2014-04-02 17:41:14

机器学习的基本分类模型:
KNN,决策树,naive bayes,逻辑回归,SVM,adaboost

KNN:一种直接的学习方法,通过相似的近邻投票分类。模型不确定性有三:距离度量(相似性度量),特征权重分配,投票权重。不确定性因素很多,非常依赖训练和经验,容易发生过拟合,因为参数太多。但简单直接的方法,有时候是有奇效。在某个维度下相似性是大部分事物分类的通用规则,所以KNN做的好,可以解决很多问题。而关键是要理解真实世界的模型往往并不复杂。人为参与量越少越好。

决策树:决策树ID3算法用信息增益来判断分支条件。保证分类后信息增益最大。很多真实世界模型都很接近于此,决策树更重要的是对特征重要性进行排序。其实特征重要性是由目标分类定的,和目标分类相关性大的特征会提供较大的信息增益。但如果目标分类本身就不是可解释的,就是很复杂,很多人为限制,则特征也没有什么推广性。对于复杂的人为构建的模型,要抽象出本质的模式,再提取特征。

naive bayes:基于bayes的假设,链式法则简化后,只需要训练一阶先验概率,但仍然需要大量的样本进行训练,很容易过拟合。并且要求特征独立且权重一样。这些假设往往是不正确的。实现的时候注意处理连乘下溢出的问题,并平滑掉0概率。一般会使用其拓展:bayes网络,一种markov链的扩展。在计算贝叶斯网络概率,并分类的时候,和HMM一样,是有一个动态规划算法加速的。

逻辑回归:判别模型的鼻祖。从逻辑回归开始,我们开始了判别模型的学习。逻辑回归利用阶跃函数把连续的回归函数映射分类。符合人类对事物直观的理解。回归的方法本来就有很多变形,核心就是一个目标函数的优化。(X^TX)^-1和w成反比,调整目标函数,可以实现很多种对回归方程的优化,如岭回归,局部回归,lesso等。在回归的时候平衡模型的bias和variance。

SVM:其实和逻辑回归类似,目标函数不同。同时加入了核函数和松弛边界。比较通用的方法。即使样本很少也可以得到比较通用的分类模型。SVM的成功之处在于,抓住了分类问题非常核心的特点:支持向量。其实大部分的信息是在支持向量中。然后衍生出了新的目标函数。用laglange算子求解。求解方法也非常巧妙。

adaboost:
bagging方法每次训练的样本分布是一样的。而adaboost根据模型准确率调整样本的权重,最后根据准确率组合多个模型。可以把week learner组合起来,达到很高的分类准确度。可以和各种方法结合使用。

分类只是方法论,并不是世界观,特征的选择才是最重要的,优化特征其实是我们最需要的。根据真实世界的模型,抽象出独立有效地特征,特征的选择既是技术,也是艺术。

可以用来做特征选择的方法如下:
adboost(特征二分器,根据权重) 信息增益 岭回归图  pca lesso 卡方 等

在特征选择前去噪也是非常关键的。去掉模式化的噪音。

阅读(4968) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~