哈工大-机器学习-实验二:Logistic Regression

本文介绍了使用LogisticRegression解决二分类问题,通过实验理解并实现逻辑回归模型的参数估计,包括无惩罚项和加入L2正则化的参数估计。实验涉及最大似然估计(MLE)和贝叶斯估计(MAP),并采用牛顿法求解损失函数的优化解。在不同条件下,对比了满足和不满足朴素贝叶斯假设以及有无正则项的情况对模型性能的影响,验证了正则项在防止过拟合中的作用。此外,实验还展示了在UCI数据集上的应用,如Skin和Iris数据集,进一步证明了逻辑回归的有效性。

Logistic Regression解决二分类问题

一、实验目的

理解逻辑回归模型,掌握逻辑回归模型的参数估计算法。

二、实验要求及实验环境

要求

实现两种损失函数的参数估计(1,无惩罚项;2.加入对参数的惩罚),可以采用梯度下降、共轭梯度或者牛顿法等。

实验环境

windows10、python3.7.4、pycharm2020.2

三、数学原理

3.1 实验目的及假设

实验目的:

TrainingSet:<X1,Y1>,<X2,Y2>...<Xl,Yl>Training Set:<X^1,Y^1>,<X^2,Y^2>...<X^l,Y^l>TrainingSet<X1,Y1>,<X2,Y2>...<Xl,Yl>中学习到一个分类器
f:X→Y f:X\to Y f:XY
以便于预测一个新的样本XnewX^{new}Xnew所属的类别labellabellabel

实验假设:

  • XXX的每一维属性XiX_iXi都是实数,故XXX可视为形如<X1,X2...Xn><X_1,X_2...X_n><X1,X2...Xn>nnnvectorvectorvector

  • YYYbooleanbooleanboolean值,取值为1或0

  • XiX_iXi关于YYY条件独立

  • P(Xi∣Y=yk)∼N(μik,σi)P(X_i| Y=y_k)\sim N(\mu_{ik},\sigma_{i})P(XiY=yk)N(μik,σi)

  • P(Y)∼B(π)P(Y)\sim B(\pi)P(Y)B(π)

3.2 转化P(Y∣X)P(Y|X)P(YX)

3.2.1 利用实验假设

按照前面的实验假设,结合概率论的知识,我们可以得到:
P(Y=1∣X)=P(Y=1)P(X∣Y=1)P(Y=1)P(X∣Y=1)+P(Y=0)P(X∣Y=0)=11+P(Y=0)P(X∣Y=0)P(Y=1)P(X∣Y=1)=11+exp(lnP(Y=0)P(X∣Y=0)P(Y=1)P(X∣Y=1))=11+exp(ln1−ππ+∑ilnP(Xi∣Y=0)P(Xi∣Y=1)) \begin{aligned} P(Y=1|X)&=\frac{P(Y=1)P(X|Y=1)}{P(Y=1)P(X|Y=1)+P(Y=0)P(X|Y=0)}\\ &=\frac{1}{1+\frac{P(Y=0)P(X|Y=0)}{P(Y=1)P(X|Y=1)}}\\ &=\frac{1}{1+exp(ln\frac{P(Y=0)P(X|Y=0)}{P(Y=1)P(X|Y=1)})}\\ &=\frac{1}{1+exp(ln\frac{1-\pi}{\pi}+\sum_iln\frac{P(X_i|Y=0)}{P(X_i|Y=1)})} \end{aligned} P(Y=1X)=P(Y=1)P(XY=1)+P(Y=0)P(XY=0)P(Y=1)P(XY=1)=1+P(Y=1)P(XY=1)P(Y=0)P(XY=0)1=1+exp(lnP(Y=1)P(XY=1)P(Y=0)P(XY=0))1=1+exp(lnπ1π+ilnP(XiY=1)P(XiY=0))1
由于P(Xi∣Y=yk)=1σi2πexp(−(Xi−μik)22σi2)P(X_i|Y=y_k)=\frac{1}{\sigma_{i}\sqrt{2\pi}}exp(\frac{-(X_i-\mu_{ik})^2}{2\sigma_{i}^2})P(XiY=yk)=σi2π 1exp(2σi2(Xiμik)2)

代回原来的式子,可得
P(Y=1∣X)=11+exp(w0+∑i=1nwiXi)w0=∑iμi12−μi022σi2+ln1−ππ;wi=μi0−μi1σi2 P(Y=1|X)=\frac{1}{1+exp(w_0+\sum_{i=1}^nw_iX_i)} \\ w_0=\sum_i\frac{\mu_{i1}^2-\mu_{i0}^2}{2\sigma_i^2}+ln\frac{1-\pi}{\pi}; w_i=\frac{\mu_{i0}-\mu_{i1}}{\sigma_i^2} P(Y=1X)=1+exp(w0+i=1nwiXi)1w0=i2σi2μi12μi02+

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值