内容概要
随着知识的深入和实践的增多,我们经常会疑问,学过这么多机器学习的方法,到底什么是机器学习?遇到一个分析场景,应该选择怎样合适的方法?遇到不同方法比较的时候,各有哪些优缺点呢?抱着这些疑问,我们来总结探索下吧。
什么是机器学习
关于是什么的问题,从来就是个哲学问题,几乎每一个人从它自己的角度对机器学习都有自己的不同解释。有人顾名思义就是让机器来学习。作为机器学习领域的先驱,Arthur Samuel将机器学习非正式定义为:”在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。”,Tom Mitchell在他的《Machine Learning》一书的序言开场白中给出了一个定义:“机器学习这门学科所关注的问题是:计算机程序如何随着经验积累自动提高性能。”,当然你也可以搜索到很多不同的定义。
但一般狭义的讲,机器学习是给定一些训练样本(x,y),让计算机自动寻找一个决策函数f(.)来建立x与y的关系。这里包括3个核心要件:首先要有数据,其次存在一种模式(模型)或算法(如何寻找决策函数的方法),最后是数学上不好或无法解决,需要借助计算机完成。李航博士在其《统计学方法》一属中总结机器学习3要素分别为:模型(model)、策略(strategy)和算法。
* 模型:所要学习的条件概率分布或决策函数;
* 策略:按照怎么样的准测学习或选择最优模型;f(x)=损失函数+惩罚函数(正则化项)
* 算法:学习模型的具体计算方法。
David Hand在其《principal of Data Mining》中把机器学习(数据挖掘)算法解构为4个组件:
1) 模型结构(函数形式,如线性模型)
2) 评分函数(评估模型拟合数据的质量,如似然函数、误差平方和等
3) 优化和搜索方法(评分函数的优化和模型参数的求解)
4) 数据管理策略(优化和搜索时对数据的高效访问,如并行化访问等)
从以上的分解可以看出,无论是机器学习对解决不同问题场景的界定(哪些问题适用机器学习算法),还是在具体使用不同机器学习算法中对不同算法的深入理解和学习(如何解决参数估计的无偏性、有效性和一致性)或者Bias-Variance trade off,都离不开对机器学习是什么问题的深入思考。
机器学习知识框架
本人总结机器学习主要知识框架,如下
具体算法的详细框架,可见下图:
image
机器学习主要方法总结
本人最近对机器学习的主要14种算法进行了总结,分别从算法类型、模型方法、方法适用、数据处理、模型实现(R&python)、方法优缺点等方面进行了总结,如下图,由于时间仓促,水平有限,有错误地方希望大家批评指正,在此谢过!(如果需要电子版总结,可留言联系我)
参考资料