你来我们毒蛇帮总部干什么|

asdio

园龄:4年7个月粉丝:1关注:0

【监督学习:线性回归和分类】3.分类

逻辑回归

分类问题

假设预测的变量y是离散的值,需要使用逻辑回归(Logistic Regression,LR)的算法,实际上它是一种分类算法。

二元分类

二元分类问题是指y只有两个离散值的情况,例如:

  • 垃圾邮件分类:y=1表示是垃圾邮件,y=0表示不是垃圾邮件
  • 癌症检测:y=1表示患有癌症,y=0表示没有癌症

假说表示

对于二元分类问题,我们可以使用线性回归的假说表示:

hθ(x)=θTx

但是,这样的假说表示有一个问题,就是hθ(x)的值可能大于1或者小于0,而我们需要的是0到1之间的值,因为我们的y只有0和1两个值。

为了解决上面的问题,我们需要一个函数,这个函数的值域是0到1之间的,这样我们就可以把hθ(x)的值限制在0到1之间,这个函数就是Sigmoid函数:

g(z)=11+ez

Sigmoid函数的图像如下:

img

我们把hθ(x)代入Sigmoid函数,得到:

hθ(x)=g(θTx)=11+eθTx

hθ(x)的值域是0到1之间的,把hθ(x)看成是一个概率值,例如hθ(x)=0.7,表示有70%的概率是垃圾邮件,有30%的概率不是垃圾邮件。

决策边界

二元分类的决策边界

img

对于图中的二元分类问题,设

hθ(x)=g(θ0+θ1x1+θ2x2)

当参数θ取值为[3,1,1]时,决策边界为:

3+x1+x2=0

此时,决策边界是一条直线。

多元分类的决策边界

根据训练集的不同,决策边界可能是一条直线,也可能是一条曲线,例如:
img

hθ(x)也可能是其他多项式函数。

代价函数

逻辑回归的参数

逻辑回归的参数是θ,我们需要找到最优的θ,使得hθ(x)尽可能的接近y。

代价函数的选择

如果我们使用线性回归的代价函数,即平方误差代价函数,得到的代价函数是非凸函数,这样的话,我们使用梯度下降法得到的结果可能是局部最优解,而不是全局最优解。

img

为了解决上面的问题,我们需要选择一个新的代价函数,使得代价函数是凸函数。

定义逻辑回归的代价函数为:

J(θ)=1mi=1mCost(hθ(x(i)),y(i))

其中,对Cost函数的定义为:

Cost(hθ(x),y)={log(hθ(x))if y=1log(1hθ(x))if y=0

或者合并写作

Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

在这个代价函数中,当y=1时,如果hθ(x)越接近1,Cost函数的值越小;当y=0时,如果hθ(x)越接近0,Cost函数的值越小。

梯度下降法

代价函数合并写作:

J(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]

为使用梯度下降法,我们需要求出代价函数的偏导数:推导过程如下:

J(θ)θj=1mi=1m[y(i)1hθ(x(i))hθ(x(i))θj+(1y(i))11hθ(x(i))hθ(x(i))θj]=1mi=1m[y(i)1hθ(x(i))(1y(i))11hθ(x(i))]hθ(x(i))θj=1mi=1m[y(i)1hθ(x(i))(1y(i))11hθ(x(i))]hθ(x(i))(1hθ(x(i)))θTx(i)θj=1mi=1m[y(i)(1hθ(x(i)))(1y(i))hθ(x(i))]xj(i)=1mi=1m[y(i)y(i)hθ(x(i))hθ(x(i))+y(i)hθ(x(i))]xj(i)=1mi=1m[y(i)hθ(x(i))]xj(i)=1mi=1m[hθ(x(i))y(i)]xj(i)

不断迭代,直到收敛,得到最优的θ

θj:=θjαJ(θ)θj

正则化问题

过拟合

过拟合是指模型在训练集上表现良好,但是在测试集上表现不好的情况。以线性回归为例,如果我们使用高阶多项式函数来拟合数据,就会出现过拟合的情况。

img

在多项式拟合中,x的次数越高,拟合效果越好,但是相应的预测能力就可能变差。

解决过拟合的方法

解决过拟合的方法有:

  • 增加训练集的数量
  • 减少特征的数量
  • 正则化

正则化

正则化是解决过拟合的一种方法,减少特征的数量防止过拟合的方法是一种特殊的正则化。即将对应参数的值设为0;

正则化是指在代价函数中增加一项,使得参数θ的值尽量小,当参数降低到一定程度时,可以视为这个参数对结果的影响可以忽略不计,这样就可以减少特征的数量,防止过拟合。

代价函数

为了防止参数θ的值过大,我们需要对代价函数进行修改,对参数添加一个很大的倍数,当参数变大后,代价函数会随之变大,这样就可以防止参数过大。

代价函数的正则化形式为:

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

其中,λ是正则化参数,用来控制正则化的程度,λ越大,正则化的程度越大。

λ的选择

λ的选择需要根据实际情况来确定,一般来说,我们可以从一个较小的值开始,然后不断增大λ,直到达到我们的要求。

  • 如果λ太大,会导致模型欠拟合,因为模型的参数都很小,不能很好的拟合数据。
  • 如果λ太小,会导致模型过拟合,因为模型的参数都很大,会导致模型过于复杂,不能很好的拟合数据。

梯度下降法

线性回归的梯度下降法带入新的代价函数,得到:

θj:=θjα[1mi=1m(hθ(x(i))y(i))xj(i)+λmθj]

逻辑回归的梯度下降法带入新的代价函数,得到:

θj:=θjα[1mi=1m(hθ(x(i))y(i))xj(i)+λmθj]

本文作者:asdio

本文链接:https://www.cnblogs.com/agitm/p/17726263.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   asdio  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起