有数据
整理数据
选择模型
跑模型
评价模型
优化模型 超参
预测
——————————————————————————
推荐书目
- 机器学习-周志华
- 机器学习公式详解
- 统计学习方法 李航
- 机器学习理论导引
Main content
涉及 matlab python
回归模型
- 线性回归
- 对数几率回归
降维方法
- 主成分分析
- 线性判别分析
支持向量机
决策树
神经网络
K均值聚类
1模型评估与选择
第一章略讲,介绍了假设空间
1.2、基本术语
1.3、假设空间
2模型评估与选择
前三节较为重要
数据为王,数据量越大越好
2.1经验误差与过拟合
2.1.1留出法(划分为两部分)
留出法是一种简单的模型评估方法,将数据集分为两个互斥的子集:训练集和测试集。模型在训练集上训练,然后在测试集上评估其性能。常见的划分比例是70%用于训练,30%用于测试。
2.1.2交叉验证法
交叉验证法通过将数据集分成多个子集(折),并多次训练和评估模型来提高评估的可靠性。最常见的是k折交叉验证,将数据集分成k个子集,每次用k-1个子集训练模型,用剩下的一个子集测试模型,重复k次,最终取平均性能作为评估结果
更为复杂
2.1.3自助法
自助法(Bootstrap)是一种基于重采样的评估方法。通过从原始数据集中有放回地随机抽样生成多个新数据集(每个新数据集与原始数据集大小相同),在这些新数据集上训练和评估模型。自助法特别适用于数据量较小的情况。
2.1.4调参与最终模型
调参是指通过调整模型的超参数来优化模型性能的过程。常见的方法包括网格搜索(Grid Search)和随机搜索(Random Search)。在调参完成后,使用整个训练集重新训练模型,得到最终的模型用于实际应用。最终模型的性能通常通过交叉验证或留出法进行评估。
2.2评估方法
训练集
- 训练集是用于训练模型的数据集
测试集
- 测试模型的推广能力
验证集
- 模型的最终优化和确立
2.3性能度量
2.3.1错误率与精度!
2.3.2查准率!、查全率!、F1
误差与精度
- 误差 -模型预测与样本真实输出之间的差异
- 训练误差(经验误差)-学习器在训练集上的误差
- 泛化误差-学习器在新样本的误差,实际误差
- 测试误差-学习器在测试集上的误差,用来近似泛化误差(泛化误差实际是无法计算的,自变量x不定)
查准率和查全率
两个矛盾的度量,查准率高的时候往往查全率低
假如希望查得准,那么模型会减少查的数量
假如希望查得全,那么模型会增加查的数量
T=true F=False P=positive N=negetive
查准率$P=\frac{TP}{TP+FP}$ 记忆: 错误被识别为正例的越少,查准率越高;被查准率高的模型判定为无效例子,则说明这个例子真的是无效的可能性不一定高
通俗理解:
- 查准率衡量的是在所有被预测为正例的样本中,实际为正例的比例。
- 举个例子,假设你是一名医生,正在使用一个测试来诊断某种疾病。查准率表示的是在所有被测试为阳性的患者中,真正患有该疾病的患者比例。
- 如果查准率高,说明你诊断为阳性的患者大多数确实患有该疾病,误诊的比例较低。
通俗理解:
- 查准率衡量的是在所有被预测为垃圾邮件的邮件中,实际是垃圾邮件的比例。
- 举个例子,假设你有一个垃圾邮件分类器,它标记了一些邮件为垃圾邮件(正例)。
- TP(True Positive):分类器正确标记为垃圾邮件的邮件数量。
- FP(False Positive):分类器错误标记为垃圾邮件的邮件数量(实际上是正常邮件)。
- 查准率表示的是:在所有被分类器标记为垃圾邮件的邮件中,有多少比例是真正的垃圾邮件。
- 高查准率意味着分类器标记为垃圾邮件的邮件大多数确实是垃圾邮件,误标记的正常邮件较少。
查全率$R=\frac{TP}{TP+FN}$ 记忆:错误被识别为反例的越少,查得越全;被查全率高的模型判定为无效例子,则说明这个例子是无效的可能性极高
通俗理解:
- 查全率衡量的是在所有实际为正例的样本中,被正确预测为正例的比例。
- 继续上面的例子,查全率表示的是在所有真正患有该疾病的患者中,被测试正确诊断为阳性的患者比例。
- 如果查全率高,说明你能够识别出大多数患有该疾病的患者,漏诊的比例较低。
通俗理解:
- 查全率衡量的是在所有实际是垃圾邮件的邮件中,被正确预测为垃圾邮件的比例。
- 继续上面的例子,假设你有一个垃圾邮件分类器,它标记了一些邮件为垃圾邮件(正例)。
- TP(True Positive):分类器正确标记为垃圾邮件的邮件数量。
- FN(False Negative):分类器错误标记为正常邮件的垃圾邮件数量(实际上是垃圾邮件)。
- 查全率表示的是:在所有真正的垃圾邮件中,有多少比例被分类器正确标记为垃圾邮件。
- 高查全率意味着分类器能够识别出大多数垃圾邮件,漏掉的垃圾邮件较少。
P-R图中有break-event point BEP平衡点
更常用$F1=\frac{2xPxR}{P+R}=\frac{2}{\frac{1}{P}+\frac{1}{R}}$查准率和查全率的调和平均数
2.3.3ROC曲线与AUC !!
ROC(Receiver Operating Characteristic)曲线和AUC(Area Under the Curve也就是面积)是评估分类模型性能的重要工具,特别是在处理二分类问题时。
ROC曲线
ROC曲线是一种图形表示,用于评估分类模型在不同阈值下的性能。它通过绘制真阳性率(True Positive Rate, TPR)和假阳性率(False Positive Rate, FPR)来展示模型的表现。
- 真阳性率(TPR):也称为召回率(Recall),表示实际为正的样本中被正确预测为正的比例。计算公式为: [ TPR = \frac{TP}{TP + FN} ] 其中,TP是True Positive,FN是False Negative。
- 假阳性率(FPR):表示实际为负的样本中被错误预测为正的比例。计算公式为: [ FPR = \frac{FP}{FP + TN} ] 其中,FP是False Positive,TN是True Negative。
AUC 计算方法为累加梯形面积 竖着一条一条的 x相邻差为高,y相邻和为上下底和
AUC是ROC曲线下的面积,表示模型区分正负样本能力的一个指标。AUC的取值范围在0到1之间:
- AUC = 1:表示模型完美地分类所有样本。
- AUC = 0.5:表示模型没有分类能力,相当于随机猜测。
- AUC < 0.5:表示模型的表现比随机猜测还差。
2.3.4、代价敏感错误率与代价曲线
有一个倾向性,误判为真和误判为假的代价可能不同
2.4比较检验
在机器学习中,比较检验(Hypothesis Testing)用于评估两个或多个模型的性能差异是否具有统计显著性。以下是比较检验的主要内容:
- 假设检验:
- 原假设(Null Hypothesis, H0):通常表示没有差异或效果。例如,两个模型的性能没有显著差异。
- 备择假设(Alternative Hypothesis, H1):表示存在差异或效果。例如,两个模型的性能有显著差异。
- 检验统计量:
- 计算检验统计量(如 t 统计量、z 统计量等),用于评估样本数据与假设之间的差异。
- p 值:
- p 值表示在原假设为真时,观察到当前数据或更极端数据的概率。p 值越小,拒绝原假设的证据越强。
- 显著性水平(α):
- 预先设定的阈值,用于判断是否拒绝原假设。常见的显著性水平有 0.05、0.01 等。
- 比较检验方法:
- t 检验:用于比较两个样本均值是否显著不同。
- ANOVA(方差分析):用于比较多个样本均值是否显著不同。
- 交叉验证:通过多次划分数据集来评估模型性能的稳定性。
2.5偏差与方差 !
偏差与方差(Bias and Variance)是机器学习模型误差的两个主要组成部分,理解它们有助于选择和优化模型。以下是偏差与方差的主要内容:
- 偏差(Bias): 模型太简单导致的欠缺拟合
- 偏差表示模型预测值与真实值之间的系统性误差。高偏差通常意味着模型过于简单,无法捕捉数据的复杂模式,导致欠拟合(Underfitting)。
- 例如,使用线性模型拟合非线性数据会导致高偏差。
- 方差(Variance):模型太复杂导致的过度拟合
- 方差表示模型对训练数据的敏感程度。(同样大小的训练集的变动所导致的性能的误差)高方差通常意味着模型过于复杂,过度拟合训练数据,导致过拟合(Overfitting)。
- 例如,使用高阶多项式模型拟合数据会导致高方差。
- 偏差-方差权衡(Bias-Variance Tradeoff):
- 在模型选择和优化过程中,需要在偏差和方差之间找到平衡。理想情况下,模型应具有较低的偏差和方差。
- 例如,选择适当的模型复杂度和正则化参数可以帮助实现偏差-方差权衡。
- 误差分解:
- 总误差可以分解为偏差、方差和噪声三部分:
- 总误差 = 偏差² + 方差 + 噪声
- 噪声是数据中固有的随机误差,无法通过模型优化来减少。
- 总误差可以分解为偏差、方差和噪声三部分:
2.6阅读材料
3线性模型
3.1、基本形式!
线性模型的基本形式是通过线性组合输入特征来进行预测。数学表达式如下:
$$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n $$
其中:
- ($$ y$$ ) 是预测值。
- ( $$\beta_0 $$) 是截距项(常数项)。
- ($$ \beta_1, \beta_2, \ldots, \beta_n $$) 是特征的权重(系数)。
- ($$ x_1, x_2, \ldots, x_n$$ ) 是输入特征。
3.2、线性回归!!!!!!
多元/单元 巨离谱
线性回归是一种用于回归任务的线性模型,目标是找到最佳拟合直线,使得预测值与实际值之间的误差最小。常用的误差度量是均方误差(MSE)。 基于均方误差最小
$$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n $$
损失函数
均方误差(MSE):
$$ \text{MSE} = \frac{1}{m} \sum_{i=1}^{m} (y_i – \hat{y}_i)^2 $$
其中:
极大似然估计
- ( m ) 是样本数量。
- ( y_i ) 是第 ( i ) 个样本的实际值。
- ( \hat{y}_i ) 是第 ( i ) 个样本的预测值。
3.3、对数几率回归(逻辑回归)!
对数几率回归(Logistic Regression)是一种用于分类任务的线性模型,特别适用于二分类问题。它通过对线性组合的输入特征应用 Sigmoid 函数来输出一个概率值。
逻辑回归模型
$$ \hat{y} = \sigma(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n) $$
其中,Sigmoid 函数 (\sigma) 定义为:
$$\sigma(z) = \frac{1}{1 + e^{-z}} $$
损失函数
逻辑回归的损失函数是对数损失(Log Loss)或交叉熵损失(Cross-Entropy Loss):
$$ \text{Log Loss} = -\frac{1}{m} \sum_{i=1}^{m} [y_i \log(\hat{y}_i) + (1 – y_i) \log(1 – \hat{y}_i)] $$
优化方法
常用的优化方法是梯度下降(Gradient Descent)和拟牛顿法(Quasi-Newton Methods)。
用统计学对数极大似然估计求概率最大等价于线性回归最小二乘法得到的东西是一样的
一个是要发生的概率最大,一个是要误差最小
回归与分类
把类似电路原理里面的分段阶跃函数优化一些
梯度下降法
牛顿法
用牛顿法,切线来逼近最优值,曲率大的时候(弯曲程度大)小心调整步长,曲率小的时候大胆调整步长,尽快逼近
下图:红色更直接,看起来是牛顿法; 绿色更绕,看起来是梯度下降法