逻辑回归
- 逻辑回归本质是线性回归,只是在求解结果的时候加了一层函数映射,将连续值映射到0和1上,达到分类的目的。
Sigmoid函数
g(z)=11+e−z{g(z)=\frac{1}{1+e^{-z}}}g(z)=1+e−z1
g′(z)=(11+e−z)′=e−z(1+e−z)2=g(z)⋅(1−g(z)){g'(z)=(\frac{1}{1+e^{-z}}})'=\frac{e^{-z}}{(1+e^{-z})^2}=g(z) \cdot (1-g(z))g′(z)=(1+e−z1)′=(1+e−z)2e−z=g(z)⋅(1−g(z))
- sigmoid函数的导数在x=0.5x=0.5x=0.5处达到最大值,这就意味着预测值在0.5附近时,可以更快的进行下降,将预测值更加贴近于0或1的数值。
对数回归的假设函数如下,线性回归假设函数只是θTx\theta^TxθTx,
hθ(x)=g(θTx)=11+e−θTxh_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^{T}x}}hθ(x)=g(θTx)=1+e−θTx1
为什么使用Sigmoid函数
首先,如果一个概率分布可以表示成:p(y;η)=b(y)exp(ηTT(y)−a(η))p(y ; \eta)=b(y) \exp \left(\eta^{T} T(y)-a(\eta)\right)p(y;η)=b(y)exp(ηTT(y)−a(η))
,那么这个概率分布可以称为指数分布。
- 说明:伯努利分布,高斯分布,泊松分布,贝塔分布,狄特里特分布都属于指数分布。
而在对数回归时,即加一层Sigmoid函数映射,采用的就是伯努利分布,其概率可以表示成:p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((log(ϕ1−ϕ))y+log(1−ϕ))\begin{aligned} p(y ; \phi) &=\phi^{y}(1-\phi)^{1-y} \\ &=\exp (y \log \phi+(1-y) \log (1-\phi)) \\ &=\exp \left(\left(\log \left(\frac{\phi}{1-\phi}\right)\right) y+\log (1-\phi)\right) \end{aligned}p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((log(1−ϕϕ))y+log(1−ϕ))
其中,η=log(ϕ1−ϕ)\eta=\log(\frac{\phi}{1-\phi})η=log(1−ϕϕ),由此得到ϕ=11+eη\phi=\frac{1}{1+e^{\eta}}ϕ=1+eη1
这就是为什么对数回归的时候要使用Sigmoid函数。
逻辑回归损失函数
- 当事件已经发生了,而未知参数等于多少时,能让这个事情发生的概率最大,执果索因
- 如果想要让所计算的结果更准确,就可以将每次计算的记过进行相乘,让最后的概率最大即可
即极大似然估计法,这里介绍两种损失函数,一种是0、1作为分类标签,一种是以1、-1作为分类标签。
- 第一种损失函数(y_{i]}为标签值)
- 某样本属于正例的概率可以表示为:P(y=1∣x)=exp(w⋅x)1+exp(w⋅x)P(y=1 | x)=\frac{\exp (w \cdot x)}{1+\exp (w \cdot x)}P(y=1∣x)=1+exp(w⋅x)exp(w⋅x)
- 某样本属于负例的概率可以表示为:P(y=0∣x)=11+exp(w⋅x)P(y=0 | x)=\frac{1}{1+\exp (w \cdot x)}P(y=0∣x)=1+exp(w⋅x)1
- 似然函数为:∏i=1N[P(y=1∣xi)]yi[P(y=0∣xi)]1−yi\prod_{i=1}^{N}\left[\mathrm{P}\left(\mathrm{y}=1 | x_{i}\right)\right]^{y_{i}}\left[\mathrm{P}\left(\mathrm{y}=0 | x_{i}\right)\right]^{1-y_{i}}∏i=1N[P(y=1∣xi)]yi[P(y