Logistic函数的简单理解
问题:为什么会有这个函数,他的物理意义,应用场景,发现(发明)背景,解决的问题都是什么?
回答:
统计学角度
Logisitc模型是广义线性模型中的一类。常用于分类。在业界有相关广泛的应用。常见的如信用评分模型,用于判定某个人的违约概率。
- 动机——logit变换
在现实生活中,有时候需要探究某一事件A发生的概率 P P P与某些因素 X = ( X 1 , X 2 , X 3… X p ) X=(X1,X2,X3…Xp) X=(X1,X2,X3...Xp)之间的关系。考虑到很多情况下,在 P = 0 P=0 P=0或 P = 0 P=0 P=0附近, P P P对 X X X的变化并不敏感,即这附近, X X X需要发生很大的变化才能引起 P P P的微弱改变。如,“农药的剂量为X的情况下,杀死害虫的概率P”之间,就具有这种关系。因此,我们要构造这么一个关于P的函数 θ ( P ) \theta(P) θ(P),使得它在P=0或P=1附近,P的微小变化对应的较大改变,同时,要尽可能简单。于是,自然有了如下构造的特性
∂ θ ( P ) ∂ P = 1 P + 1 1 − P \frac{\partial \theta(P)}{\partial P}=\frac{1}{P}+\frac{1}{1-P} ∂P∂θ(P)=P1+1−P1
于是
θ ( P ) = ln ( P 1 − P ) \theta(P)=\ln \left(\frac{P}{1-P}\right) θ(P)=ln(1−PP)
θ ( P ) \theta(P) θ(P)就是logi变换。 - 模型——Logistic回归
为了建立因变量P与自变量X之间的合理变动关系,一个很自然的假设就是线性关系。即
P = X ′ β P=X^{\prime} \beta P=X′β
但是正如前面所说的,某些情况下,在P=0或P=1附近,P对X的变化并不敏感,即这附近,X需要发生很大的变化才能引起P的微弱改变,而上式简单的线性关系是不能反映这一特征的。这个时候,我们构造的 θ ( P ) \theta(P) θ(P)就派上用场了,于是有了
ln P 1 − P = X ′ β \ln \frac{P}{1-P}=X^{\prime} \beta ln1−PP=X′β
由 ln ( P 1 − P ) = X T β ⟹ P 1 − P = e X T β ⟹ P = e X T β 1 + e X T β \ln \left(\frac{P}{1-P}\right)=\boldsymbol{X}^{T} \boldsymbol{\beta} \Longrightarrow \frac{P}{1-P}=e^{\boldsymbol{X}^{T} \boldsymbol{\beta}} \Longrightarrow P=\frac{e^{\boldsymbol{X}^{T} \beta}}{1+e^{X^{T} \boldsymbol{\beta}}} ln(1−PP)=XTβ⟹1−PP=eXTβ⟹P=1+eXTβeXTβ
于是上式等价于
P = e X ′ β 1 + e X ′ β P=\frac{e^{X^{\prime} \beta}}{1+e^{X^{\prime} \beta}} P=1+eX′βeX′β
这就是 L o g i s t i c Logistic Logistic回归模型。
生活应用
根据上述结论(如上面举得农药杀虫的例子),在 P = 0 P=0 P=0 或 P = 1 P=1 P=1 附近,使得 P P P 对 X T θ X^{T} \theta XTθ的变化并不敏感(即 X X X变化很大, P P P变化很微小)。
因此,我们的目标函数 g ( P ) g(P) g(P)是一个在 P = 0 P=0 P=0 或 P = 1 P=1 P=1 附近, P P P的微小变化,对应 X T θ X^{T} \theta XTθ(即 g ( P ) g(P) g(P) )的较大变化;同时 g ( P ) g(P) g(P) 要足够简单。
从 g ( P ) g(P) g(P)变化入手,想到了求导。
于是,我们比较容易想到这样的一个函数: d ( g ( P ) ) d ( P ) = 1 1 − P + 1 P \frac{d(g(P))}{d(P)}=\frac{1}{1-P}+\frac{1}{P} d(P)d(g(P))=1−P1+P1
这个等式 1 1 − P + 1 P \frac{1}{1-P}+\frac{1}{P} 1−P1+P1在 P = 0 P=0 P=0 或 P = 1 P=1 P=1 附近,数值是接近 ∞ \infty ∞,即变化很大
那么,对上式积分: g ( P ) = ln ( P 1 − P ) g(P)=\ln \left(\frac{P}{1-P}\right) g(P)=ln(1−PP)
又因为: g ( P ) = X T θ g(P)=X^{T} \theta g(P)=XTθ
所以: ln ( P 1 − P ) = X T θ ⇒ P 1 − P = e X T θ ⇒ P = e X T θ 1 + e X T θ = 1 1 + e − X T θ \ln \left(\frac{P}{1-P}\right)=X^{T} \theta \Rightarrow \frac{P}{1-P}=e^{X^{T} \theta} \Rightarrow P=\frac{e^{X^{T} \theta}}{1+e^{X^{T} \theta}}=\frac{1}{1+e^{-X^{T} \theta}} ln(1−PP)=XTθ⇒1−PP=eXTθ⇒P=1+eXTθeXTθ=1+e−XTθ1
所以有结论: P = 1 1 + e − X T θ = h ( X T θ ) P=\frac{1}{1+e^{-X^{T} \theta}}=h\left(X^{T} \theta\right) P=1+e−XTθ1=h(XTθ)
于是logistic函数为 h ( x ) = 1 1 + e − x h(x)=\frac{1}{1+e^{-x}} h(x)=1+e−x1
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225943.html原文链接:https://javaforall.net
