首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最小二乘法原理(中):似然函数求权重参数

在上一篇推送中我们讲述了机器学习入门算法最小二乘法的基本背景,线性模型假设,误差分布假设(必须满足高斯分布)然后引出似然函数能求参数(权重参数),接下来用似然函数的方法直接求出权重参数。

1 似然函数

首先构建似然函数 L(θ | x) ,假设一共有 m 个房屋相关样本,那么进一步得到似然函数(它是参数θ为自变量的函数,这个一定要注意了,似然函数将概率转化为似然,这个还是似然的强大之处了):

上式的意思是 m 个样本的误差分布的概率乘积,这就是概率似然函数。

提到似然函数,那不得不提最大似然函数估计吧,为什么呢?

因为既然似然函数是关于误差分布的发生概率的乘积,既然这些分布值都已经实实在在的出现了,为什么不求出这种θ ,它能使得事件尽可能地逼近样本值,这就是最大似然估计。

似然估计本质

本质便是根据已有的大量样本(实际上就是利用已知的条件)来推断事件本身的一些属性参数的方法,最大估计更是最能反映这些出现的样本的,所以这个参数值也是最可靠和让人信任的,得到这个参数值后,等来了一个新样本 X(i+1) 后,我们可以预测它的标签值。

2 极大似然估计

为了让上式最大,因为是各项相乘,不好求最大值,想到取对数,称为对数似然,这样就转换为求和了吗!

转化后的结果为:

2-1

要想求这个式子的极大似然值,即极大值,也就是要求解coeff后的那项的极小值吧,就是下面这项:

2-2

上个式子有个很容易记得名字,叫做最小二乘项,现在清楚地推导出了最小二乘项,原来它不是凭空而来,不是根据经验定义出来的公式!

3 求导法

为了求解上个式子的极小值,首先想到的是求偏导,等于0,然后得出极小值吧。

上面这个式子,写成矩阵的形式为,

3-1

稍微解释下,X在我们前几篇的推送的房屋那个例子中,是不是4行3列的矩阵,theta是不是3行1列的矩阵,他俩相乘是不是等于4行1列的矩阵,然后y是4行1列的矩阵,是不是正好能做减法啊。

对其求导得到如下式子,中间的过程大家自行推导吧,

3-2

还记得2-1那个公式,J(theta)前有个1/2吗(我们只是没有写出来),这样前面的2实际上可以正好消除,也就是说J(theta)那个最小二乘项,最好带上那个1/2吧,也就是说:

3-3

再回头求完导后的那个式子3-2,令偏导等于0,不就是得到一个极小值吗,但是别忘了,这里又有一个假定,

假定这个为非奇异矩阵吧,因为只有非奇异矩阵才可求矩阵的逆啊!如果上面这项近似为奇异矩阵,那么就会引起一个最小二乘法的bug,这也是最小二乘法不能处理多重强相关性数据集的原因所在。

假定不是奇异矩阵,那么参数theta这次可以求解出来了,即:

大家可以初步检测下这个结果对不对,还是那个房子数据集,X是4行3列,y是4行1列,带入后得到的theta是3行1列,正好是我们想要的那3个参数啊!

4 总结

在以上求解过程中做了一个

不能为奇异矩阵的假定,再加上之前的误差分布必须满足某种分布这个假定,所以最小二乘法直接求解得满足两个假定。

以上我们通过数学的方法,借助似然函数,然后求似然函数对数的极大似然估计,直接把参数求出来了,这是必然?还是巧合?

机器学习的参数一般是不能通过直接求解得出的,所以很明显是个巧合啊!

那么如果不想用这种巧合的方法去求解,有没有更加通用的方法,来求解最小二乘项的极小值呢?

下一篇
举报
领券