机器学习中的分类问题

本文探讨机器学习中的分类问题,以iris数据集为例,重点介绍了逻辑回归和线性判别分析两种常用模型。逻辑回归通过引入logistic函数解决分类问题,而线性判别分析则是经典线性分类器,可以从降维分类和贝叶斯视角进行理解。

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

机器学习中的分类问题

本文选择 iris 数据集作为分类问题的案例,使用 ROC 曲线作为评判模型分类效果的指标。

常用的分类模型

逻辑回归

回归问题与分类问题的主要区别在于因变量的数据类型不同,分类问题的因变量不再是连续型的数值变量,而是离散型的。

当然使用线性回归处理分类问题是可以进行的,例如将某个值作为分类的阈值,将预测的因变量值划分到合适的类别之中,但仍然会造成以下几个问题:

  • 因变量的预测值可能会出现负值等在现实情形中无法解释或没有实际意义的情况。

  • 异常值(极端值)对于模型效果的影响很大。

  • 对于多类别的分类问题,找到合适的分类阈值是困难的。

逻辑回归( logistic regression )是在线性回归的基础上加以改进的,它引入了 logistic 函数,从而将线性回归的结果映射到【0,1】区间,从而拟合样本属于某个特定类别的概率:

p ( Y = 1 ∣ X = x ) = 1 1 + e − w T x p(Y=1|X=x) = \dfrac{1}{1+e^{-w^Tx}} p(Y=1X=x)=1+ewTx1

这里以二元分类为例(逻辑回归依旧不大适用于多分类问题),其中 Y Y Y 的取值可以为 0 0 0 1 1 1 ,分别代表两个不同类别,且记 p ( Y = 1 ∣ X = x ) = p 1 p(Y=1|X=x) = p_1 p(Y=1X=x)=p1 ,显然 Y Y Y 服从0-1分布,故可得其条件密度函数为 p ( Y = y ∣ X = x ) = p 1 y ( 1 − p 1 ) 1 − y p(Y=y|X=x) = p_1^y(1-p_1)^{1-y} p(Y=yX=x)=p1y(1p1)1y

依统计学的方法使用极大似然估计来获取模型参数 w w w ,即:

w ^ = arg max ⁡ w log ⁡ P ( Y ∣ X ) = arg max ⁡ w log ⁡ ∏ i = 1 N P ( y i ∣ x i ) = arg max ⁡ w ∑ i = 1 N log ⁡ P ( y i ∣ x i ) = arg max ⁡ w ∑ i = 1 N ( y i l o g    p 1 + ( 1 − y i ) l o g ( 1 − p 1 ) ) \begin{aligned} \hat{w} &= \argmax_w \log P(Y|X) = \argmax_w \log \prod_{i=1}^N P(y_i|x_i) \\ &= \argmax_w \sum\limits_{i=1}^{N} \log P(y_i|x_i) = \argmax_w \sum\limits_{i=1}^{N}(y_ilog\;p_1 + (1-y_i)log(1-p_1)) \\ \end{aligned} w^=wargmaxlogP(YX)=wargmaxlogi=1NP(yixi)=wargmaxi=1NlogP(yixi)=wargmaxi=1N(yilogp1+(1yi)log(1p1))

L ( w ) = ∑ i = 1 N ( y i l o g    p 1 + ( 1 − y i ) l o g ( 1 − p 1 ) ) L(w) = \sum\limits_{i=1}^{N}(y_ilog\;p_1 + (1-y_i)log(1-p_1)) L(w)=i=1N(yilogp1+(1yi)log(1p1)) ,可以看出极大似然估计和以交叉熵函数作为损失函数是等价的。

通过求其偏导,进一步求解 w w w 估计值可得:

∂ L ∂ w k = ∑ i = 1 N y i 1 p 1 ∂ p 1 ∂ z ∂ z ∂ w k + ( 1 − y i ) 1 1 − p 1 ( − ∂ p 1 ∂ z ∂ z ∂ w k )        = ∑ i = 1 N y i 1 σ ( z ) ( σ ( z i ) − σ ( z i ) 2 ) x i + ( 1 − y i ) 1 1 − σ ( z i ) [ − ( σ ( z i ) − σ ( z i ) 2 ) x i ]        = ∑ i = 1 N [ ( y i − y i σ ( z i ) ) x i + ( 1 − y i ) ( − σ ( z i ) ) x i ]        = ∑ i = 1 N y i x i − σ ( z i ) x i = ∑ i = 1 N ( y i − σ ( z i ) ) x i \dfrac{\partial L}{\partial w_k} = \sum\limits_{i=1}^{N} y_i\frac{1}{p_1}\frac{\partial p_1}{\partial z}\frac{\partial z}{\partial w_k} + (1-y_i)\frac{1}{1-p_1}(-\frac{\partial p_1}{\partial z}\frac{\partial z}{\partial w_k})\\ \;\;\;=\sum\limits_{i=1}^{N}y_i\frac{1}{\sigma(z)}(\sigma(z_i)-\sigma(z_i)^2)x_i + (1-y_i)\frac{1}{1-\sigma(z_i)}[-(\sigma(z_i)-\sigma(z_i)^2)x_i]\\ \;\;\; =\sum\limits_{i=1}^{N}[(y_i-y_i\sigma(z_i))x_i + (1-y_i)(-\sigma(z_i))x_i]\\ \;\;\; = \sum\limits_{i=1}^{N}y_ix_i-\sigma(z_i)x_i = \sum\limits_{i=1}^{N}(y_i-\sigma(z_i))x_i wkL=i=1Nyip11zp1wkz+(1yi)1p11(zp1wkz)=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值