【学习笔记】机器学习(Machine Learning) | 第五章(1)| 分类与逻辑回归
机器学习(Machine Learning)
简要声明
基于吴恩达教授(Andrew Ng)课程视频
BiliBili课程资源
文章目录
- 机器学习(Machine Learning)
- 简要声明
- 一、逻辑回归的基本原理
- 分类判断条件
- 模型输出的解释
- Sigmoid 函数与 Logistic 函数
- 逻辑回归模型的输出范围
- 实际应用示例
一、逻辑回归的基本原理
逻辑回归是一种常用的分类算法,它可以将线性回归的输出映射到概率空间,从而实现二分类或多分类任务。其核心思想是通过一个线性函数来拟合数据,然后使用激活函数将其输出限制在 [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+e−z1
通过 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+e−z1
其中, 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…