机器学习之逻辑回归(自学笔记)

一,二分类

二分类问题顾名思义,将某事件分成两类,

例如某幅图片是不是猫,

x=1记为此图片是猫,x=0记为此图片不是猫,假设两个事件的概率如下

P(x=1)=a,P(x=0)=b,很容易知道,二分类的事件的概率和为1,即:

P(x=1) + P (x=0) = 1。

二分类问题是处理分类问题的,将事件分成两类,并且两类的结果是互斥的。

二,Sigmoid函数

(一)Sigmoid函数及其图像

Sigmoid函数的表达式与图像,如下所示,可以看出Sigmoid函数的值域在(0,1)之间,当x-> + ∞ +\infin +,y->1;当x-> − ∞ -\infin ,y->0。
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1

在这里插入图片描述

(二) SIgmoid导数及其图像

求解Sigmoid导数得到如下的结果
∂ f ∂ d = f ( x ) ( 1 − f ( x ) ) \frac{\partial f}{\partial d}=f(x)(1-f(x)) df=f(x)(1f(x))
图像如下导数取到最大值为0.25,并且处处都有导数,并且不为0

在这里插入图片描述

三,逻辑回归

(一) 模型

逻辑回归模型如下,其中x为一维
y = 1 1 + e − d d = w 1 x 1 + w 0 y = \frac{1}{1+e^{-d}}\\ d = w_1x_1 + w_0 y=1+ed1d=w1x1+w0
d在平面内是一条直线,这条直线被称为分类线。当d=0时,y=0.5。

令阈值 θ \theta θ=0.5,如果d>0.5,则将数据划分为一类,记为+1类

若d<0.5,则将数据划分为另一类,记为-1类。

d越大,说明数据点距离分类线越远,也说明分类的可靠性越大。

(二)阈值

θ \theta θ的选取问题。一般情况下阈值选择时0.5,当y>0.5的时候,将其分为一类,当y<0.5,的时候,将其分为另一类。

但是根据实际情况,阈值的选取也是不同的。

例如判断患者是否患病,那么就需要将阈值调低一些,比如0.2,如果得到的结果大于0.2,就要对患者进行进一步的治疗。这种情况宁可错判,也不要漏判。

(三) 选取Sigmoid函数的原因

1,由Sigmoid导函数的图像可知,其导函数处处可导,且都不为0这使得梯度下降成为可能性;

2,Sigmoid函数的图像可知,其值域在(0,1),输出得到的结果,根据阈值进行分类。

四,损失函数

KL距离作为逻辑回归的损失函数,KL距离是用来度量不同概率分布之间 差异
K L ( P , Q ) = ∑ P ( y ) l o g P ( y ) Q ( y ) ∑ P ( y ) = 1 ∑ Q ( y ) = 1 KL(P,Q)= \sum P(y) log \frac{P(y)}{Q(y)} \\ \sum P(y) = 1 \\ \sum Q(y) = 1 KLP,Q=P(y)logQ(y)P(y)P(y)=1Q(y)=1
由于我们现在研究的是二分类问题,+1类的概率是 y ^ \hat{y} y^,那么-1类的概率就是 1 − y ^ 1-\hat{y} 1y^

由于只有二分类,所以可以将KL距离改写成
K L ( y , y ^ ) = y l o g y y ^ + ( 1 − y ) l o g 1 − y 1 − y ^ KL(y,\hat{y})= ylog \frac{y}{\hat{y}} + (1-y)log \frac{1-y}{1-\hat{y}} KLy,y^=ylogy^y+(1y)log1y^1y
由于对数函数的性质可知
l o g b a = l o g b − l o g a log\frac{b}{a} = logb-loga logab=logbloga
所以可以将KL距离进行化简
K L ( y , y ^ ) = y l o g y − y l o g y ^ + ( 1 − y ) l o g ( 1 − y ) − ( 1 − y ) l o g ( 1 − y ^ ) KL(y,\hat{y})= ylog {y}-ylog{\hat{y}} + (1-y)log ({1-y})-(1-y)log({1-\hat{y}}) KLy,y^=ylogyylogy^+(1y)log(1y)(1y)log(1y^)
由于我们要找到和w有关的项, y l o g y ylogy ylogy与w无关,所以将一些去掉,对上式进行化简
K L ( y , y ^ ) = − y l o g y ^ − ( 1 − y ) l o g ( 1 − y ^ ) KL(y,\hat{y})= -ylog{\hat{y}} -(1-y)log({1-\hat{y}}) KLy,y^=ylogy^(1y)log(1y^)
上式就是逻辑回归二分类得到的LOSS函数

如果考虑到所有样本N,就可以得到逻辑函数的损失函数L
L = K L ( y , y ^ ) = ∑ i = 1 N [ − y i l o g y i ^ − ( 1 − y i ) l o g ( 1 − y i ^ ) ] L = KL(y,\hat{y})= \sum\limits_{i=1}^N[-y_ilog{\hat{y_i}} -(1-y_i)log({1-\hat{y_i}})] L=KLy,y^=i=1N[yilogyi^(1yi)log(1yi^)]

五,梯度下降法

由于我们知道Sigmoid导函数处处不为零,这就为使用梯度下降求取w提供了可能性

求解先用一个样本举例
y = 1 1 + e − d d = w 1 x 1 + w 0 ∂ L ∂ w = ∂ L ∂ y ^ ⋅ ∂ y ^ ∂ d ⋅ ∂ d ∂ w y = \frac{1}{1+e^{-d}}\\ d = w_1x_1 + w_0 \\ \frac{\partial L}{\partial w} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial d} \cdot \frac{\partial d}{\partial w} \\ y=1+ed1d=w1x1+w0wL=y^Ldy^wd
使用链式法则得到 w w w w 0 w_0 w0
∂ L ∂ w = ( y ^ − y ) x ∂ L ∂ w 0 = ( y ^ − y ) \frac{\partial L}{\partial w} = (\hat y - y)x \\ \frac{\partial L}{\partial w_0} = (\hat y - y) wL=(y^y)xw0L=(y^y)
如果考虑到所有的样本N,得到 w w w w 0 w_0 w0
∂ L ∂ w = 1 N ∑ i = 1 N ( y ^ − y ) x ∂ L ∂ w 0 = 1 N ∑ i = 1 N ( y ^ − y ) \frac{\partial L}{\partial w} = \frac{1}{N}\sum\limits_{i=1}^N(\hat y - y)x \\ \frac{\partial L}{\partial w_0} = \frac{1}{N}\sum\limits_{i=1}^N(\hat y - y) wL=N1i=1N(y^y)xw0L=N1i=1N(y^y)

六,梯度下降法求解步骤

1,随机初始化, w ( t ) w(t) w(t) w 0 ( t ) w_0(t) w0(t),t为迭代次数

2,在第五章使用梯度下降法求出的结果
∂ L ∂ w ( t ) = 1 N ∑ i = 1 N ( y ^ − y ) x ∂ L ∂ w 0 ( t ) = 1 N ∑ i = 1 N ( y ^ − y ) \frac{\partial L}{\partial w(t)} = \frac{1}{N}\sum\limits_{i=1}^N(\hat y - y)x \\ \frac{\partial L}{\partial w_0(t)} = \frac{1}{N}\sum\limits_{i=1}^N(\hat y - y) w(t)L=N1i=1N(y^y)xw0(t)L=N1i=1N(y^y)
3,更新得到的参数
w ( t + 1 ) = w ( t ) − α ∂ L ∂ w ( t ) w 0 ( t + 1 ) = w 0 ( t ) − α ∂ L ∂ w 0 ( t ) w(t+1) = w(t) - \alpha\frac{\partial L}{\partial w(t)} \\ w_0(t+1) = w_0(t) - \alpha\frac{\partial L}{\partial w_0(t)} w(t+1)=w(t)αw(t)Lw0(t+1)=w0(t)αw0(t)L
4,重复上述1~3步,如果我们指定了或者L足够小就会提前停止更新。

七,正则项

L = K L ( y , y ^ ) = ∑ i = 1 N [ − y i l o g y i ^ − ( 1 − y i ) l o g ( 1 − y i ^ ) ] + λ ∣ ∣ w ∣ ∣ L = KL(y,\hat{y})= \sum\limits_{i=1}^N[-y_ilog{\hat{y_i}} -(1-y_i)log({1-\hat{y_i}})] + \lambda ||w|| L=KLy,y^=i=1N[yilogyi^(1yi)log(1yi^)]+λ∣∣w∣∣

正则项分为L1和L2正则,L1对应的是曼哈顿距离,L2对应的是欧氏距离

如果线性可分,如果按比例将w的各个维度放大,L会不断减小并接近于0。
∑ i = 1 N [ − y i l o g y i ^ − ( 1 − y i ) l o g ( 1 − y i ^ ) ] + λ ∣ ∣ w ∣ ∣ \sum_{i=1}^N[-y_ilog{\hat{y_i}} -(1-y_i)log({1-\hat{y_i}})] + \lambda ||w|| i=1N[yilogyi^(1yi)log(1yi^)]+λ∣∣w∣∣

正则项分为L1和L2正则,L1对应的是曼哈顿距离,L2对应的是欧氏距离

如果线性可分,如果按比例将w的各个维度放大,L会不断减小并接近于0。

所以使用L2正则来防止w的无穷无止的增加。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhi金——金小亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值