逻辑斯蒂函数
引入: 在线性感知器算法中,我们使用了一个f(x)=x函数,作为激励函数,而在逻辑斯蒂回归中,我们将会采用sigmoid函数作为激励函数,所以它被称为sigmoid回归也叫对数几率回归(logistic
regression),需要注意的是,虽然它的名字中带有回归,但事实上它并不是一种回归算法,而是一种分类算法。它的优点是,它是直接对分类的可能性进行建模的,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题,因为它是针对于分类的可能性进行建模的,所以它不仅能预测出类别,还可以得到属于该类别的概率。除此之外,sigmoid函数它是任意阶可导的凸函数。在这篇文章中,将会使用到梯度上升算法,可能有很多同学学到这里会有点迷糊,之前我们所使用的是,梯度下降算法为什么到这里却使用的是梯度上升算法?
解释logistic回归为什么要使用sigmoid函数
准备数据
import numpy as np
X = np.random.randn(50,4)
X.shape
w = 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
将似然函数变成log函数
梯度上升添加符号就变为梯度下降
再求导求出j点的梯度
!!!
我是这样认为的:所谓的梯度“上升”和“下降”,一方面指的是你要计算的结果是函数的极大值还是极小值。计算极小值,就用梯度下降,计算极大值,就是梯度上升;另一方面,运用上升法的时候参数是不断增加的,下降法是参数是不断减小的。但是,在这个过程中,“梯度”本身都是下降的。
提取共同系数
手写笔记个人总结使用
可参考
彻底搞懂逻辑斯蒂回归
PS:公众号内回复 :Python,即可获取最新最全学习资源!
公众号:刘旺學長