监督学习
监督学习中,输入变量与输出变量可以是连续的,也可以是离散的。若输入变量与输出变量均为连续变量,则称为回归;输出变量为有限个离散变量,则称为分类;输入变量与输出变量均为变量序列,则称为标注。
KNN算法:
有监督的机器学习算法,可用于估计分类变量和连续变量,是一种用于分类和回归的非参数方法。在使用knn进行分类前,要先对数据通过归一化来进行无量纲处理。
优点:
(1)简单,易于理解,易于实现,无需估计参数,无需训练。
(2)可以较好的避免样本不平衡问题,适合稀有事件的分类问题。
(3)特别适合于多分类问题(multi-modal,对象具有多个类别标签), KNN比SVM的表现要好。
(4)比较适用于样本容量较大的类域自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分
缺点:
(1)计算量太大,需要计算与每个点的距离,才能求得它的K个最近邻点。
(2)可解释性不强,无法给出像决策树那样的规则
(3)样本不平衡时,k个最近的点中,大容量类别的点占据大多数,但大容量类别不一定为待分类点的真实类别
(5)KNN算法对数据的局部结构敏感。
朴素贝叶斯分类:
有监督的机器学习算法,用于因子型的分类变量,估计出必要的参数(离散型变量是先验概率和类条件概率,连续型变量是分布参数[例如均值和标准差]或进行离散化处理)
在建模之前,需要进行数据离散化,简单贝式分类只接受和预测类别型字段
优点:
(1)简单、快速、有效,一次扫描就能快速训练
(2)能处理好噪声数据和缺失的数据
(3)需要用来训练的例子相对较少,但同样能处理好大量的例子
(4)很容易获得一个预测的估计概率值
(5)能够处理任意数量的预测因子,不论他们是连续的还是分类的,尤其适合高维数据
缺点:
(1)依赖于一个常用的错误假设,即一样的重要性和独立性特征,不能进行变量筛选
(2)应用在含有大量数据特征的数据集时并不理想
(3)概率的估计值相对于预测的类而言更加不靠谱
支持向量机(SVM):
是一种二类分类模型,简单的机器学习算法。用于因子型的分类变量、连续变量和文本类变量。可处理分类和数值预测问题
优点:
(1)可以解决小样本情况下的机器学习问题。
(2)可以提高泛化性能;解决高维问题;解决非线性问题。
(3)可以避免神经网络结构选择和局部极小点问题,分类效果较好
(4)算法简单,而且具有较好的“鲁棒”性:非支持向量样本对模型没影响;支持向量样本集具有一定的鲁棒性
缺点:
(1)对缺失数据敏感,对大规模数据训练比较困难
(2)解决多分类问题存在困难,可通过构造多个分类器的组合来解决
(3)对非线性问题没有通用解决方案,必须谨慎选择核函数来处理
SVM与神经网络和线性回归之间的关系:
①支持向量机(SVM)的核函数为Sigmoid函数时,就相当于BP神经网络;
②支持向量机(SVM)的核函数为高斯RBF函数时,就相当于RBF类神经网络;
③支持向量机(SVM)的核函数为线性函数时,就相当于线性回归;
决策树:
决策树是以树的结构将决策或者分类过程展现出来,预测输出变量的值。预测变量为离散型时,为分类树;连续型时,为回归树。
优点:
(1)速度快: 计算量相对较小, 且易转化成分类规则. 在相对短时间内能够对大型数据源做出可行且效果良好的结果
(2)准确性高: 挖掘出来的分类规则准确性高, 便于理解, 可以清晰的显示哪些字段比较重要, 生成可以理解的规则
(3)可以处理连续和种类字段,其他的技术往往要求数据属性的单一(但可能决策树对连续变量的划分并不合理)
(4)不需要任何领域知识和参数假设
(5)适合高维数据,对缺失值不敏感
(6)对于决策树,数据的准备往往是简单或不必要. 其他的技术往往要求先把数据一般化,如去多余或者空白属性
(7)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度
缺点:
(1)对于各类别样本数量不一致的数据, 信息增益偏向于那些更多数值的特征
(2)容易过拟合,当类别太多时,错误可能就会增加的比较快
(3)忽略属性之间的相关性,在处理高维稀疏数据或特征关联性比较强的数据时表现得不是太好
(4)对连续性的字段比较难预测。对有时间顺序的数据,需要很多预处理的工作
ID3: 使用信息增益作为分类标准 ,处理离散数据,仅适用于分类树。
算法不足:
(1)ID3构建决策树时, 倾向于选择取值较多的属性,若出现各