机器学习04:Logistic 回归(逻辑回归)

本文深入介绍了Logistic回归这一分类算法的基础知识,包括Sigmoid函数的作用、假设函数的意义、决策边界的定义及其应用,并探讨了代价函数及梯度下降法的应用,最后简述了多分类问题的解决方案。

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

机器学习04:Logistic 回归

Logistic 回归是一种分类算法

1 什么是分类?

举个例子:肿瘤有恶性肿瘤和良性肿瘤,根据肿瘤的不同特征,比如说大小,我们可以将肿瘤分为恶性肿瘤和良性肿瘤两类,这就是分类。用0表示良性肿瘤,用1表示恶性肿瘤,那么:
y∈{0,1} y\in\left\{0,1\right\} y{0,1}
在这个分类中,结果只能是0或1,但是假设函数hθ(x)h_\theta(\pmb{x})hθ(xxx)可能大于1也可能小于0,为了使hθ(x)h_\theta(\pmb{x})hθ(xxx)保持在[0,1]\left[0,1\right][0,1]的范围内,我们引入Logistic 回归的Sigmoid 函数(也可以叫做Logistic 函数)

2 Sigmoid 函数

Sigmoid 函数:
g(z)=11+e−z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1
Sigmoid 函数的大致形状如下:
在这里插入图片描述

在线性回归中:
hθ(x)=θTx h_\theta(\pmb{x})=\pmb{\theta^T}\pmb{x} hθ(xxx)=θTθTθTxxx
而在Logistic 回归中:
hθ(x)=g(θTx)=11+e−θTx h_\theta(\pmb{x})=g(\pmb{\theta^T}\pmb{x})=\frac{1}{1+e^{-\theta^Tx}} hθ(xxx)=g(θTθTθTxxx)=1+eθTx1

假设函数hθ(x)h_\theta(\pmb{x})hθ(xxx)结果的含义

还是用上面肿瘤的例子,
hθ(x)=恶性肿瘤发生(结果为1)的概率 h_\theta(\pmb{x})=恶性肿瘤发生(结果为1)的概率 hθ(xxx)=1
假如hθ(x)=0.6h_\theta(\pmb{x})=0.6hθ(xxx)=0.6,那么我们可以认为,病人患恶性肿瘤的概率为0.6.
用概率表示为:
P(y=1∣x;θ)=0.6 P(y=1|\pmb{x};\pmb{\theta})=0.6 P(y=1xxx;θθθ)=0.6
并且,
P(y=0∣x;θ)+P(y=1∣x;θ)=1P(y=0∣x;θ)=1−P(y=1∣x;θ) P(y=0|\pmb{x};\pmb{\theta})+P(y=1|\pmb{x};\pmb{\theta})=1\\ P(y=0|\pmb{x};\pmb{\theta})=1-P(y=1|\pmb{x};\pmb{\theta}) P(y=0xxx;θθθ)+P(y=1xxx;θθθ)=1P(y=0xxx;θθθ)=1P(y=1xxx;θθθ)

3 决策边界

Logistic 回归中,
hθ(x)=g(θTx)g(z)=11+e−z h_\theta(\pmb{x})=g(\pmb{\theta^T}\pmb{x})\\ g(z)=\frac{1}{1+e^{-z}} hθ(xxx)=g(θTθTθTxxx)g(z)=1+ez1
假设hθ(x)>0.5h_\theta(\pmb{x})>0.5hθ(xxx)>0.5时,y=1y=1y=1hθ(x)<0.5h_\theta(\pmb{x})<0.5hθ(xxx)<0.5时,y=0y=0y=0. 等价于θTx>0\pmb{\theta^T}\pmb{x}>0θTθTθTxxx>0时,y=1y=1y=1θTx<0\pmb{\theta^T}\pmb{x}<0θTθTθTxxx<0时,y=0y=0y=0.

举个例子,假如我们要对下图中的坐标点进行分类,假如hθ(x)=g(θ0+θ1x1+θ2x2)h_\theta(\pmb{x})=g(\theta_0+\theta_1x_1+\theta_2x_2)hθ(xxx)=g(θ0+θ1x1+θ2x2)θ=[−311]\pmb{\theta}=\begin{bmatrix}-3\\1\\1\end{bmatrix}θθθ=311(如何求解θ\pmb{\theta}θθθ,将会在下面介绍)
在这里插入图片描述
那么当θTx=−3+x1+x2≥0\pmb{\theta^T\pmb{x}}=-3+x_1+x_2\ge0θTxxxθTxxxθTxxx=3+x1+x20时,可以认为y=1y=1y=1,否则,y=0y=0y=0. 直线−3+x1+x2=0-3+x_1+x_2=03+x1+x2=0就是决策边界

对于非线性的决策边界,假如hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)h_\theta(\pmb{x})=g(\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2+\theta_4x_2^2)hθ(xxx)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)θ=[−10011]\pmb{\theta}=\begin{bmatrix}-1\\0\\0\\1\\1\end{bmatrix}θθθ=10011,那么当θTx=−1+x12+x22≥0\pmb{\theta^T\pmb{x}}=-1+x_1^2+x_2^2\ge0θTxxxθTxxxθTxxx=1+x12+x220时,可以认为y=1y=1y=1,否则,y=0y=0y=0. 曲线−1+x12+x22=0-1+x_1^2+x_2^2=01+x12+x22=0就是决策边界
在这里插入图片描述

当然,还会有更复杂的例子,不在一一说明。

4 代价函数

对于一个训练集,有mmm个样本。x∈[x0x1x2⋅⋅⋅xn]x\in\begin{bmatrix}x_0\\x_1\\x_2\\···\\x_n\end{bmatrix}xx0x1x2xnx0=1x_0=1x0=1y∈{0,1}y\in\left\{0,1\right\}y{0,1}hθ(x)=11+e−θTxh_\theta(x)=\frac{1}{1+e^{-\theta^Tx}}hθ(x)=1+eθTx1,如何确定θ\pmb{\theta}θθθ,这就要用到代价函数
代价函数:
J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=12(hθ(x)−y)2 J(\theta)=\frac{1}{m}\sum_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})\\ Cost(h_\theta(x),y)=\frac{1}{2}(h_\theta(x)-y)^2 J(θ)=m1i=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=21(hθ(x)y)2
Cost(hθ(x),y)={−log(hθ(x)),y=1−log(1−hθ(x)),y=0 Cost(h_\theta(x),y)=\begin{cases}-log(h_\theta(x)),&y=1\\ -log(1-h_\theta(x)),&y=0\end{cases} Cost(hθ(x),y)={log(hθ(x)),log(1hθ(x)),y=1y=0
则,
J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))=−1m[∑i=1my(i)log hθ(x(i))+(1−y(i))log (1−hθ(x(i)))] J(\pmb{\theta})=\frac{1}{m}\sum_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})\\=-\frac{1}{m}[\sum_{i=1}^my^{(i)}log\,h_\theta(x^{(i)})+(1-y^{(i)})log\,(1-h_\theta(x^{(i)}))] J(θθθ)=m1i=1mCost(hθ(x(i)),y(i))=m1[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]
为了找到合适的θ\pmb{\theta}θθθ,我们需要min⁡θ J(θ)\min_\theta\,J(\pmb{\theta})minθJ(θθθ)

5 梯度下降法求解 θ\pmb{\theta}θθθ

Repeat:Repeat:Repeat:
θj:=θj−α∂∂θjJ(θ)\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)θj:=θjαθjJ(θ)
(批处理,同时更新)

上式中:
∂∂θjJ(θ)=∑i=1m(hθ(x(i))−y(i))xj(i) \frac{\partial}{\partial\theta_j}J(\theta)=\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θjJ(θ)=i=1m(hθ(x(i))y(i))xj(i)

6 多分类问题

上面我们所讨论的都是二分类问题,对于多分类的问题,我们可以转换成对多个二分类问题来解决。如下图所示:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值