机器学习 (一)------分类
机器学习分类
机器学习分为监督学习和无监督学习两类。
监督学习是指在有标记的样本上建立机器学习的模型(这类算法知道预测什么,即目标变量的分类信息)。
无监督学习恰恰相反,是指没有标记的数据上建立学习模型。
主要任务:
分类:主要任务是将实例数据划分到合适的分类中。
回归:例如数据拟合曲线(根据给定数据点的最优拟合曲线),主要用于预测数值型数据。
如何选择合适的算法:
从上表中选择实际可用的算法,要考虑以下两个方面的问题:
1、使用机器学习算法的目的,想要算法完成何种任务;
2、需要分析和收集的数据是什么;
主要了解数据的以下特征:特征值是离散型变量还是连续型变量,特征值是否存在缺失值,何种原因造成的缺失,数据中是否存在异常值,某个特征发生的频率如何等。
使用算法创建应用程序的步骤:
(1)收集数据(网络爬虫抽取、从RRS反馈或者API中得到,设备发送的实测数据);
(2)准备输入数据(确保数据格式符合要求);
(3)分析输入数据(人工分析以前得到的数据);
(4)训练算法(将前面得到的格式化数据输入到算法,从中抽取知识或信息;无监督学习没有这一步);
(5)测试算法(使用上一部机器学习得到的知识信息);
(6)使用算法(将机器学习算法转换为应用程序)。
一、K-近邻算法
1、算法概述
简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。
2、算法优缺点
优点:精度高,对异常值不敏感、无数据输入设定;
缺点:计算复杂度高、空间复杂度高;
使用数据范围:数值型和标称型。
3、算法工作原理
存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中K的出处,通常k是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。
二、决策树
1、算法概述
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。决策树算法能够读取数据集合,他的一个重要任务是为了理解数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,这些机器根据数据集创建规则的过程,就是机器学习的过程。
2、算法优缺点
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据;
缺点:可能会产生过渡匹配问题;
适用数据类型:数值型和标称型。
3、决策树的构造
首先,讨论数学上如何适用信息论划分数据集;
然后,编写代码将理论应用到具体的数据集上;
最后,编写代码构建决策树。
4、信息增益
划分数据的大原则是:将无序的数据变得更加有序。
方法:使用信息论量化度量信息的内容。
信息增益:指在划分数据集之前之后信息发生的变化。
熵:指信息的期望值。
5、划分数据集
度量划分数据集的熵,以便判断按照哪个特征划分数据集。对每个特征划分数据集的结果计算一次信息熵,然后判断哪个特征划分数据集是最好的划分方式。
6、递归构建决策树
从数据集构造决策树算法所需要的子功能模块,其工作原理如下:得到原始数据集,然后基于最好的属性值划分数据集,由于特征值可能多于两个,一次可能存在大于两个分支的数据集划分。第一次划分之后,数据将被向下传递到树分支的下一个节点,在这个节点上,我们再次划分数据。
递归结束的条件是:程序遍历完所有的划分数据集的属性,或者每个分支下的所有实例都具有相同的分类。如果所有的实例具有相同的分类,则得到一个叶子结点或者终止块。任何到达叶子结点的数据必然属于叶子结点的分类。
三、基于概率论的分类方法:朴素贝叶斯
1、概念
简单的概率分类器开始,‘朴素’是因为整个形式化过程只做最原始、最简单的假设。
朴素贝叶斯分类器的两个假设:独立性假设;每个特征同等重要。
2、算法优缺点
优点:在数据较少的情况下仍然有效,可以处理多类别问题;
缺点:对于输入数据的准备方式较为敏感;
适用数据类型:标称型数据。
3、条件概率
某一事件发生的条件下另外的事件发生的概率。
4、使用条件概率进行分类
满足条件一类,不满足条件一类。
5、使用朴素贝叶斯进行文档分类
观察文档中出现的词,并把没歌词的出现或者不出现作为一个特征,是用于文档分类的常用算法。
总结
对于分类而言,使用概率有时要比使用硬规则更为有效。贝叶斯概率及贝叶斯准则提供了一种利用已知值来估计位置概率的有效方法。