无论是计量经济学还是统计学,最初的学习的知识都是从线性回归开始的,那么我们也从线性回归开始讲,机器学习究竟在干什么?
简单来说,类似于多元回归,机器学习要从数据中去学到一个“关系”。有监督学习的情况下就是x与y的关系。就像回归构建的y=ax+b这种线性方程的关系。对于不同的方法,这个关系的表达式是不一样的,但总体上来说都是从一组数据中去学到一种关系f(x),简单画图表示为如下:
训练集就是我们需要从这组数据中x和y里面,去学到这个关系f(x),然后我们就把这个关系套用到测试集的x上去估计y,然后把测试集上真实的y和估计的作比较,如果预测的和真实的值差不多,那则说明这个模型效果好。
对于不同的模型,f(x;)是不一样的,
代表的是这个模型的参数。常见模型简单可以分为线性回归,线性判别,lasso回归,K近邻,决策树,随机森林,提升方法,支持向量机,神经网络等等。
机器学习的术语,与统计学和计量经济学略微有点不同。
统计学一般把x作为自变量或者叫解释变量,协变量。而机器学习则称x为特征,特征变量或属性。
统计学一般把y叫做,因变量,被解释变量。机器学习一般把y称为响应变量,目标,标签。
而根据y的类别不同,又可以把机器学习的任务分为回归和分类。回归就是需要预测的y是连续性数值型变量,(比如房价,考试分数,消费收入等)。分类就是预测的y是离散型的类别变量(比如男女,好坏,明天是否下雨等等)
机器学习的评价指标
机器学习和统计学、计量不太一样,机器学习只关心自己的预测效果,而并不会去做参数估计和假设检验。也就是说,评价机器学习的指标就在于自己估计出来的和真实的y相似度是否高。对于分类问题评价指标有MSE,拟合优度等。对于分类问题,则只需要比较分类正确的个数即可。比如我有十个样本,模型分类正确了九个,那么准确率为90%,则算比较优良的模型。
过拟合和泛化能力
机器学习中还有一个很重要的概念,就是过拟合与泛化能力。过拟合是指模型对于训练数据的拟合效果非常好,但是对于测试集的效果表现却十分差。泛化能力就是在没有见过的数据集上表现预测能力好。
类似于一个学生期末考试,只是背下了考试题目答案,因此对于背下来的那张卷子,他能取得很高的分数,但是若换了一张全新的卷子,则考试的分数就会很低。但如果他是真正的明白了题目的知识点,那么无论来多少新的卷子,该同学都能够取得较高的分数,这就是表明他的泛化能力强。
为什么会出现过拟合,就在于模型只是记住了这个数据,只是记住了x跟y的数值,而并没有去真正的学习到x和y之间的关系。就类似于学生并没有学到题目的知识考点,因此对于新的数据集表现的效果就会很差。
给一张图作为案例,我们可以看到,一阶函数和二阶函数这种较为简单的模型会存在一种欠拟合。即这个模型不能够很好的表示这个数据x和y的关系。而到了七阶八阶九阶的高阶多项式去拟合的时候,虽然模型好像在训练集上把每个点都包含进去了。但其实把数据中的噪音也都拟合进去。这就类似于模型只是记住了这个数据,而并没有真正的去学到这个x和y之间的关系。因此模型在新的数据集上的泛化能力就会很差。
编程环境的搭建
本系列是基于Python去实现机器学习的,我最为推荐安装anaconda,使用jupyter notebook编译器。网上关于安装的例子有很多,读者们自行搜索安装,不过多赘述。
然后所有的代码和数据都可以从陈强老师的个人主页上下载:Python数据程序