机器学习基础个人笔记(三)

这篇博客探讨了逻辑回归在分类问题中的应用,特别是在二元分类中的表现。通过实例解释了如何使用线性回归和逻辑回归处理肿瘤良恶性预测,并展示了sigmoid函数在限制输出在0到1之间的作用。此外,还介绍了逻辑回归如何通过一对多的方法解决多类别分类问题,通过构建多个二分类模型来确定最高概率类别。

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

        继续附上前两章的链接

机器学习个人笔记(一)_NanGuai的博客-优快云博客

机器学习个人笔记(二)_NanGuai的博客-优快云博客

目录

逻辑回归

分类问题

假说表示

多类别分类:一对多


逻辑回归

分类问题

        在分类问题中,逻辑回归是一种非常流行的学习算法。最简单的是二分类,即预测结果只有两类,例如判断一封电子邮件是否是垃圾邮件;某辆列车是否能准点到达;还有之前讨论过的根据肿瘤大小(虽然现实中不太靠谱)来预测肿瘤是否为良性。

        就以这个为例,我们来看一下下面这幅图。

        这是一个二元分类,横轴代表的是肿瘤的大小,竖轴1表示为恶性,0表示为良性。将线性回归应用到这个数据集中,拟合出一条直线(红线),并将分类器输出的阈值设置为0.5,即如果输出的值大于0.5则预测y为1,也就是预测为恶性肿瘤,反之亦然。我们可以看到,所得出来的结果貌似还不错,但是如果我们再加入一个训练样本,也就是那个较大的肿瘤(最右边的那个×),那么最后拟合出来的曲线(蓝线)势必会被影响,现在再看这条曲线,好像已经不太准确了。这里插一句,其实我本人感觉这里非常像特征缩放那里说到的,如果特征的维度相差过大,那么会对最后的结果产生一定的影响。

        在分类问题中,y的取值为1或0,但是如果你采用线性回归的学习算法,函数的输出值就可能远大于1或是远小于0。逻辑回归算法就能很好的解决这个问题,它能让输出一直保持在0到1之间。

假说表示

        需要找到一个满足我们假设或者某个性质的函数,要求这个函数的输出值在0到1之间。此时引入一个新的模型——逻辑回归。假设h_{\theta}(x)=g(\theta^TX),其中:X表示特征向量,g表示逻辑函数,公式为:g(z)=\frac{1}{1+e^{-z}},名为sigmoid函数。

        该函数的图像为:

        函数理解:对于给定的z,可以计算出对应的y值,y值表示有多少的概率预测为“1”。

        python代码实现:

import numpy as np
def sigmoid(z):
    return 1 / (1 + np.exp(-z))

多类别分类:一对多

        之前我们所提到的分类问题都是最简单的二分类问题,但生活中不仅仅只存在二分类。比如说人的表情,你可以简单点只分为开心与难过,但是其实人的表情非常复杂,包括生气、开心、难过、害羞等,这便是多分类。

        下面分别是一个二分类和一个多分类(图中为三分类)的数据集。

        利用逻辑回归可以进行二元分类,对于第一幅图我们可以将数据集分为两个部分,那在面对多分类的时候该如何将数据集分为多个部分呢?在我的理解当中,多分类其实就是多次二分类求概率最高,接下来看一下具体操作。

        

        任选一个类别作为正向类,其余样本作为负向类(本例中将三角形为正向类,正方形和红叉为负向类)构建模型,这个模型记为h_{\theta}^{(1)}(x)。类似的操作,将剩下的两个类都各当作一次正向类得到模型h_{\theta}^{(2)}(x)h_{\theta}^{(3)}(x)。图示如下:

        将三个模型简写为:h_{\theta}^{(i)}(x)=p(y=i|x;\theta),当要进行预测时,只需要将预测值输入三个分类器中并取最大i。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值