前面的博客里写到了机器学习里有监督学习、无监督学习、强化学习三种。咱们先来学习一下监督学习里比较基础且重要的线性回归(Linear Regression)。
线性回归(Linear Regression)
监督学习里分为两类问题,回归和分类。其中回归就是前面提到的房价预测类的问题,想必大家对线性回归已经有了概念上的理解,下面咱们还是以房价预测为例子讲解一下线性回归。
我们目前手头有一组房子尺寸和房价的数据,
房子尺寸/平方米 | 房子价格/万 |
---|---|
100 | 120 |
80 | 92 |
120 | 143 |
75 | 87 |
60 | 60 |
43 | 50 |
… | … |
将这些数据用散点图表示的话如下图所示,
线性回归的方法就是我们预测一个模型,然后通过手头这组数据对这个模型进行训练,不断的去修正模型参数,最终得到一个最优的训练模型,然后根据新的输入房子尺寸的值,输出对应的预测价格。
用流程图的表示会更加直观,(该图摘自博主博临天下)
Traning Set就是我们手头有的房子大小和房价的数据,Learning Algorithm就是我们所构建的预测模型,x就是我们要预测的房子的大小,predict y就是通过我们的预测模型输出的房子的价格。
通过散点图我们可以发现,房子的大小和房价的关系类似一阶线性的关系。我们可以用一个最简单的初中学的一元一次方程来尝试去拟合这组数据:
这个公式就是我们的预测模型,其中 hθ(x) 输出的结果就是房价,x则代表房子的大小。 θ0 , θ1 是我们这个模型里的修正参数。
当然在现实中,影响房价的因素可能不止一个房子的大小 x0 ,可能还会有房子的位置 x1 ,房子的朝向 x2 ,……, xn ,n个因素共同作用,影响房子的价格。因此,假设 x0=1 ,则上式更general的写法如下: