在上一次,我们推出了白话机器学习系列的第一篇文章,白话机器学习概论。在上次的推送中,我们知道了机器学习的一些概念和基本的原理,我们简单来回顾一下:
机器学习实际上是寻找从x 到 y之间的一种对应关系f,我们称这种对应关系是一个模型。机器学习,就是用很多的x和y来对模型进行“训练”,然后,机器去自动发现这个模型。
拟合可以分为过拟合,欠拟合和刚刚合适(just fit)。所谓过拟合就是指训练好的模型对某些特征要求太过分了,欠拟合就是反过来,模型对某些特征量的衡量不够力度。
我们知道,要训练出一个模型,我们就得找到若干个特征,举个例子:
(1) 上一次我们说过,我们大家都会根据外面环境的冷热程度决定穿衣服的多少。外面冷,衣服则对应传得多。外面热,衣服对应穿的少。这里面我们可以看到,衣服穿的多少,是随着温度的变化而变化。外面的温度是一个自变量,衣服的厚度可以认为是一个因变量。
那么这个模型如果用数学来表示就是f(x) = y,其中x是温度,y是一幅厚度。这里面只有温度一个自变量,这个自变量也就是一个特征,这个特征只有一个,所以我们称之为一维特征。
(2) 那么,如果特征量不是一个是什么样子呢?我们穿衣服的厚度可以认为,除了与外面环境温度有关外,还与外面环境风的大小有关。如果风大,就算温度不是太低,也要多穿一点衣服。那么,这种情况,我们就说具有两个特征量——温度、风的大小来决定穿衣服的厚度。这个特征量是二维的,我们专业点称之为二维特征空间。
那么进入正题,我们说,本文这次要介绍的是线性拟合,实际上,大家已经知道线性拟合是什么东西了。大家上面看到的那个根据一维特征的温度,来决定穿衣服厚度的例子,就是一个典型的线性拟合问题。
根据我们得出来的经验结果,我们可以判断出一定范围内的,任意的温度下应该穿什么样的衣服,这个线性拟合的图示就可以用下面的图片来表示:
我们从上面的图示就可以看出来,拟合之后是一条直线,温度范围是有界的,所以这是一条线段。线段不可能正正好好让所有的点都落在上面,这里面肯定会或多或少地区舍弃一些点,这要做一个权衡。
如何去训练出合适的舍弃范围,使得结果很准确呢?这就需要我们用大量的数据去训练他,得出一个符合绝大多数例子的模型,把那些比较“奇葩”的模型舍弃掉。
像这样,用一条直线来绘制出拟合曲线的情况,我们就说是线性拟合啦~怎么去实现线性拟合呢?用现有的算法叫做 线性最小二乘法来做就可以啦~也就是我们高中所说的,线性回归方程啦~这还是一个冷门的高考考点哦~有一年课标全国卷就反常出了一道大题呢~
就爱极客(92geek),每日晚间更新。关注就爱极客,极客你的生活,充实你的头脑,让你的人生与众不同!
领取专属 10元无门槛券
私享最新 技术干货