逻辑斯蒂函数
引入: 在线性感知器算法中,我们使用了一个f(x)=x函数,作为激励函数,而在逻辑斯蒂回归中,我们将会采用sigmoid函数作为激励函数,所以它被称为sigmoid回归也叫对数几率回归(logistic
regression),需要注意的是,虽然它的名字中带有回归,但事实上它并不是一种回归算法,而是一种分类算法。它的优点是,它是直接对分类的可能性进行建模的,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题,因为它是针对于分类的可能性进行建模的,所以它不仅能预测出类别,还可以得到属于该类别的概率。除此之外,sigmoid函数它是任意阶可导的凸函数。在这篇文章中,将会使用到梯度上升算法,可能有很多同学学到这里会有点迷糊,之前我们所使用的是,梯度下降算法为什么到这里却使用的是梯度上升算法?
解释logistic回归为什么要使用sigmoid函数
hθ=g(θTX)=11+e−θTXh_{\theta} = g(\theta^TX) = \frac{1}{1 + e^{-\theta^TX}}hθ=g(θTX)=1+e−θTX1
hw=g(wTX)=11+e−wTXh_w = g(w^TX) = \frac{1}{1 + e^{-w^TX}} hw=g(wTX)=1+e−wTX1
hw=g(Xw)=11+e−Xwh_w = g(Xw) = \frac{1}{1 + e^{-Xw}} hw=g(Xw)=1+e−Xw1
准备数据
import numpy as npX = np.random.randn(50,4)
X.shapew = np.random.randn(4)
X[[0]].dot(w)#或者 w.T.dot(X[0])
3.154665990657282
'''假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,
两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,
但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀
的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。
这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。
假如在前面的一百次重复记录中,
有七十次是白球,请问罐中白球所占的比例最有可能是多少?'''
# 请问罐子中白球的比例是多少?很多种可能10%,5%,95%……
# 请问罐子中白球的比例最有可能是多少?70%,进行精确计算,‘感觉’
# ‘感觉’的计算
# 假设白球的概率是p,黑球1-p
# 取出一个球是白球的概率 :p
# 取出两个球,都是白球的概率:p**2
# 取出3个球,2个白球一个黑球的概率:p**2*(1-p)
# 取出100个球,70是白球,30个是黑球,概率:p**70*(1-p)**30
f(p) = p**70*(1-p)**30
f(p)=p70∗(1−p)30f(p) = p^{70}*(1-p)^{30}f(p)=p70∗(1−p)30
70∗p69∗(1−p)30+p70∗30∗(1−p)29∗(−1)=070*p^{69}*(1-p)^{30} + p^{70}*30*(1-p)^{29}*(-1) = 070∗p69∗(1−p)30+p70∗30∗(1−p)29∗(−1)=0
70∗(1−p)−p∗30=070*(1-p) - p*30 = 070∗(1−p)−p∗30=0
70−100∗p=070 - 100*p = 070−100∗p=0
p=0.7p = 0.7p=0.7
l(θ)越大越好,梯度上升优化l(\theta) 越大越好,梯度上升优化l(θ)越大越好,梯度上升优化
J(θ)=−l(θ)越小越好,梯度下降了J(\theta) = -l(\theta)越小越好,梯度下降了J(θ)=−l(θ)越小越好,梯度下降了
将似然函数变成log函数
梯度上升添加符号就变为梯度下降
再求导求出j点的梯度
!!!
我是这样认为的:所谓的梯度“上升”和“下降”,一方面指的是你要计算的结果是函数的极大值还是极小值。计算极小值,就用梯度下降,计算极大值,就是梯度上升;另一方面,运用上升法的时候参数是不断增加的,下降法是参数是不断减小的。但是,在这个过程中,“梯度”本身都是下降的。
提取共同系数
hθ=g(θTX)=11+e−θTXh_{\theta} = g(\theta^TX) = \frac{1}{1 + e^{-\theta^TX}}hθ=g(θTX)=1+e−θTX1
1(1+e−θTX)2∗e−θTX∗∂∂θjθTX\frac{1}{(1 + e^{-\theta^TX})^2}*e^{-\theta^TX}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}(1+e−θTX)21∗e−θTX∗∂θj∂θTX
1(1+e−θTX)∗e−θTX(1+e−θTX)∗∂∂θjθTX\frac{1}{(1 + e^{-\theta^TX})}*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}(1+e−θTX)1∗(1+e−θTX)e−θTX∗∂θj∂θTX
g(θTXi)∗e−θTX(1+e−θTX)∗∂∂θjθTXg(\theta^TX^i)*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}g(θTXi)∗(1+e−θTX)e−θTX∗∂θj∂θTX
g(θTXi)∗e−θTX(1+e−θTX)∗∂∂θjθTXg(\theta^TX^i)*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}g(θTXi)∗(1+e−θTX)e−θTX∗∂θj∂θTX
1−g(θTXi)=1−11+e−θTX=1+e−θTX1+e−θTX−11+e−θTX=e−θTX1+e−θTX1 - g(\theta^TX^i)=1 - \frac{1}{1 + e^{-\theta^TX}} = \frac{1 + e^{-\theta^TX}}{1 + e^{-\theta^TX}} - \frac{1}{1 + e^{-\theta^TX}} = \frac{e^{-\theta^TX}}{1 + e^{-\theta^TX}}1−g(θTXi)=1−1+e−θTX1=1+e−θTX1+e−θTX−1+e−θTX1=1+e−θTXe−θTX
g=11+e−xg = \frac{1}{1 + e^{-x}}g=1+e−x1
g′=g∗(1−g)g^{\prime} = g*(1 -g)g′=g∗(1−g)
手写笔记个人总结使用
可参考
彻底搞懂逻辑斯蒂回归
PS:公众号内回复 :Python,即可获取最新最全学习资源!
破解专业版pycharm参考博客www.wakemeupnow.cn公众号:刘旺學長
内容詳細:【个人分享】今年最新最全的Python学习资料汇总!!!
以上,便是今天的分享,希望大家喜欢,
觉得内容不错的,欢迎点击分享支持,谢谢各位。
单纯分享,无任何利益相关!