线性回归和逻辑回归损失函数推导
@(数据挖掘)
- 线性回归和逻辑回归损失函数推导
- 一、线性回归最小二乘loss推导
- 二、logistics回归加sigmoid原因以及交叉熵损失函数推导
一、线性回归最小二乘loss推导
我们都知道线性回归是机器学习中最简单,使用范围也很广的一个算法,经典且使用。而它的损失函数最小二乘损失,大家也很熟悉,但是为什么要用最小二乘loss呢?正文开始:
可以通过一系列假设,从概率的角度去说明为什么选最小二乘(按理说,我们有许多函数可以定义损失)。
我们这里的假设证明不是唯一的,还有许多方法可以证明,有兴趣的可以自行google。
- 假设:
y(i)=θTx(i)+ε(i)y(i)=θTx(i)+ε(i)
ε(i)=errorε(i)=error
这里的error也就是模型和实际数值之间的误差值
根据中心极限定理(许多独立随机变量组合会符合高斯分布),我们可以接着假设误差项符合高斯分布:
ε(i)∼N(0,σ2)ε(i)∼N(0,σ2)
即概率密度函数为
P(ε(i))=12π√σexp(−(ε(i))22σ2)P(ε(i))=12πσexp(−(ε(i))22σ2) - 上述误差函数的概率密度函数服从高斯分布,则我们易知:
P(y(i)|x(i);θ)=12π√σexp(−(y(i)−θTx(i))22σ2)P(y(i)|x(i);θ)=12πσexp(−(y(i)−θTx(i))22σ2)
即:y(i)|x(i);θ∼N(θTx(i),σ2)y(i)|x(i);θ∼N(θTx(i),σ2)
这里需要特别注意,我们不把θθ认为是随机变量,而是有着我们未知的确定值,也就是把它看成我们需要去估计得到的值,也就是说上面的概率P(y(i)|x(i);θ)P(y(i)|x(i);θ) 意思是以θθ为参数时,给定x(i)x(i)条件下y(i)y(i)的条件概率分布 - 假设不同输入x(i)x(i)对应误差项ε(i)ε(i)是独立同分布(IID:Independently and Identically Distributed;意思是条件独立的,但是都服从同一均值方差的高斯分布):
则我们的模型可以用概率模型定义为一个极大似然估计问题:
L(θ)=P(y⃗ |x;θ)=∏i=1mP(y(i)|x(i);θ)=∏i=1m12π−−√σexp⎛⎝−(y(i)−θTx(i))22σ2⎞⎠L(θ)=P(y→|x;θ)=∏i=1mP(y(i)|x(i);θ)=∏i=1m12πσexp(−(y(i)−θTx(i))22σ2)
4. 所以最后我们的寻找最优模型的参数θθ问题变成了一个求上式关于θθ的极大似然估计问题,为了方便计算,我们常常求对数似然,得到:
logL(θ)=log∏i=1m12π−−√σexp⎛⎝−(y(i)−θTx(i))22σ2⎞⎠=mlog12π−−√σ+∑i=1m−(y(i)−θTx(i))22σ2logL(θ)=log∏i=1m12πσexp(−(y(i)−θTx(i))22σ2)=mlog12πσ+∑i=1m−(y(i)−θTx(i))22σ2
所以从上式易知,最大化logL(θ)logL(θ)问题就相当于最小化∑mi=1(y(i)−θTx(i))22σ2∑i=1m(y(i)−θTx(i))22σ2问题,也就是我们定义的loss
二、logistics回归加sigmoid原因以及交叉熵损失函数推导
我们知道,其实逻辑回归模型变成了分类问题,但只是在线性回归的基础上加上了一个sigmoid函数,那么问题来了:
1. 为什么我们要选择使用一个sigmoid函数?
大家可以移步参考知乎上的回答:https://www.zhihu.com/question/35322351
2. 交叉熵损失函数的推导
- 同线性回归,我们可以把我们的模型用概率表示:
P(y(i)=1|x(i);θ)=hθ(x(i))P(y(i)=1|x(i);θ)=hθ(x(i))
P(y(i)=0|x(i);θ)=1−hθ(x(i))P(y(i)=0|x(i);θ)=1−hθ(x(i))
- 我们可以进一步把两式整合:
P(y(i)|x(i);θ)=hθ(x(i))y(i)(1−hθ(x(i)))(1−y(i))P(y(i)|x(i);θ)=hθ(x(i))y(i)(1−hθ(x(i)))(1−y(i))
- 同样我们可以把模型最优问题看做是极大似然估计问题:
L(θ)=P(y⃗ |x;θ)=∏mi=1P(y(i)|x(i);θ)=∏mi=1hθ(x(i))y(i)(1−hθ(x(i)))(1−y(i))L(θ)=P(y→|x;θ)=∏i=1mP(y(i)|x(i);θ)=∏i=1mhθ(x(i))y(i)(1−hθ(x(i)))(1−y(i))
- 还是去对数似然:
logL(θ)=∑mi=1y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))logL(θ)=∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
则,得证交叉熵函数