机器学习入门之《统计学习方法》笔记整理——逻辑斯谛回归

本文介绍了逻辑回归的基本概念,包括逻辑斯谛分布及其图形特征,详细解析了二项逻辑斯谛回归模型的工作原理及数学表达,并给出了Python实现代码。此外还讨论了多项逻辑斯谛回归在多分类问题中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  逻辑回归(logistic regression)是统计学习中的经典分类方法。其多用在二分类{0,1}问题上。最大嫡是概率模型学习的一个准则将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑回归模型与最大熵模型都属于对数线性模型。


目录

##逻辑斯谛回归模型

###逻辑斯谛分布

  设X是连续随机变量, X X X 服从逻辑斯谛分布是指 X X X 具有下列分布函数和密度函数

F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) / γ F(x)=P(X\leq x)=\frac{1}{1+e^{-(x-\mu)/\gamma}} F(x)=P(Xx)=1+e(xμ)/γ1

f ( x ) = F ′ ( x ) = e − ( x − μ ) / γ γ ( 1 + e − ( x − μ ) / γ ) 2 f(x)=F^{'}(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} f(x)=F(x)=γ(1+e(xμ)/γ)2e(xμ)/γ

  分布函数属于逻辑斯谛函数,其图形是一条S形曲线。

这里写图片描述

二项逻辑斯谛回归模型

  二项逻辑回归模型(binomial logistic regression model)是一种分类模型,用于二类分类。由条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 表示,形式为参数化的逻辑分布。这里,随机变量X取值为实数,随机变量Y取值为1或0。

  二项逻辑斯谛回归模型是如下条件概率分布:

P ( Y = 1 ∣ x ) = exp ⁡ ( w ⋅ x + b ) 1 + exp ⁡ ( w ⋅ x + b ) P(Y=1|x)=\frac{\exp(w\cdot x+b)}{1+\exp(w\cdot x+b)} P(Y=1x)=1+exp(wx+b)exp(wx+b)

P ( Y = 0 ∣ x ) = 1 1 + exp ⁡ ( w ⋅ x + b ) P(Y=0|x)=\frac{1}{1+\exp(w\cdot x+b)} P(Y=0x)=1+exp(wx+b)1

  其中, x ∈ R n , Y ∈ { 0 , 1 } x\in\mathbb{R}^n,Y\in \{ 0,1 \} xRn,Y{0,1} w ∈ R n w\in\mathbb{R}^n wRn b ∈ R b\in\mathbb{R} bR .

  逻辑回归对线性回归经行了归一化操作,将输出范围规定在{0,1}。

  几率,指一件事件发生的概率与不发生的概率的比值,那么事件的对数几率或logit函数是

l o g i t ( p ) = log ⁡ p 1 − p logit(p)=\log \frac{p}{1-p} logit(p)=log1pp

  因此,

l o g i t ( p ) = log ⁡ P ( Y = 1 ∣ x ) 1 − P ( Y = 1 ∣ x ) = w ⋅ x logit(p)=\log \frac{P(Y=1|x)}{1-P(Y=1|x)}=w\cdot x logit(p)=log1P(Y=1x)P(Y=1x)=wx

  这就是说,在逻辑回归模型中,输出Y=1的对数几率是输入x的线性函数。

  通过逻辑回归模型可以将线性函数转化为概率:

P ( Y = 1 ∣ x ) = exp ⁡ ( w ⋅ x ) 1 + exp ⁡ ( w ⋅ x ) P(Y=1|x)=\frac{\exp(w\cdot x)}{1+\exp(w\cdot x)} P(Y=1x)=1+exp(wx)exp(wx)

  线性函数值越接近正无穷,概率越接近1;线性函数值越接近负无穷,概率值越接近0。这样的模型称为逻辑回归模型。

Python代码如下:

import numpy as np
def predict(x,w):
    return 1.0/1.0+np.e**(-x.dot(w))

def iter_w(x, y, a, w):
    prediction = predict(x,w)
    g = (prediction - y) * x
    w = w+ a * g * (1.0 / y.size)
    return w

while counter < max_epochs:
    counter += 1
    for i in range(len(Y)):
        w = update(X[i,:], Y[i], a, w)

###模型参数估计

  逻辑斯谛回归模型学习时,可以利用极大似然估计法估计模型参数

  似然函数:

∏ i = 1 N P ( Y = 1 ∣ x i ) y i ( 1 − P ( Y = 1 ∣ x i ) ) 1 − y i \prod \limits_{i=1}^{N} P(Y=1|x_i)^{y_i}(1-P(Y=1|x_i))^{1-y_i} i=1NP(Y=1xi)yi(1P(Y=1xi))1yi

  对数似然函数:

KaTeX parse error: No such environment: align* at position 7: \begin{̲a̲l̲i̲g̲n̲*̲}̲ &L(w)=\sum \li…

  这样子,我们有了损失函数,这里我们只要将该函数极大化即可,求其最大值时的 w w w 即可。

  具体过程可参考Andrew Ng的CS229讲义, Part 2 logistic regression部分,翻译)

###多项逻辑斯谛回归

  多项逻辑斯谛回归用于多分类问题,其模型为

P ( Y = k ∣ x ) = exp ⁡ ( w k ⋅ x ) 1 + ∑ k = 1 K − 1 exp ⁡ ( w k ⋅ x ) , k = 1 , 2 , . . . , K − 1 P(Y=k|x)=\frac{\exp(w_k\cdot x)}{1+\sum \limits_{k=1}^{K-1} \exp(w_k\cdot x)},k=1,2,...,K-1 P(Y=kx)=1+k=1K1exp(wkx)exp(wkx),k=1,2,...,K1

P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 exp ⁡ ( w k ⋅ x ) P(Y=K|x)=\frac{1}{1+\sum \limits_{k=1}^{K-1} \exp(w_k\cdot x)} P(Y=Kx)=1+k=1K1exp(wkx)1

##参考文章

  1. 《统计学习方法》第六章逻辑斯蒂回归与最大熵模型学习笔记
  2. 统计学习方法 李航—第6章 逻辑回归与最大熵模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Quanfita

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

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

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

打赏作者

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

抵扣说明:

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

余额充值