一转眼,从开始接触机器学习,到现在被琐事左右,不得不放下李航老师的《统计学习方法》,快五个月了。这五个月里,开头的一个月是我最快活的时候,全身心地享受统计学习方法带来的种种思维的乐趣,妙不可言。
截止在发稿前,我大概看了1/4,考虑到这本书总-分的结构,接下来的读书任务是学习更多的模型方法,比对加深对统计学习方法的认识。我要声明的是,年内就会把这本书看完,到时会参照其他的学习资料,系统性学习几个比较经典的统计学习模型。
统计学习与机器学习有什么不同呢?其实统计学习也叫统计机器学习,从名字就可以看出,统计学习是从统计学科的角度、利用机器(编程算法)来对数据进行预测分析,机器学习差不多等于统计学习,机器学习可不可以不依赖统计方法?目前没找到资料证实。我个人的理解是,统计学习这种叫法更适用于学科理论,机器学习则偏于工程实践。
书中开篇明义,在第一章1.3节就引出了统计学习的三要素:模型+策略+算法,后面每个学习方法的研究,基本都是从这三个要素来展开。具体而言:
模型:即关系或者规律。用书中话说,就是“所要学习的条件概率分布或决策函数”是线性还是非线性,是概率模型还是非概率模型,所有的可能(某种类型的模型)构成了模型的假设空间;
策略:怎么去学习。拿AlphaGo举例,其学习的策略就是当前每一步棋的价值是否最好,也就是说,落下的每一个子,是朝着取胜的目的去的。书中原话为“按照什么样的准测学习或选择最优的模型”。一般我们在训练数据的时候,用预测值和真实值之间的差距做比较,差距越小越好,这就是策略;
算法:已经选出来的最优模型,里面的参数怎么算呢?这时候该算法上场了,“统计学习的算法成为求解最优化问题的算法”。算法很重要,算法有快有慢,有准有不准,在统计学习中,这个是大头之一。
还存在一种情况,我们用了模型非常复杂、算法非常精妙,使得训练的数据完美的匹配我们的模型,但是这个模型去预测未知的数据,则表现很差,这种现象我们叫做过拟合。过拟合的现象在我们提高训练模型精度的时候经常发生,可以用正则化和交叉验证两种方法来避免,这个在书中介绍的很详细。
如何评价一种统计学习方法学习到的模型,对未知数据的预测能力呢?首先,我们称这种能力叫泛化能力,用泛化误差来对其进行量化。
接下来是对模型的分类,书中提到监督学习(本书的重点)可分为生成方法和判别方法,学习到的模型为生成模型和判别模型。生成模型表示了给定输入与输出的关系,判别模型关心的是给定的输入,应该预测什么样的输出。这个大家可以看书细细体会区别。
第一章的最后,是我们今后通过统计学习可以解决的问题类型,包括分类问题、标注问题、回归问题等。篇幅有限,要想真正理解前面说到的这些概念,得朝着两个方向用功:
1.熟悉常见的学习方法
2.通过编程实例来练习
自勉!