type
status
date
slug
summary
tags
category
icon
password

💡 机器学习三要素模型 + 学习准则 + 优化算法
notion image

损失函数(Loss function)

常见损失函数

距离标准

  • 平方损失函数(欧氏距离)
  • 绝对损失函数(曼哈顿距离)

熵的标准

  • 对数损失函数(Log Loss)
其中gsigmoid 函数 为真实标签
  • 交叉熵损失函数,n=2为对数损失函数
 
其中 是第 个样本的真实标签,其实也为概率(在类别 时取值为 1,否则为 0), 是模型预测第 个样本属于类别 的概率。
  • 信息熵
  • 相对熵(KL散度)
  • 交叉熵
其中相对熵 = 交叉熵 - 信息熵

其他损失函数

  • Hinge损失函数
其中 为目标值(+1,-1), 为预测值(-1~1)
  • 指数损失函数
  • 0-1 损失函数

学习准则

  • 经验最小化准则
其实就是找到一组参数 使经验损失函数达到最小值,最小化损失函数
  • 结构风险最小化准则
使用经验最小化准则容易导致过拟合,在原来式子上加入一个正则化项 ,限制模型能力不要过度。

梯度下降(Gradient descent)

其中 代表学习率, 代表梯度
  • 确定初始点
  • 学习率(快慢)
  • 梯度(方向)

梯度(Gradient)

  • 梯度就是函数曲面陡度
  • 偏导数就是具体方向的陡度
  • 梯度就是所有方向偏导数向量和

学习率

  • 太小,收敛慢,浪费计算量
  • 太大,不收敛,反复横跳

局部最优和全局最优

  • 极值点常常不唯一
  • 随机初始化
  • 初始点是超参数
notion image

常见梯度下降策略

  • 批量梯度下降(BGD)
    • 全部训练样本计算
    • 保证算法精准度,找到最优解
    • 平稳,速度慢
 
  • 随机梯度下降(SGD)
    • 每次一个样本计算
    • 提升计算速度
    • 牺牲了精准度
    •  
  • 小批量梯度下降(MBGD)
    • 没有SGD快但准确了很多

决策边界

拟合训练样本的线
在分类问题中,已知
决策边界:
notion image
  • 三分类
notion image
  • 多项式分类
notion image

代码文件:

过拟合和欠拟合

数据集

欠拟合

notion image

过拟合

当使用特征为 degree = 2 时,不会过拟合
notion image
当使用其它更高特征维度 degree 时,出现泛化能力不足
输出:
Degree: 2 Score: 0.8196892855998191 Degree: 5 Score: 0.8222526704240265 Degree: 10 Score: 0.8275487827443732 Degree: 15 Score: 0.8442613021372602 Degree: 20 Score: 0.8504610870824968 Degree: 25 Score: 0.8500576288037215
notion image

学习曲线(Learning Curve)

示例图

notion image
  • 数据集
  • 使用
notion image
  • 使用 (需要2个数据才能更好得出分数)
notion image

交叉验证(Cross Validation)

🗳️
在训练集测试集上添加验证集 - 训练集 - 训练模型 - 测试集 - 评价最终效果 - 验证集 - 搜索最优参数

K-fold 交叉验证

  • 测试集不变,在原有训练集上分离部分做验证集,分离部分不一致,再通过验证集准确率取均值取超参数
输出 5 次随机的验证集的结果:array([1. , 1. , 0.95833333, 0.875 , 1. ])
  • 5次执行的结果,取平均再取最高的便是 model_selection 中的 GridSearchCV 中的超参数结果

模型误差

notion image
  • 偏差(Bias)- 预测结果的准确程度
  • 方差(Variance)- 预测结果的集中程度
  • 噪声(Noise)- 当前任务期望误差下界,即最少都会有这些错误

模型误差的组成

  • 高偏差的原因
    • 模型本身不合适 - 如线性模型拟合非线性数据
    • 欠拟合 - 如模型未收敛
  • 高方差的原因
    • 模型过于复杂 - 特征太多
    • 过拟合 - 噪声影响数据
  • 噪声难以避免的原因
    • 计算机精度误差
    • 方法误差
    • 观察误差

偏差和方差的关系

notion image
  • 偏差降低方差会提高
  • 方差降低偏差会提高
  • 不同算法有不同的偏差方差
    • 参数方程偏差高 - 如回归算法
    • 非参数方程方差高 - 如 KNN
  • 偏差方差可以调整

解决偏差和方差问题

降低偏差

  • 寻找更好的特征
  • 增加更多特征
  • 增加模型复杂度

降低方差

  • 选择低复杂度模型
  • 增加样本数
  • 减少数据维度
  • 使用验证集
  • 使用正则化

正则化(Regularization)

数学原理

notion image
目的便是控制高次项个数即 n 最小化
使 项目最小化,写成数学为
结构化损失,其中 正则项
不好求,便求,即
  • L1范数/LASSO回归 - ,相当于消除一个特征,因为在轴线上
notion image
  • L2范数/Ridge回归/岭回归 -
notion image
  • 一般正则项 -

LASSO和岭回归代码实现

LASSO回归

🗳️
使 最小化
  • 参数 衰减到0
  • 可用于特征选择
  • 过大会变为直线
notion image

岭回归

🗳️
使 最小化
  • 参数 不太会衰减到0
  • 取值过大,回归曲线也不会变为直线
notion image

代码文件

 

模型泛化(Generalization)

机器学习算法对新鲜样本的适应能力
🗳️
如何判断模型训练是否理想
notion image
🗳️
过拟合应对策略
notion image

评价指标

混淆矩阵(Confusion matrix)

notion image

评价指标

  • F1 Score

scikit-learn 代码实现

PR曲线(Precision Recall Curve)

代码实现

notion image
notion image
  • scikit-learn 中的 PR 曲线

Precision 和 Recall 关系

notion image
  • 红色为理想情况,橙色为真实情况
  • 随着阈值 threshold 的增加,Recall会减小,Precision会增加
  • 在精准度Precision降低至 0.5 时候,便和随机模型一致了

ROC 曲线(Receiver Operation Characteristic Curve)

notion image
  • 红色,真阳占阳性比例
  • 蓝色,假阳占阴性比例,误检比例
 

scikit-learn中的ROC曲线

notion image
  • 理想状态下
notion image
  • 真实情况下

AUC(Area Under Curve)

ROC 曲线下面积
notion image
  • AUC = 1 时候为完美
  • AUC = 0.5~1 时候优于随机猜测
  • AUC = 0.5 时与随机猜测类似
  • AUC < 0.5 时进行反猜测

PR 曲线 和 ROC 曲线 选择问题

🗳️
在分类数据极度有偏差时,PR曲线 会更加剧烈变化
  • 样本分类数差不多
notion image
  • 样本分类极度偏差时
notion image

代码文件:

内网穿透 聚类
Loading...