【学习笔记】机器学习(Machine Learning) | 第五章(1)| 分类与逻辑回归

机器学习(Machine Learning)

简要声明

基于吴恩达教授(Andrew Ng)课程视频
BiliBili课程资源



一、逻辑回归的基本原理

逻辑回归是一种常用的分类算法,它可以将线性回归的输出映射到概率空间,从而实现二分类或多分类任务。其核心思想是通过一个线性函数来拟合数据,然后使用激活函数将其输出限制在 [0, 1] 区间内,表示为概率值。

逻辑回归模型的数学表达式为:

f w , b ( x ) = σ ( w x + b ) f_{w,b}(x) = \sigma(w x + b) fw,b(x)=σ(wx+b)

其中, f w , b ( x ) f_{w,b}(x) fw,b(x) 是模型的输出, w w w b b b 分别是权重和偏置项, σ \sigma σ 是激活函数,通常使用 Sigmoid 函数,其定义为:

σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1

通过 Sigmoid 函数,我们可以将线性回归的输出 z = w x + b z = wx + b z=wx+b 转换为概率值。当 z z z 很大时, σ ( z ) \sigma(z) σ(z) 接近于 1;当 z z z 很小时, σ ( z ) \sigma(z) σ(z) 接近于 0。

在这里插入图片描述

  • 在单变量图中,阳性结果同时显示为红色的 ‘X’ 和 y=1。阴性结果为蓝色 ‘O’,位于 y=0 处。
    在线性回归的情况下,y 不限于两个值,而是可以是任何值。
  • 在双变量图中,y 轴不可用。正面结果显示为红色“X”,而负面结果则使用蓝色“O”符号。
    在具有多个变量的线性回归的情况下,y 不会局限于两个值,而类似的图应该是三维的。

分类判断条件

在分类任务中,根据模型的输出来判断样本的类别。逻辑回归模型的分类判断条件如下:

条件分类结果
f w , b ( x ) ≥ 0.5 f_{w,b}(x) \geq 0.5 fw,b(x)0.5 y ^ = 1 \hat{y} = 1 y^=1
f w , b ( x ) < 0.5 f_{w,b}(x) < 0.5 fw,b(x)<0.5 y ^ = 0 \hat{y} = 0 y^=0

决策边界的选择会影响模型的分类结果,可能需要根据具体问题调整。

模型输出的解释

逻辑回归模型的输出可以解释为样本属于正类(1)的概率。数学表达式为:

f w → , b ( x → ) = P ( y = 1 ∣ x → ; w → , b ) f_{\overrightarrow{w}, b}(\overrightarrow{x}) = P(y = 1 | \overrightarrow{x}; \overrightarrow{w}, b) fw ,b(x )=P(y=1∣x ;w ,b)

这意味着,给定输入特征 x → \overrightarrow{x} x 和模型参数 w → , b \overrightarrow{w}, b w ,b,模型输出的是样本 y y y 属于正类(1)的概率。例如,如果 f w → , b ( x → ) = 0.7 f_{\overrightarrow{w}, b}(\overrightarrow{x}) = 0.7 fw ,b(x )=0.7,表示模型预测该样本有 70% 的概率属于正类(1)。

由于概率的性质,我们有:

P ( y = 0 ) + P ( y = 1 ) = 1 P(y = 0) + P(y = 1) = 1 P(y=0)+P(y=1)=1

Sigmoid 函数与 Logistic 函数

为了将线性回归的输出限制在 [0, 1] 区间内,逻辑回归使用了 Sigmoid 函数(也称为 Logistic 函数)。其数学定义为:

g ( z ) = 1 1 + e − z g(z) = \frac{1}{1 + e^{-z}} g(z)=1+ez1

其中, z z z 是线性回归的输出,即:

z = w → ⋅ x → + b z = \overrightarrow{w} \cdot \overrightarrow{x} + b z=w x +b

通过 Sigmoid 函数,线性回归的输出被转换为概率值。Sigmoid 函数的曲线显示,当 z z z 很大时, g ( z ) g(z) g(z) 接近于 1;当 z z z 很小时, g ( z ) g(z) g(z) 接近于 0。
在这里插入图片描述

逻辑回归模型的输出范围

逻辑回归模型的输出范围在 0 和 1 之间,得益于 Sigmoid 函数的特性:

0 < g ( z ) < 1 0 < g(z) < 1 0<g(z)<1

因此,逻辑回归模型的输出可以解释为概率值,表示样本属于正类(1)的可能性。

# Generate an array of evenly spaced values between -10 and 10
z_tmp = np.arange(-10,11)

y = sigmoid(z_tmp)

np.set_printoptions(precision=3) 
print("Input (z), Output (sigmoid(z))")
print(np.c_[z_tmp, y])

输出结果为

在这里插入图片描述

实际应用示例

在这里插入图片描述

在这里插入图片描述
可以看见线性函数受数据影响很大
在这里插入图片描述
在这里插入图片描述
逻辑函数很好地拟合了数据

以肿瘤大小(直径,单位为厘米)为输入特征 x x x,肿瘤是否为恶性(1 表示恶性,0 表示良性)为输出 y y y。逻辑回归模型可以预测给定肿瘤大小的情况下,肿瘤为恶性的概率。

例如,假设模型预测当肿瘤大小为某个值时, f w → , b ( x → ) = 0.7 f_{\overrightarrow{w}, b}(\overrightarrow{x}) = 0.7 fw ,b(x )=0.7,意味着模型认为该肿瘤有 70% 的概率为恶性。


continue…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值