线性回归和逻辑回归损失函数推导

@(数据挖掘)


 

  • 线性回归和逻辑回归损失函数推导
  • 一、线性回归最小二乘loss推导
  • 二、logistics回归加sigmoid原因以及交叉熵损失函数推导

 

一、线性回归最小二乘loss推导

我们都知道线性回归是机器学习中最简单,使用范围也很广的一个算法,经典且使用。而它的损失函数最小二乘损失,大家也很熟悉,但是为什么要用最小二乘loss呢?正文开始: 
可以通过一系列假设,从概率的角度去说明为什么选最小二乘(按理说,我们有许多函数可以定义损失)。 
我们这里的假设证明不是唯一的,还有许多方法可以证明,有兴趣的可以自行google。

  1. 假设: 
    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)
  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)的条件概率分布
  3. 假设不同输入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))) 
则,得证交叉熵函数