Logistic Regression算法数学原理

Logistic Regression算法是一种被广泛使用的分类算法,Logistic Regression算法是典型的线性分类器,由于算法的复杂度低、容易实现等特点,在工业界得到了广泛的应用,如:利用Logistic Regression算法实现广告的点击率预估。

Logistic Regression模型

Logistic Regression 模型是广义线性模型的一种, 属于线性的分类模型。对于如下图所示的线性可分的问题,需要找到一条直线将两条不同的类区分开,这条直线也称为超平面。

上述的超平面可以用如下的线性函数表示:Wx+b=0
其中W 为权重,b为偏置,若在如下线性不可分的情况下,权重W和偏置b则均为向量形式,也即分离超平面为 WX+b=b+W1x1+W2x2++Wnxn=0 W X + b = b + W 1 x 1 + W 2 x 2 + ⋯ + W n x n = 0

在Logistic Regression算法中,通过对训练样本的学习,最终得到该超平面,将数据分成正负两个类别。那么对于一个具体的样本,怎么判别它属于哪个类别呢?此时,可以使用阈值函数,将样本映射到不同的类别中,常见的阈值函数有Sigmoid函数,其形式如下所示:

sigmoid函数的输出是介于(0,1)之间的,这样我们可以将sigmoid函数看成样本数据的概率密度函数 ,对于输入向量X,其属于正例的概率为:

其中,σ 表示的是Sigmoid函数。那么,对于输入向量X,其属于负例的概率为:
这里写图片描述

损失函数

为求得分离超平面曲线Wx+b=0,需要求解曲线中的参数权重矩阵W和偏置向量b,求解这些参数,需要先定义损失函数。
在上述的Logistic Regression算法中,一个样本属于类别y的概率为:

要求上述问题中的参数W和b,可以使用极大似然法对其进行估计:
假设训练集里有m个训练样本 {(X(1),y(1)),(X(2),y(2)),,(X(m),y(m))} { ( X ( 1 ) , y ( 1 ) ) , ( X ( 2 ) , y ( 2 ) ) , ⋯ , ( X ( m ) , y ( m ) ) }
则其似然函数为:

对于似然函数的极大值的求解,通常使用Log似然函数,在Logistic Regression算法中,通常是将负的Log似然函数作为其损失函数,即the negative log-likelihood (NLL)作为其损失函数,此时,需要计算的是NLL的极小值。损失函数 lW,b l W , b

此时我们要求解的问题是:
这里写图片描述
为求解损失函数的lwb的最小值,使用梯度下降的方法进行求解。

梯度下降法

首先计算损失函数对W,b的梯度:
这里写图片描述
其中, x(i)j x j ( i ) 表示样本 X(i) X ( i ) 的第j个分量,则根据梯度下降法,有以下的参数更新公式:

其中 α α 为学习率。

参考文献

[1] Python机器学习算法(赵志勇著 电子工业出版社)
[2] 统计学习方法(李航著 清华大学出版社)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值