机器学习
第一节
1. 精确率与召回率
用于评估分类模型性能,尤其在不平衡数据集中至关重要。
-
混淆矩阵:评估分类模型的基础。
- TP:预测为正,实际为正。
- FP:预测为正,实际为负。(误报)
- FN:预测为负,实际为正。(漏报)
- TN:预测为负,实际为负。
-
精确率:衡量模型的“准度”。
- 在所有预测为正例的样本中,有多少是真正的正例?
Precision = TP / (TP + FP)
- 高精确率意义:模型非常严谨,它说“是”的时候,很有把握。关注减少误报。
-
召回率:衡量模型的“全度”。
- 在所有真实为正例的样本中,模型成功预测出了多少?
Recall = TP / (TP + FN)
- 高召回率意义:模型非常敏感,能找出大部分目标。关注减少漏报。
-
权衡关系:精确率和召回率通常相互矛盾,提高一个往往会导致另一个下降。
-
F1-Score:精确率和召回率的调和平均数,用于综合评估模型性能。
F1 = 2 * (Precision * Recall) / (Precision + Recall)
2. 一元回归与多元回归
用于预测连续值的线性模型。
-
核心方程:
y = β₀ + β₁X₁ + β₂X₂ + ... + βₙXₙ
y
:要预测的因变量。Xᵢ
:用于预测的自变量/特征。β₀
:截距。βᵢ
:系数,表示特征Xᵢ
对y
的效应大小。
-
一元线性回归:
- 只有一个自变量
X
。y = β₀ + β₁X
- 在二维空间中用一条直线拟合数据。
- 只有一个自变量
-
多元线性回归:
- 包含两个及以上自变量
X₁, X₂, ..., Xₙ
。 - 核心优势在于系数的解释:
βᵢ
表示在保持其他所有变量不变的情况下,Xᵢ
对y
的独立影响(净效应)。这有助于避免虚假关联。
- 包含两个及以上自变量
3. 线性模型:回归与分类任务
线性模型通过加权求和计算线性预测值 z
,并通过不同激活函数应用于不同任务。
-
基础:
z = β₀ + β₁X₁ + β₂X₂ + ... + βₙXₙ
-
线性回归:
- 激活函数:无(恒等函数)。
- 输出:直接使用
z
作为预测的连续值。
-
二分类:
- 模型:逻辑回归。
- 激活函数:Sigmoid函数,将
z
映射到(0,1)区间,解释为属于正类的概率。 - 决策:概率 > 0.5 为正类,否则为负类。
-
多分类:
- 模型:Softmax回归。
- 激活函数:Softmax函数,为每个类别计算一个分数
zᵢ
,并将其转化为概率分布。 - 决策:选择概率最高的类别作为预测结果。
4. 类不平衡问题
当数据集中不同类别的样本数量差异巨大时产生的问题。
- 问题:模型会偏向多数类,导致对少数类识别能力极差,但准确率却可能很高。
- 解决方案:
- 数据层面(重采样):
- 过采样:增加少数类样本(如使用SMOTE算法合成新样本)。
- 欠采样:随机删除多数类样本。
- 算法层面:
- 调整类别权重:在训练时,为少数类的分类错误设置更高的惩罚(如设置
class_weight='balanced'
)。 - 使用合适的评估指标:弃用准确率,采用精确率、召回率、F1-Score、AUC-PR曲线。
- 调整类别权重:在训练时,为少数类的分类错误设置更高的惩罚(如设置
- 思路转换:在极端情况下,可将问题视为异常检测。
- 数据层面(重采样):
5. 感知机模型
最简单的二分类线性分类器,是神经网络的基础。
- 模型:
- 计算
z = w · x + b
- 输出
ŷ = sign(z)
,其中sign
为符号函数,输出+1
或-1
。
- 计算
- 感知机损失函数:
- 只关心是否分类正确。
- 对于误分类样本
(x_i, y_i)
,损失为-y_i * (w · x_i + b)
。
- 感知机学习算法:
- 类型:在线错误驱动算法。
- 步骤:遍历数据,当样本
(x_i, y_i)
被误分类时(即y_i * (w · x_i + b) <= 0
),更新参数:w = w + η * y_i * x_i
b = b + η * y_i
- 收敛性:当训练数据线性可分时,算法保证收敛。
- 局限性:无法解决线性不可分问题(如XOR问题)。