机器学习学习指南
统计学习三要素:模型、策略、算法
模型分为概率模型(由条件概率表示的模型)和非概率模型(决策函数)
策略包括1、损失函数和风险函数;2、经验风险最小化与结构风险最小化
算法:根据相应的策略求解最优解,即求解最优化问题。
生成模型与判别模型
分类、回归、标注问题
K-近邻算法(KNN)
算法原理
优点:精度高、对异常值不敏感、无数据输入假定
缺点:计算复杂度高、空间复杂度高
无法给出任何数据的基础结构信息,因此我们也无法知晓平均实例样本和典型事例样本具有什么特征。
KNN算法是分类数据最简单最有效的算法。
决策树
优势:模型具有可读性,分类速度快,计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能会产生过度匹配问题。
创建分支的伪代码函数createBranch()如下所示: if 数据集中的每个子项是否属于同一分类 return 类的标签; else 寻找划分数据集的最好特征 划分数据集 创建分支节点 for 每个划分的子集 调用函数createBranch并增加返回结果到分支节点中 return 分支节点
如何选取关键性特征划分数据?
采用信息增益进行判断,在划分数据集之前之后信息发生的变化成为信息增益,获得信息增益最高的特征就是最好的选择。
信息增益为总的熵减去某个分类标准对应的熵。
如果数据集已经处理了所有属性,但是分类标签依然不唯一,则常常采用多数表决的方法决定该叶子节点的分类。
逻辑斯谛回归模型
Logistic回归优点:
- 实现简单;
- 分类时计算量非常小,速度很快,存储资源低;
缺点:
- 容易欠拟合,一般准确度不太高
- 只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;
支持向量机
朴素贝叶斯
优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
朴素贝叶斯是贝叶斯决策理论的一部分,而贝叶斯决策理论的核心思想:选择高概率对应的类别。即:
如果p1(x,y) > p2(x,y),那么类别为1.
如果p2(x,y) > p1(x,y),那么类别为2.
Logistic回归
优点:计算代价不高,易于理解和实现。
缺点:容易欠拟合,分类精度可能不高。
Boosting算法(提升方法)
核心思想:
通过改变训练样本的权重,学习多个分类器,并将它们进行线性组合,以提高分类的性能。(寻找弱学习算法比强学习算法容易得多)
代表性算法:
Adaboost算法
核心问题:
1、每一轮如何改变训练数据的权值或者概率分布
2、如何组合弱分类器
常用的举例度量方法:http://www.cnblogs.com/wentingtu/archive/2012/05/03/2479919.html
机器学习面试问题及答题思路:http://www.aboutyun.com/thread-11213-1-1.html