码迷,mamicode.com
首页 > 其他好文 > 详细

为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?

时间:2020-01-11 14:57:31      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:str   估计   计算   最大似然函数   激活   rod   16px   回归   类型   

根据已知特征值X和标签结果Y,我们利用线性回归模型(为了简化,作者以一元线性回归为例说明)可以得出 yi^=wxi+b。

损失函数:loss=Σ(yi-yi^)2  ,为了得到更加准确的拟合模型,我们的目标就转化为使损失函数loss最小,即:

argmin loss=argmin Σ(yi-yi^)2=argmin Σ(yi-wxi-b)2 

这里就是大家比较熟悉的最小二乘法(即最小化误差平方和)。

因此线性回归其实质就是利用最小二乘法去计算各种参数(w,b)。

 

但是对于逻辑回归,为什么不能用最小二乘法了呢?

我们知道逻辑回归,同线性回归一样,可以计算预测值: yi^=wxi+b

但是对于逻辑回归的标签结果是0或者1,如何使二者能够发生关联呢,有一种神奇的激活函数就是Sigmoid函数,可以将变量转化为0或者1,

sigmoid函数表示: f(z)=1/(1+e-z),因此,可以转化为  f(x)=1/(1+e-(wx+b)) 。这时也许你想,

同样loss=Σ(yi-f(xi))2  这样我们就可以像线性回归那样,利用最小二乘法去计算参数值了。

可是好事多磨啊,要想得到一个最小二乘的最优解,这个函数最好是凸函数

(为什么说最好是呢,其实不是凸函数,也能求得部分解,但不能保证是最优解,可能是一些鞍点)

(什么是凸函数:对于区间[a,b]上定义的f(x)满足 f((x1+x2)/2)*2?f(x1)+f(x2) ,则称f(x)为凸函数)

这个函数并不是一个关于w和b的凸函数,大家可以去证明。

那如何去求解参数值呢?

此时最大似然函数就出现了。该函数的作用就是专门根据观测结果去估计模型参数的。

前面我们已经知道:

f(x)=1/(1+e-(wx+b)),该函数取值区间[0,1]

由于二值分类很像二项分布,我们把单一样本的类值假设为发生概率,即:

P(y=1|x;w;b)=f(x)      (即某个样本划分为类型为1的概率)

P(y=0|x;w;b)=1-f(x)  (即某个样本划分为类型为0的概率)

因此,合并两个函数可以得到:

P(y|x;w;b)=f(xi)yi(1-f(xi))(1-yi)  (因为yi只有两个取值0或者1)

我们的目标就是所有样本发生的概率最大化 ,即最大似然函数为:

L(w,b)=argmax ∏ f(xi)yi(1-f(xi))(1-yi)  

求对数:

argmax Σ yilogf(xi)+(1-yi)log(1-f(xi))

即:

argmin -Σ yilogf(xi)+(1-yi)log(1-f(xi))

该函数为凸函数,很容易求得最小值,结果为:

∂L/∂w=Σ(xi(yi-f(xi)))

∂L/∂b=Σ(yi-f(xi))

 

结论:由此看来,线性回归其实质就是利用最小二乘法求得各个参数值,而逻辑回归由于其最小二乘函数是非凸函数,只能借由最大似然函数来求得各个参数。

 

为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?

标签:str   估计   计算   最大似然函数   激活   rod   16px   回归   类型   

原文地址:https://www.cnblogs.com/tobystudy/p/12179624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!