【机器学习】机器学习基础

0.引言

  本篇博客记录在学习机器学习过程中一些收获,算是在磕磕绊绊中前行吧,感谢在学习过程中帮助过我的人,感谢!同时在学习过程中也阅读了不少博客,学习到很多知识,十分感谢他/她们的无私分享。由于学习的时间有点久了,近来开始整理总结,所以尽可能的标明知识点的出处;如果未能标明的,感到十分抱歉,可联系我添上。

1.基本流程

  机器学习的一个基本流程可以总结如下:

                                                

                                             

  数据收集很好理解,我们需要找到这样一个数据集;数据清洗指的是收集的数据“不干净”,存在噪声、缺失值等等,需要对数据进行一定的处理,后面会在《线性回归》例子中特别强调数据清洗的重要性;特征工程则是指从数据中提取能反映数据真实分布的特征,从理论上来说,数据清洗后能直接运用于数据建模,那么为什么需要进行特征工程呢?主要是因为如果不进行特征工程,容易造成“维数灾难”,得到的模型性能很差;同时由于清洗后数据特征之间并不是独立的,存在特征冗余,因此进一步特征工程后提取到更有利于建模的特征;数据建模呢,如果是回归问题,就建立回归模型,如果是分类问题就建立分类模型;性能评估则是指应用一些评判指标判断我们训练得到的模型性能怎么样,常见的指标有均方误差、查全率、查准率、PR曲线、AUC值等等。机器学习的基本流程可以很形象地比喻成西红柿炒鸡蛋这样一个例子。数据收集对应于我们从菜市购买鸡蛋和西红柿,由于买的时候挑得不仔细,有些坏的,得对他清理下,就如果数据清洗中删除异常的噪声;特征工程就对应的把清洗好的西红柿切成片,鸡蛋搅拌好,这是一个进一步处理的过程;所有的一切都准备好了,就可以开始炒西红柿鸡蛋了,呢相对应的机器学习中就是数据建模,各种炒菜的姿势就如同建模采用不同模型、算法和优化方法。在起锅之前,需要先尝尝味道,就如同性能评估判断模型性能好坏。基本流程和例子来源于[1].

2.基本假设

  在传统机器学习中,为了保证训练得到的模型具有较高准确性和可靠性,都有两个基本假设:

    (1)必须有足够可用的、干净的训练样本才能够学习到一个好的分类模型。

    (2)用于学习的训练样本与新的测试样本满足独立同分布。

  如何理解这两个假设呢?机器学习是数据驱动的一种方法,依赖数据来建立数学模型,在机器学习届流传着 这样一句话:“数据和特征决定了机器学习算法的上限,而模型和算法只是不断逼近这个上限而已”,在设计机器学习算法之前要充分考虑数据的一些特性,比如样本是否存在缺失值、是否类别平衡、是否存在噪声、是否需要对特征进行归一化等等,值得注意的是这两个假设都是关于数据的假设,因此可以看出好的数据的重要性。

3.基本要素

  机器学习是从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化方法。[2]

  模型指的是建立什么样的数学模型,根据实际问题建立回归模型或者分类模型;学习准则指的是建立一个什么样的损失函数或者称为目标函数,如最常用的均方误差函数、0-1损失函数,深度学习分类中常用的交叉熵损失函数等等。优化方法则指的是求解目标函数的最小值或最大值,其中最常用的是梯度下降法,但是由于很多情况下,目标函数不是凸函数,所以使用梯度下降法并不一定能收敛到最值,

4.定理

(1)没有免费午餐定理[2]

  不存在一种机器学习算法适合于任何领域或任务,对于具体问题需要具体分析。对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效。如果一个算法对某些问题有效,那么它一定在另外一些问题上比纯随机搜索算法更差。也就是说,不能脱离具体问题来谈论算法的优劣,任何算法都有局限性。

(2)奥卡姆剃刀

  “如无必要,勿增实体”。如果两个性能相近的模型,我们应该选择更简单的模型。

(3)丑小鸭定理
  “丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大”。在没有假设或者先验知识的情况下,我们没有理由偏爱任何一组特征表示,而忽略其它特征表示。

(4)最短描述长度定理
  要求模型的复杂度和该模型描述训练数据的描述长度之和最小化。

       

  以决策树模型为例,决策树中节点的个数可视为模型的复杂度,所有叶节点上数据的熵的加权和可以用来描述模型训练数据的复杂度,最短描述长度定理要求模型的复杂度和模型描述训练数据的描述长度之和最小,也就是说在性能指标相差无几的情况下,决策树越“精炼”,叶节点数据熵加权和越小、越纯,也许这样的决策树模型会更好。

 5.总结

  上面就是我对机器学习的一些总结和认识,为了方便记忆,归纳成“一个流程、两个假设、三个要素、四个定理”,在理解了这些,在选择机器学习模型和算法的时候,也许能提供一些帮助,而不是完全按照经验来选择。

参考文献

[1]邹博.机器学习(网课)

[2]邱锡鹏.神经网络与深度学习

[3]周志华.机器学习[M].北京:清华大学出版社.

猜你喜欢

转载自www.cnblogs.com/chen-hw/p/11525739.html