欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】逻辑斯蒂回归原理

发布时间:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【机器学习】逻辑斯蒂回归原理 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

逻辑斯蒂函数

引入: 在线性感知器算法中,我们使用了一个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+ewTX1

hw=g(Xw)=11+e−Xwh_w = g(Xw) = \frac{1}{1 + e^{-Xw}} hw=g(Xw)=1+eXw1

准备数据

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(1p)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) = 070p69(1p)30+p7030(1p)29(1)=0

70∗(1−p)−p∗30=070*(1-p) - p*30 = 070(1p)p30=0

70−100∗p=070 - 100*p = 070100p=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)21eθ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}}1g(θTXi)=11+eθTX1=1+eθTX1+eθTX1+eθTX1=1+eθTXeθTX

g=11+e−xg = \frac{1}{1 + e^{-x}}g=1+ex1

g′=g∗(1−g)g^{\prime} = g*(1 -g)g=g(1g)

手写笔记个人总结使用




可参考
彻底搞懂逻辑斯蒂回归

PS:公众号内回复 :Python,即可获取最新最全学习资源!

破解专业版pycharm参考博客www.wakemeupnow.cn公众号:刘旺學長

内容詳細:【个人分享】今年最新最全的Python学习资料汇总!!!


以上,便是今天的分享,希望大家喜欢,
觉得内容不错的,欢迎点击分享支持,谢谢各位。

单纯分享,无任何利益相关!

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的【机器学习】逻辑斯蒂回归原理的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。