(部分内容参考自其它 blog,见下面引用)
1. 机器学习 Machine Learning
Gives the computers the ability to learnwithout being explicitly programmed.
2. 监督学习Supervise Learning
根据一组x人为给定对应的y,之后,当给新的一个X,程序能自行预估出对应的估算Y。又称有老师学习。而人为给定的x, y就是训练数据。这里的x是输入,y是输出, 中i表示第i个training data.
一个例子是无人驾驶。司机开车,仪器拍摄路面并抽象出路径,然后学习路径(x)与方向盘转动程度(y)的关系,一段时间后,车辆就能在新的路面上(X),程序自动控制方向盘转动(Y)驾驶。
Reference: Andrew Ng - Machine Learning Course
3. 训练数据、验证数据、测试数据
训练数据(Training Data):用于模型构建,由已知推测未来
验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。
4. 分类Classification
“这个东西被分为某类”。
理想情况下,一个 classifier会从训练集中进行“学习”,从而具备对未知数据进行分类的能力,提供训练数据的过程通常叫做 supervised learning (监督学习)
常用算法包括:决策树,朴素贝叶斯(native Bayesian classifier)、基于支持向量机(SVM)的分类器, k-最近邻法(k-nearest neighbor,kNN)等
5. 聚类Clustering
“某堆东西聚成一类”。
聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了,因此 clustering 通常并不需要使用训练数据进行学习,unsupervisedlearning (无监督学习).
常用算法包括:K均值(K-means clustering)
6. 决策树
一种依托于策略抉择而建立起来的树,可用于分类。节点:对象;路径:属性;叶结点:对象值。e.g.找男朋友标准:
5. ID3
ID3(Iterative Dichotomiser 3 迭代二叉树3代),自顶向下贪婪遍历;ID3无回溯,局部最优,而非全局最优。
熵(entropy):刻画了任意样例集的纯度(purity),反映不确定性,值越小不确定性越低。公式:
p+代表正样例,如打羽毛球,p-则代表反样例,不去打球。E.g. 9个正例和5个反例的熵为:
Entropy([9+,5-])=-(9/14)log2(9/14)-(5/14)log2(5/14)=0.940
正例反例各占一半时,熵为最大值 1 ,即不确定性最大 - 100% 。
扩展公式:
信息增益(Information Gain),度量标准是熵,值越大越好。样本按照某属性划分时造成熵减少的期望。属性A相对样例集合S的信息增益Gain(S,A):
e.g.
假定 S 是一套有关天气的训练样例,描述它的属性包括可能是具有 Weak 和 Strong 两个值的 Wind 。假定 S 包含 14 个样例, [9+ , 5-] ( 9 个 打羽毛球, 5 个不去打 ) 。正例中的 6 个和反例中的 2 个有 Wind =Weak , 其他的有 Wind=Strong 。
在上图中,计算了两个不同属性:湿度(humidity)和风力(wind)的信息增益,最终humidity这种分类的信息增益0.151>wind增益的0.048。说白了,就是在星期六上午是否适合打网球的问题诀策中,采取humidity较wind作为分类属性更佳,决策树由此而来。
7. C4.5
ID3算法的改进。ID3使用的是熵的变化值(信息增益),C4.5使用信息增益率。
C4.5克服了ID3 用信息增益选择属性时偏向选择取值多的属性的不足。 E.g. 一个起点是 10m /s 的人、其 10 s 后为 20m /s ;另一个人起速是 1m /s 、其 1s 后为 2m /s 。如果紧紧算差值那么两个差距就很大了,如果使用速度增加率 ( 加速度,即都是为 1m /s^2) 来衡量, 2 个人就是一样的加速度。其中,分裂信息度量被定义为(分裂信息用来衡量属性分裂数据的广度和均匀):
优点:1)准确率较高
缺点: 1 )低效; 2 )只适用于驻留内存的数据集,大数据无法运行参考自:http://blog.csdn.net/v_july_v/article/details/7577684
8. k-means
属cluster analysis聚类分析算法。
1. 随机在图中取K(这里K=2)个种子点。
2. 然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。(上图中,我们可以看到A,B属于上面的种子点,C,D,E属于下面中部的种子点)
3. 接下来,我们要移动种子点到属于他的“点群”的中心。(见图上的第三步)
4. 然后重复第2)和第3)步,直到,种子点没有移动(我们可以看到图中的第四步上面的种子点聚合了A,B,C,下面的种子点聚合了D,E)。
优点:1)快速并适合大数据
缺点: 1 ) K 是事先给定的; 2 )不同的随机种子点会有得到完全不同的结果