01 分类算法 - Logistic回归 - Logit函数

=== Logit函数 ===

Odds:比值比(优势比),用来衡量特征中分类之间关联的一种方式。
指的是该事件发生的概率与该事件不发生的概率的比值: p/1-p

Logit函数,logit(p) = log(Odds)


Logit函数

我们假设:logit (p) 和 X 之间服从一个线性关系,因为当他们之间呈现线性关系的时候,可以帮助我们做分类。

为什么可以这样假设?
其实就像 hθ(x) = θTX一样,我们假设其呈现线性关系,然后求出θ值,最后建立模型一个道理。

搞清楚后以上的思路后,我们继续演绎。对于logit (p)可以做如下的转化:

最后得到的公式,我们称为 Logistic/sigmoid函数:

Logistic/sigmoid函数

Logistic函数的图像:

图像

重点:
Odds:比值比(优势比),用来衡量特征中分类之间关联的一种方式。指的是该事件发生的概率与该事件不发生的概率的比值: p/1-p

我们最终得到的是一个θTx 和p之间的映射。
在图像中的体现是: p(θTx ) + p(-θTx ) = 1

通过把θTx 传输到函数中后,我们可以得到的返回值在0~1之间。
在θTx =0这一点的时候,p=0.5;
θTx越小,p趋向于0;
θTx越大,p趋向于1;

===Logistic回归 ===

Logistic函数的“定义域”和“值域” :

Logistic回归的中心目标是求解二元分类的问题。
所以值域中,我们设y的取值为0或1。
接下来分析一下p和y的关系。

y:最终分类的结果。y=1 or y=0
p:指的是该事件发生的概率。即y=1的概率。

我们可以自定义一个事情发生概率的阈值 h
如果y=1的概率大于h,我们认为预测的结果y^是1
如果y=1的概率小于h,我们认为预测的结果y^是0

但是如果加入了自定义阈值设定的话,意味着我们人为的经验被纳入运算的过程中了,那么会导致最终的预测结果产生一定的偏差,所以不建议使用。
就根据sigmoid函数的对称轴 h=0.5 作为分类的阈值即可。


Logistic/sigmoid函数:

令:z = θTx

链式法则求导: g'(z) = g(z)*(1-g(z))
这个结论很重要,因为在用梯度下降法求极值的时候需要用到原函数的导数。


对于y的值不是取1就是去0的情况,满足数学里的伯努利分布亦称零一分布两点分布

p:也就是y=1的概率。

Logistic回归满足的两个假设:
1、某一点观测值随机变量 y|x 服从伯努利分布。
2、各个观测值y之间独立。

1、假设:

2、似然函数:

思路:
首先,因为观测值是独立同分布的,所以可以用联合概率密度函数,即连乘所有单个样本发生 y=x 情况的概率。

对于所有观测值x中发生了y的概率,连乘求出联合概率密度函数:


联合密度函数

似然函数体现了一种可能性,即当前有一组参数θ,使得观测值X达到上面这种联合概率密度函数值的可能性最大。那么这组θ值就是我想要的。

例子

最后,求解θ的问题转化为求似然函数最大值的问题了。
即θ为何值时,L(θ)最大。
当最大似然函数最大时,对应的θ值就是最优解。

3、对数似然函数:

求函数的最大值,首先要对函数进行求导。然后利用梯度下降的算法求解最小值。
要对原来的最大似然函数求导十分困难,但我们知道函数对应的对数函数,其凹凸性、极值点和原函数是相同的。
而且对数函数的求导会比原函数方便一点,所以我们先取得对数似然函数。


4、对数似然函数求导:

上面的公式是基于假设 [p: y=1] [1-p : y=0 ] 形成的。
如果 [p: y=1] [1-p : y=-1 ]时,对应的似然函数和对数似然是什么?

5、Logistic回归θ参数的求解过程为(类似梯度下降法):

由于我们要求最大似然函数的随机梯度,需要找函数的极大值。
θnew = θold + α* ∂L(θ) / ∂θ
因为是找最大值,所以本质上应该称为梯度上升法。
目标函数 => 对数似然函数 L(θ)的极大值

最大似然函数的随机梯度

上述公式是Logistic回归θ参数的求解 本质,需要重点理解。

6、Logistic回归的损失函数):

机器学习中都需要构造一个损失函数,来衡量系统好坏的函数。损失函数越小,系统越优秀。
但现在我们的目标函数是一个越大越优秀的函数,我们做一个什么操作才能使其成为Logistic回归的损失函数呢?
显然加上一个负号即可。


损失函数

你可能感兴趣的:(01 分类算法 - Logistic回归 - Logit函数)