目录
玫瑰花香永不消逝
4.1 机器学习分支
1.监督学习
主要包括分类和回归,还有序列生成、语法树预测、目标检测、图像分割等
2.无监督学习
包括降维和聚类
3.自监督学习
没有人工标注的标签的监督学习
4.强化学习
4.2 评估机器学习模型
1.数据划分
在训练数据上训练模型,在验证数据上评估模型,在测试数据上做最终测试
若可用数据很少,可以使用以下几种评估方法。
(1)留出验证
留出一定比例的数据作为测试集。在剩余的数据上训练模型,然后在测试集上评估模型。
(2)K折验证
K折验证:将数据划分为大小相同的K个分区。对于每个分区i,在剩余的K-1 个分区上训练模型,然后在分区i 上评估模型。最终分数等于K 个分数的平均值。
(3)带有打乱数据的重复K 折验证
2.注意事项
(1)数据代表性:在将数据划分为训练集和测试集之前,通常应该随机打乱数据
(2)时间箭头:如果想要根据过去预测未来,那么在划分数据前你不应该随机打乱数据
(3)数据冗余:确保训练集和验证集之间没有交集
4.3 数据预处理、特征工程和特征学习
1.预处理
(1)向量化:神经网络的所有输入和目标都必须是浮点数张量
(2)标准化:输入数据特征:取值较小、同质性
(3)处理缺失值:一般来说,对于神经网络,将缺失值设置为0 是安全的
2.特征工程
指将数据输入模型之前,利用你自己关于数据和机器学习算法(这里指神经网络)的知识对数据进行硬编码的变换(不是模型学到的),以改善模型的效果。
特征工程优点:解决某些问题较为方便;所需数据量小
4.3 过拟合与欠拟合
机器学习的根本问题是优化和泛化之间的对立。优化(optimization)是指调节模型以在训练数据上得到最佳性能(即机器学习中的学习),而泛化(generalization)是指训练好的模型在前所未见的数据上的性能好坏。
正则化方法:
1.减小网络大小
防止过拟合的最简单的方法就是减小模型大小,即减少模型中可学习参数的个数。
要找到合适的模型大小,一般的工作流程是开始时选择相对较少的层和参数,然后逐渐增加层的大小或增加新层,直到这种增加对验证损失的影响变得很小。
2.权重正则化
给定一些训练数据和一种网络架构,很多组权重值(即很多模型)都可以解释这些数据。简单模型(参数值分布的熵更小的模型)比复杂模型更不容易过拟合。
常见降低过拟合法:强制让模型权重只能取较小的值,从而限制模型的复杂度。其实现方法是向网络损失函数中添加与较大权重值相关的成本。
(1)L1正则化化:添加的成本与权重系数的绝对值[权重的L1范数]成正比。
(2)L2正则化:添加的成本与权重系数的平方(权重的L2范数)成正比。神经网络L2正则化也叫权重衰减
3.Dropout
在训练过程中随机将该层的一些输出特征舍弃(设置为0)。dropout 比率(dropout rate)是被设为0 的特征所占的比例,通常在0.2~0.5范围内。
训练时对激活矩阵使用dropout,并在训练时成比例增大。测试时激活矩阵保持不变
4.5 通用工作流程
1.定义问题,收集数据集
2.选择成功指标
平衡分类问题:精度和接收者操作特征曲线下面积
类不平衡问题:准确率和召回率
排序问题或多标签分类:平均准确率均值
3.确定评估方法
4.准备数据
5.模型开发
6.开发过拟合模型
7.正则化和调节超参数
这一步是最费时间的:你将不断地调节模型、训练、在验证数据上评估(这里不是测试数据)、
再次调节模型,然后重复这一过程,直到模型达到最佳性能。