文章目录
一、三种学习方式
有监督学习:
1、分类问题
2、回归问题
3、图像分割
4、语音识别
5、语言翻译
无监督学习
1、聚类
2、降维
强化学习
二、机器学习的一些专业术语
样本(sample)或输入(input)或数据点(data point)
可以理解为一个图像
预测(prediction)或输出(output)
可以理解为是结果
目标(target)或标签(label)
图像实际标注的标签
损失值(loss value)或预测误差(prediction error)
预测与实际的差距
类别(classes)
数据集一组可能的值或标签
二分类(binary classification)
将输入实例归类为两个互斥类中的其中一个分类任务
多类别分类(multi-class classification)
多标签分类
一个输入实例,多个标签标记
标量回归(scakar regression)
每个输入数据与一个标量质量相关联
向量回归(vector regression)
多个标签,组成向量
批(batch)
一批为一个样本集,取决于CPU内存 2-256不等 权重在每个批次上更新
轮数
运行一遍为一个epoch,训练模型需要多个epoch
三、模型相关知识
通常模型数据集分为三个部分 训练、测试、验证
模型一般有两种参数
1、算法内参数或权重,用于优化器和反向传播
2、超参数,用于控制层数、学习率、结构参数
过拟合:在训练集效果很好,到了验证集或测试机效果不佳
欠拟合:在训练集就效果不佳
对数据集进行划分:
1、分出大部分数据作为训练集,用于训练
2、验证集一般用于超参数的调优
3、迭代执行1和2的步骤
4、最后冻结算法和超参数后,测试集进行评估
四、常用的保留策略
1、简单保留验证
留一定比例用于测试
2、K折验证
留一定比例测试,整个数据集分为K个包,一般K取值2-10
选一个包作为验证集,其余都是训练集,评估效果为各个包的平均评分
3、带混洗的K折验证
在创建保留的验证集时,混洗数据集
五、数据处理
需要考虑的东西有:
1、数据代表性
要做到分层抽样,防止局部特征
2、时间敏感性
要注意预防数据泄露
3、数据容易
避免重复数据影响性能
数据预处理
1、向量化(正常的数据类型有文本、声音、图像、视频)
先把数据转换为Pytorch张量,torchvision库可以把PIL图像转换为张量
2、值归一化
归一化就是将特定的特征数据表示为均值为0,标准差为1的数据
3、处理缺失值
用不可能出现的值替换缺失值
4、特征工程
用较少资源更快解决问题
用大量数据学得特征,自己学
六、解决过拟合与欠拟合
欠拟合很简单,加大数据集 用更多的数据
过拟合的解决:
1、获取更多数据(人造数据或数据增强)
2、缩小网络规模(可以去掉一些中间线性层)
3、应用权重正则化(通过惩罚矩阵来实现)
有两种惩罚模型的方案:
L1正则化 权重系数绝对值之和加入成本
L2正则化 所有权重系数平方和加入成本(通常用1e-5)
七、成功的衡量标准
平衡的标准 ROC AUC
不平衡的标准:
准确略 precision
查全率 recall
平均精读均值 MAP (Mean Average Precision)