本文通俗易懂的简单讲解了机器学习常用算法的基本原理,从整体上对各个算法有一个大致的了解,至于每个算法的原理实现以及用法,各路大神已经写得非常的详细了。本人在整理的过程中也加入了很多自己的理解,有不对的地方请各位大神批评指正。(本文的图片取自周志华老师的西瓜书)
一、有监督篇:
1 逻辑回归(Logistic Regression):
将线性回归的结果通过sigmoid函数映射到了(0,1)区间,可以当做是正例的概率,从而实现分类。不能实现回归。
2 决策树(Decision Tree):
决策树是一种递归的选择最优特征,然后根据最优特征分割数据集,使得各个子集都有一个最好的分类。回归则是通过最小二乘法来实现。不同的算法有不同的分类依据:
算法 | ID3 | C4.5 | CART |
---|---|---|---|
分类依据 | 信息增益 | 信息增益率 | 基尼(gini) |
3 K近邻(K-Nearest Neighbor):
用距离该样本最近的K(奇数)个点的标签投票,得到该样本的标签。回归则是使用最近K个点的均值。
4 朴素贝叶斯(Naive Bayes):
前提假设特征之间相互独立,由训练集可以得到X的先验概率P(x),类别c的先验概率P( c ),已知c发生的情况下x的条件概率P(x|c)。
(由于特征x之间相互独立,就可以转化成最右边的样子)
就可以通过贝叶斯公式计算出已知x发生的情况下类别c的条件概率从而实现分类,朴素贝叶斯不能实现回归。
5 支持向量机(Support Vector Machine):
1)分类(SVC):是寻找一个最优分割平面将样本分开。线性可分是指分割面将样本完全干净分类,而有时候完全分类并不是整体的最优分割方式,于是就有了线性支持,可以容忍个别点在分割面的另一侧。线性不可分的时候,需要引入核函数,将低维不可分样本映射至新的高维特征空间,实现核空间可分。相当于一张纸上正例样本把负例样本围了一圈ÿ