为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?
Posted tobystudy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?相关的知识,希望对你有一定的参考价值。
根据已知特征值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))
结论:由此看来,线性回归其实质就是利用最小二乘法求得各个参数值,而逻辑回归由于其最小二乘函数是非凸函数,只能借由最大似然函数来求得各个参数。
以上是关于为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?的主要内容,如果未能解决你的问题,请参考以下文章
机器学习 | Logistic Regression(逻辑回归)中的损失函数