1 ML基本概念
如下图所示,ML 是计算机从数据中学习出规律,应用在新数据上做预测;其在互联网、生物、医疗、交通、金融等领域有着广泛应用。
1.1 ML分类
- 监督学习:特征+标签
分类:输出离散值
回归:输出连续值 - 无监督学习:特征
聚类:抱团学习 - 强化学习:环境->行为
1.2 基本术语
- 数据集:训练集,测试集
- 样本/示例/样例
- 特征/属性
2 ML基本流程
如上图所示,ML主要流程如下:
- 数据预处理
数据采样、数据切分、特征抽取、特征选择、降维 - 模型学习
超参数选择、交叉验证、结果评估、模型选择、模型训练 - 模型评估
- 模型上线
3 ML算法
如下图所示,这是Sk-learn官网提供的ML算法选择路径图。
4 ML评估
ML的目标是训练出泛化能力强的模型,常用的评估方法有:留出法、交叉验证法、自助法;常用的评估指标有精度、召回率、F1值、AUC、MSE等。
4.1 评估方法
-
留出法
将数据集分为训练集与测试集,注意测试集约占数据集的1/5~1/3,多次重复划分,分层采样保持数据分布分一致性 -
K折交叉验证法
具体流程如下图所示。
-
自助法(bootstrap)
别名有放回采样,可重复采样,注意训练集与数据集同规模,数据分布有一定的改变,约有36.8%的样本不会出现在训练集。
4.2 评估指标
- 分类问题
-
错误率
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1∑mI(f(xi)=yi) -
精度
acc ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} acc(f;D)=m1i=1∑mI(f(xi)=yi)=1−E(f;D) -
混淆矩阵
-
查准率(准确率)
P = T P T P + F P P=\frac{T P}{T P+F P} P=TP+FPTP -
查全率(召回率)
R = T P T P + F N R=\frac{T P}{T P+F N} R=TP+FNTP -
F1值
F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} F1=P+R2×P×R= 样例总数 +TP−TN2×TP -
F β F_{\beta} Fβ 值
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_{\beta}=\frac{\left(1+\beta^{2}\right) \times P \times R}{\left(\beta^{2} \times P\right)+R} Fβ=(β2×P)+R(1+β2)×P×R -
AUC
- 回归问题
-
平均绝对误差MAE
M A E = 1 n ∑ i = 1 n ∣ f i − y i ∣ M A E=\frac{1}{n} \sum_{i=1}^{n}\left|f_{i}-y_{i}\right| MAE=n1i=1∑n∣fi−yi∣ -
均方误差MSE
M S E = 1 n ∑ i = 1 n ( f i − y i ) 2 M S E=\frac{1}{n} \sum_{i=1}^{n}\left(f_{i}-y_{i}\right)^{2} MSE=n1i=1∑n(fi−yi)2 -
均方根误差RMSE
R M S E = M S E R M S E=\sqrt{M S E} RMSE=MSE