机器学习中的分类问题
本文选择 iris 数据集作为分类问题的案例,使用 ROC 曲线作为评判模型分类效果的指标。
常用的分类模型
逻辑回归
回归问题与分类问题的主要区别在于因变量的数据类型不同,分类问题的因变量不再是连续型的数值变量,而是离散型的。
当然使用线性回归处理分类问题是可以进行的,例如将某个值作为分类的阈值,将预测的因变量值划分到合适的类别之中,但仍然会造成以下几个问题:
-
因变量的预测值可能会出现负值等在现实情形中无法解释或没有实际意义的情况。
-
异常值(极端值)对于模型效果的影响很大。
-
对于多类别的分类问题,找到合适的分类阈值是困难的。
逻辑回归( logistic regression )是在线性回归的基础上加以改进的,它引入了 logistic 函数,从而将线性回归的结果映射到【0,1】区间,从而拟合样本属于某个特定类别的概率:
p(Y=1∣X=x)=11+e−wTxp(Y=1|X=x) = \dfrac{1}{1+e^{-w^Tx}}p(Y=1∣X=x)=1+e−wTx1
这里以二元分类为例(逻辑回归依旧不大适用于多分类问题),其中 YYY 的取值可以为 000 或 111 ,分别代表两个不同类别,且记 p(Y=1∣X=x)=p1p(Y=1|X=x) = p_1p(Y=1∣X=x)=p1 ,显然 YYY 服从0-1分布,故可得其条件密度函数为 p(Y=y∣X=x)=p1y(1−p1)1−yp(Y=y|X=x) = p_1^y(1-p_1)^{1-y}p(Y=y∣X=x)=p1y(1−p1)1−y
依统计学的方法使用极大似然估计来获取模型参数 www ,即:
w^=arg maxwlogP(Y∣X)=arg maxwlog∏i=1NP(yi∣xi)=arg maxw∑i=1NlogP(yi∣xi)=arg maxw∑i=1N(yilog p1+(1−yi)log(1−p1)) \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(Y∣X)=wargmaxlogi=1∏NP(yi∣xi)=wargmaxi=1∑NlogP(yi∣xi)=wargmaxi=1∑N(yilogp1+(1−yi)log(1−p1))
记 L(w)=∑i=1N(yilog p1+(1−yi)log(1−p1))L(w) = \sum\limits_{i=1}^{N}(y_ilog\;p_1 + (1-y_i)log(1-p_1))L(w)=i=1∑N(yilogp1+(1−yi)log(1−p1)) ,可以看出极大似然估计和以交叉熵函数作为损失函数是等价的。
通过求其偏导,进一步求解 www 估计值可得:
∂L∂wk=∑i=1Nyi1p1∂p1∂z∂z∂wk+(1−yi)11−p1(−∂p1∂z∂z∂wk) =∑i=1Nyi1σ(z)(σ(zi)−σ(zi)2)xi+(1−yi)11−σ(zi)[−(σ(zi)−σ(zi)2)xi] =∑i=1N[(yi−yiσ(zi))xi+(1−yi)(−σ(zi))xi] =∑i=1Nyixi−σ(zi)xi=∑i=1N(yi−σ(zi))xi \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 ∂wk∂L=i=1∑Nyip11∂z∂p1∂wk∂z+(1−yi)1−p11(−∂z∂p1∂wk∂z)=i=1∑Nyiσ(z)1(σ(zi)−σ(zi)2)xi</

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





