Machine Learning Basis

来源:互联网 发布:淘宝模特兼职价格 编辑:程序博客网 时间:2024/06/01 19:54

(部分内容参考自其它 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 neighborkNN)


5. 聚类Clustering

“某堆东西聚成一类”。

聚类的时候我们并不关心某一类是什么我们需要实现的目标只是把相似的东西聚到一起因此一个聚类算法通常只需要知道如何计算相似度就可以开始工作了因此 clustering 通常并不需要使用训练数据进行学习unsupervisedlearning (无监督学习).

常用算法包括:K均值(K-means clustering)


6. 决策树

一种依托于策略抉择而建立起来的树,可用于分类。节点:对象;路径:属性;叶结点:对象值。e.g.找男朋友标准:


5. ID3

ID3Iterative Dichotomiser 3 迭代二叉树3代),自顶向下贪婪遍历;ID3无回溯,局部最优,而非全局最优。

熵(entropy):刻画了任意样例集的纯度(purity),反映不确定性,值越小不确定性越低。公式:

 

p+代表正样例,如打羽毛球,p-则代表反样例,不去打球。E.g. 9个正例和5个反例的熵为:

Entropy[9+5-]=-9/14log29/14-5/14log25/14=0.940

正例反例各占一半时,熵为最大值1,即不确定性最大 - 100%


扩展公式:

信息增益(Information Gain),度量标准是熵,值越大越好。样本按照某属性划分时造成熵减少的期望。属性A相对样例集合S的信息增益Gain(S,A)



e.g.

假定S是一套有关天气的训练样例,描述它的属性包括可能是具有WeakStrong两个值的Wind。假定S包含14个样例,[9+5-]9打羽毛球,5个不去打。正例中的6个和反例中的2个有Wind =Weak其他的有Wind=Strong




在上图中,计算了两个不同属性:湿度(humidity)和风力(wind)的信息增益,最终humidity这种分类的信息增益0.151>wind增益的0.048。说白了,就是在星期六上午是否适合打网球的问题诀策中,采取humiditywind作为分类属性更佳,决策树由此而来。


7. C4.5

ID3算法的改进。ID3使用的是熵的变化值(信息增益),C4.5使用信息增益率。

C4.5克服了ID3用信息增益选择属性时偏向选择取值多的属性的不足。E.g.一个起点是10m/s的人、其10s后为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点群。(上图中,我们可以看到AB属于上面的种子点,CDE属于下面中部的种子点)

3.                   接下来,我们要移动种子点到属于他的点群的中心。(见图上的第三步)

4.                   然后重复第2)和第3)步,直到,种子点没有移动(我们可以看到图中的第四步上面的种子点聚合了ABC,下面的种子点聚合了DE)。


求点群中心的算法有多种,如Euclidean Distance公式(欧氏距离)

 

优点:1)快速并适合大数据

缺点:1K是事先给定的;2)不同的随机种子点会有得到完全不同的结果


0 0
原创粉丝点击