在机器学习中,调用算法是件比较容易的事,但是我们想要将机器学习理解的更加透彻,就必须深刻理解每一种算法背后的数学原理,这对于我们后期调整算法参数,改进算法模型有着非常大的帮助。
其实看到这一大长串数学公式,我心里也很绝望,但是没办法呀,为了能深入理解线性回归原理,喝二两白酒也要给自己打打气。下面,我们一步一步去理解线性回归的数学原理。
下面是一个银行贷款的案例,银行会根据我们的年龄以及工资来决定我们的可贷款金额。现我们绘制一个拟合平面对该数据集进行拟合。其中X1,X2就是我们的年龄以及工资特征,y是我们的可贷款额度。
在这个Markdown编辑器中,编辑公式比较困难,在word中编辑好,也只能以图片的形式粘贴过来。所以我就手写了整个推导过程,虽然字比较丑,但意思还是那个意思。下面我们就一步一步来理解整个推导过程。
1式为拟合平面方程:其中θ1,θ2为特征值的权重参数,θ0为常数项。
2式是将拟合平面方程转化为向量表达形式,其中添加了一项X0 = 1,以使得hθ(x)可表示为向量形式。
3式中真实值y^i 等于预测值θ^T* X加上误差值ξ^i。
现假设误差项ξ^i 是独立且具有相同分布,并且服从均值为0,方差为θ^2 的高斯分布。所以误差项服从4式的概率分布函数,现将3式带入4式可得5式。
6式是关于θ参数的似然函数,使用累乘是将每一个样本都要考虑进来。
这里引入一个似然函数的概念。
统计学中,似然函数是一种关于统计模型参数的函数。给定输入x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(x|θ)。
7式是对6式做了对数变换,将累乘形式转化为累加形式。
下面我们就对这个对数似然函数进行求解。
8式是我们对7式进行了展开化简得到的结果。
9式是去掉8式中的常数项,保留含有参数θ的部分,y^i - θ^T* X就是我们的误差项,我们做预测,当然是希望我们预测的非常准确,误差最小。所以就得到了我们的目标函数J(θ)。
为求得目标函数J(θ)的最小值,对J(θ)求偏导,得出θ值。
以上过程就是线性回归算法的数学原理推导,线性回归算法是数学上的一种巧合,刚好我们可以利用求偏导的方法求解其极小值,对于其他非线性的算法,我们就无法通过这种方式来求解了。
总结下我们的推理过程:
构造拟合平面函数 - 引入误差项 - 求解关于θ的似然函数 - 对数似然 (目标函数)- 求解极值。