如何理解逻辑回归中的损失函数

逻辑回归是一种用于二分类的模型,通过线性模型结合sigmoid函数实现。损失函数J(θ)用于评估模型在训练集上的拟合效果,其公式为J(θ)=−i=1∑m(yi∗log(yθ(xi))+(1−yi)∗log(1−yθ(xi))),损失越小,拟合越好。求解最优θ通常采用梯度下降,并可通过正则化防止过拟合。

逻辑回归是一种有监督的分类模型,常用于二分类。

线性模型的公式是y(x)=θ0+θ1x1+θ2x2+...+θnxny(x)=\theta_0+\theta_1x_1+\theta_2x_2+...+\theta_nx_ny(x)=θ0+θ1x1+θ2x2+...+θnxn,及y(x)=θTxy(x)=\theta^Txy(x)=θTx。将线性模型带入sigmod函数就是用于二分类的逻辑回归:y(x)=11+e−θTxy(x)=\frac{1}{1+e^{-\theta^T x}}y(x)=1+eθTx1,这里y(x)y(x)y(x)的取值范围是(0,1),根据某个阈值可以将y(x)y(x)y(x)分为0和1。这里的y(x)y(x)y(x)是模型根据输入特征xxx的预测值,和数据的真实值进行比较可以判断模型预测的准确性。

逻辑回归函数的θ\thetaθ需要根据训练数据进行求解,θ\thetaθ的取值可以决定模型对数据的拟合效果,所以以θ\thetaθ为参数的模型在训练集上的预测准确率越大越好。

因此使用损失函数这个评估指标来衡量以θ\thetaθ为参数的模型拟合训练集时造成的信息损失的大小,用这个指标来衡量θ\thetaθ的优劣。

损失函数大小的含义:损失函数越小,模型在训练集上的拟合效果越好。逻辑回归的损失函数的公式如下:

J(θ)=−∑i=1m(yi∗log(yθ(xi))+(1−yi)∗log(1−yθ(xi))) J(\theta)=-\sum_{i=1}^{m}(y_i*log(y_{\theta}(x_i))+(1-y_i)*log(1-y_{\theta}(x_i))) J(θ)=i=1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))

推导过程:

现在有mmm个样本的数据集,其中一个样本iii由特征向量xix_ixi和真实标签yiy_iyi组成。和一个由参数θ\thetaθ组成的逻辑回归模型

对样本iii的预测有如下结果:

  • 样本iii被预测为1的概率:P1=P(yi^=1∣xi,θ)=yθ(xi)P_1=P(\hat{y_i}=1|x_i,\theta)=y_\theta(x_i)P1=P(yi^=1xi,θ)=yθ(xi)

  • 样本iii被预测为0的概率:P0=P(yi^=0∣xi,θ)=1−yθ(xi)P_0=P(\hat{y_i}=0|x_i,\theta)=1-y_\theta(x_i)P0=P(yi^=0xi,θ)=1yθ(xi)

P1P_1P1的值是1时,代表样本被预测为1

P0P_0P0的值时1时,代表样本被预测为1

如果假设样本的真实标签是1则

  • P1=1,P0=0P_1=1,P_0=0P1=1,P0=0预测真确
  • P1=0,P0=1P_1=0,P_0=1P1=0,P0=1预测错误

将这两种情况整合到一个同时可以代表P1,P0P_1,P_0P1,P0式子中:
P(yi^∣xi,θ)=P1yi∗P01−yi P(\hat{y_i}|x_i,\theta)=P_1^{y_i}*P_0^{1-y_i} P(yi^xi,θ)=P1yiP01yi

  • 如果样本的真实标签是1,P(yi^∣xi,θ)=P1=1P(\hat{y_i}|x_i,\theta)=P_1=1P(yi^xi,θ)=P1=1
  • 如果样本的真实标签是0,P(yi^∣xi,θ)=P0=1P(\hat{y_i}|x_i,\theta)=P_0=1P(yi^xi,θ)=P0=1

如果样本的标签值和预测值一样就代表模型的拟合效果好,此时P(yi^∣xi,θ)=1P(\hat{y_i}|x_i,\theta)=1P(yi^xi,θ)=1P(yi^∣xi,θ)P(\hat{y_i}|x_i,\theta)P(yi^xi,θ)是对单个样本iii而言的,对于一个有mmm个样本的训练集而言有mmmP(yi^∣xi,θ)P(\hat{y_i}|x_i,\theta)P(yi^xi,θ)
P=∏i=1mP(yi^∣xi,θ)=∏i=1m(P1yi∗P01−yi)=∏i=1m(yθ(xi)yi∗(1−yθ(xi))1−yi) P=\prod_{i=1}^{m}P(\hat{y_i}|x_i,\theta)\\ = \prod_{i=1}^{m}(P_1^{y_i}*P_0^{1-y_i})\\ =\prod_{i=1}^{m}(y_\theta(x_i)^{y_i}*(1-y_\theta(x_i))^{1-y_i}) P=i=1mP(yi^xi,θ)=i=1m(P1yiP01yi)=i=1m(yθ(xi)yi(1yθ(xi))1yi)
两边同时取对数
logP=log∏i=1m(yθ(xi)yi∗(1−yθ(xi))1−yi)=∑i=1mlog(yθ(xi)yi∗(1−yθ(xi))1−yi)=∑i=1m(logyθ(xi)yi+log(1−yθ(xi))1−yi)=∑i=1m(yilog(yθ(xi))+(1−yi)log(1−yθ(xi))) logP=log\prod_{i=1}^{m}(y_\theta(x_i)^{y_i}*(1-y_\theta(x_i))^{1-y_i})\\ =\sum_{i=1}^{m}log(y_\theta(x_i)^{y_i}*(1-y_\theta(x_i))^{1-y_i})\\ =\sum_{i=1}^{m}(logy_\theta(x_i)^{y_i}+log(1-y_\theta(x_i))^{1-y_i})\\ =\sum_{i=1}^{m}(y_ilog(y_\theta(x_i))+(1-y_i)log(1-y_\theta(x_i))) logP=logi=1m(yθ(xi)yi(1yθ(xi))1yi)=i=1mlog(yθ(xi)yi(1yθ(xi))1yi)=i=1m(logyθ(xi)yi+log(1yθ(xi))1yi)=i=1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))
得到的就是交叉熵函数,对logPlogPlogP取负,得到最后的损失函数
J(θ)=−∑i=1m(yi∗log(yθ(xi))+(1−yi)∗log(1−yθ(xi))) J(\theta)=-\sum_{i=1}^{m}(y_i*log(y_{\theta}(x_i))+(1-y_i)*log(1-y_{\theta}(x_i))) J(θ)=i=1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))

这里需要注意损失函数是求解最优θ\thetaθ的函数,所以这里的自变量是θ\thetaθ

以上就是求解逻辑回归中损失函数的过程,然后需要根据损失函数求解最优的θ\thetaθ,可以使用梯度下降的方法。求解的θ\thetaθ虽然在训练集中的拟合效果非常的好,但可能会出现过拟合的现象,可以使用L1、L2正则化,降低过拟合的影响。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值