机器学习之回归模型

一 、问题引入

假设在上海,一个关于房屋销售数据的表格,如下:

面积(m2) 售价(万元)
123 250
150 320
87 160
102 220
。。。 。。。

根据表格我们可以做出一个图像,x轴是房屋的面积,y轴是房屋的售价,如下所示:
机器学习之回归模型
如果现在给出一个新面积的房屋,但是在销售价钱中的记录是没有的,我们应该如何取定这个房屋的售价呢?
我们可以用一条直线或者曲线尽量准的拟合这些数据,当有了新的输入值之后,我们可以在该曲线上找到新的返回值,用直线拟合的结果如下所示:
机器学习之回归模型
绿色的点就是我们想要预测的点。

对应上面的案例,我们给出一些概念和常用的符号:
房屋销售记录表:training set or training data,是我们流程中的输入数据,一条数据对应一条sample
房屋销售价钱:输出数据,y
房屋的面积:输入数据,x
拟合的函数(模型):一般写作y=h(x)
记录表的条目数:一条训练数据是由一对输入数据和输出数据组成的数据的维度n(特征的个数,#features)

二、学习过程

机器学习的过程一般是,给出训练集,我们的算法会通过一系列的过程得到一个估计函数,这个函数有能力对没有见过的数据给出一个新的估计,也被称为构建一个模型,就如同上面的例子:
机器学习之回归模型

三、线性回归

线性回归是假设特征和结果满足线性关系。如下式,h(x)即为一个估计函数:(x1为房屋的面积、x2为房屋的朝向)
机器学习之回归模型
θ在这称为参数,在这的意思式调整feature中每个分量的权重。

我们在更新权重的时候,需要根据误差函数来跟新
,被称为loss function或者error function,来描述跟新过程中,计算出来的结果与实际的差别。我们用J函数来表示:
机器学习之回归模型
在跟新的过程中,我们对误差函数求导,那么寻找最合适的权重的问题就转化成为了,最小化误差函数的问题。

一般我们取得最小值的方法有最小二乘法和梯度下降法

四、梯度下降法

在选定线性回归模型后,需要确定参数θ,确定了该参数,我们就训练出了一个model。在J(θ)取最小值时,我们可以确定这组参数。因此我们可以将问题归结为求极小值问题。

梯度下降法流程:
(1)、首先给θ一个初始值,这个值可以是随机的,也可以让θ是一个全零的向量;
(2)、改变这个权重向量,使得J(θ)按照梯度下降的方向减少

梯度的方向由J(θ)对θ的偏导数确定,由于求的是极小值,因此梯度方向是偏导数的反方向。结果为:
机器学习之回归模型
迭代更新的方式一般是批量梯度下降,也就是对全部的训练数据求得误差后再对θ进行更新。

五、最小二乘法

若训练特征表示为X矩阵,结果表示为y向量,任然是线性回归模型,误差函数不变,那么θ可以直接由下面得公式得到:
机器学习之回归模型
要求x为满秩矩阵并且求矩阵得逆会比较慢。

六、选用误差函数为平方和得概率解释

一般误差满足均值为0得高斯分布,也就是正太分布。那么x与y得条件概率就是
机器学习之回归模型
这样就估计了一条样本得结果概率,然而我们期待得是模型能够在全部样本上预测最准,也就是概率得面积最大。这个概率积称为最大似然估计。我们希望在最大似然估计得到最大值时确定θ。那么需要对最大似然估计公式求导,求导结果就是
机器学习之回归模型
这就解释了为何使用平方和误差为误差函数。

七、分类与对数回归(二分类logistic)

一般来说,回归不用再分类问题上,因为回归式连续型模型,并且受噪声影响比较大,如果非要应用进入,可以使用对数回归。
对数回归本质是线性回归,只是在特征到结果得映射中加如了一层函数映射,即先把特征线性求和,然后使用g(z)将最为假设函数来预测,g函数可以将连续得值映射到0和1上。
对数回归的假设函数如下:(可以称为**函数)
机器学习之回归模型
对数回归用来分类0/1问题,也就是预测到的结果属于二分类问题。