十大机器学习算法----下篇

来源:互联网 发布:知乎辩护人一样的电影 编辑:程序博客网 时间:2024/06/08 12:35

十大机器学习算法----下篇

声明:此博客写的机器学习十大常用算法是一个感性的理解,本人研究了一天,总结了许多的网络资料,以一种简单的图解快速理解这些算法,里面没有公式的推导,想看推导的请绕行,这是下篇,上篇还有5个算法,上篇地址机器学习十大常用算法----上篇

朴素贝叶斯

假设特征之间是独立,互不影响,对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别
最常见应用场景:文本分类/垃圾文本过滤/情感判别。举个在 NLP(自然语言处理) 的应用,给一段文字,返回情感分类,这段文字的态度是positive,还是negative

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

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

使用训练好的模型,计算函数C(pos或者neg)条件下每个单词的条件概率,最后累积,比较最后的结果,从而判断评论是积极的还是否定的

k-nearest neighbours (KNN  k邻近)    

三要素:(a)距离度量  (b)k值的选择   (c)分类决策规则
距离度量:假定特征空间X是M维实向量空间:
任意两个样本的特征向量记为:xi=(xi,1,...,xi,m,...,xi,M)T, xj=(xj,1,...,xj,m,...,xj,M)T
xi与xj之间的距离定义为

p=1,就是曼哈顿距离,又叫1范数
p=2,就是欧式距离,又叫2范数
p=无穷,就是无穷距离,又叫无穷范数
k值选择:假设有三个已知分类,判别五角星属于哪种分类

分类决策

Adaboost(Adaptive Boosting自适应增强)

Adaboost 是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器

   

adaboost的两个特性:
一是训练的错误率上界,随着迭代次数的增加,会逐渐下降;
二是adaboost算法即使训练次数很多,也不会出现过拟合的问题

Neural Networks(神经网络) 

这个就不多说了。典型的结构输入层、隐藏层、输出层。常见的有DNN、CNN、RNN等

马尔可夫链(Markov Chains) 

在随机过程中,每个语言符号的出现概率不相互独立,每个随机试验的当前状态依赖于此前状态而与过去无关,这种链就是马尔可夫链。由 state 和 transitions Probabilities组成 ;

序列分类器是给序列中的某个单元指派类或者标号的模型。马尔可夫模型(又叫显马尔可夫模型VMM)和隐马尔可夫模型(HMM)都是序列分类器
这种已知“现在”的条件下,“将来”与“过去”独立的特性称为马尔可夫性,具有这种性质的随机过程叫做马尔可夫过程
它是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域
HMM:如下有三种骰子,六面体、四面体和八面体,每次挑选一种掷,你能看见一串数字结果(可见状态链),其实还有一串隐藏链,骰子的序列。例如可见状态1635273524,隐含状态链有可能是:D6 D8 D8 D6 D4 D8 D6 D6 D4 D8,如果知道所有隐含状态之间的转换概率和所有隐含状态到所有可见状态之间的输出概率,模型是很好做出来的。在自然语言处理(NLP)中得到广泛的应用


VMM:每一个状态都是可观察的序列,是状态关于时间的随机过程,也成为可视马尔可夫模型


参考文献

轻松看懂机器学习十大常用算法 http://blog.jobbole.com/108395/

Boosting算法简介 http://baidutech.blog.51cto.com/4114344/743809/
浅谈 Adaboost 算法 http://blog.csdn.net/haidao2009/article/details/7514787#reply
一文搞懂HMM(隐马尔可夫模型) http://www.cnblogs.com/skyme/p/4651331.html

原创粉丝点击