多分类问题
Softmax
高级优化算法
Adam Algorithm Intuition
每个参数有不同的学习率
卷积层
每个神经元只看前一层输入的一部分
原因:
1.更快的计算
2.需要更少的训练数据(不容易过度拟合)
模型评估
成本函数
分类
训练集用来训练参数w和b,而测试集用来选择多项式模型(即参数d),训练集不能评估w和b的好坏,类似的测试集也不能用来评估参数d的好坏
分为训练集,交叉验证集,测试集
训练集在不同的模型上拟合出每个模型的最优WB,交叉验证再从已经拟合好的模型里选择一个最好的模型,再用测试集测试这个模型的误差
通过偏差和方法进行诊断
高偏差:训练集做的不好,基准性能表现和训练误差Jtrain差距
高方差:交叉集做的不好,训练误差和交叉验证误差Jcv之间差距
学习曲线
学习曲线是一种帮助理解学习算法如何作为它拥有的经验量的函数的方法,拥有训练实例的数量
高偏差
修正方法(强化模型):
1.增加额外的特征
2.添加多项式特征,eg:X1X2,X1的平方
3.减小lamda,降低数据影响
高方差
修正方法(简化模型):
1.获得更多训练集
2.减少多项式特征值,比如去掉X的三次方、四次方
3.增加lamda,提高数据影响
高偏差欠拟合,加训练数据量没法改善,从模型选择就有问题;高方差过拟合加训练数据量可以改善
神经网络正则化
L1 L2 L3是正则化的三种方法,L1是参数绝对值,L2是参数平方,L3是两者相加
适当正则化,有利于更大的神经网络,但是速度会减慢。
大型神经网络是低偏置机器,适合复杂函数
机器学习开发
ML开发的迭代循环:选择体系结构(模型、数据等)—建立模型—判断(偏差、方差、误差分析)
误差分析
错误分析要点:通过手动检查算法错误或者错误标记的一组示例
添加更多数据
添加数据是专注于添加更多分析表明可能有帮助的类型的数据
数据增强:特别使用可以显着增加训练集大小的图像和音频数据
数据增强的一个技巧是,对数据所做的更改或扭曲应该代表测试集中噪声或扭曲的类型
数据合成:从头开始构建全新的示例,多用于视觉
迁移学习-使用其他任务中的数据
从完全不相关的任务中获取数据
将参数转移到新的神经网络,把输出层换成需要的个数,比如换成10个
训练神经网络参数:
1.只训练输出层参数。将参数W1到w4 作为顶部的值,并固定他们,然后使用随机梯度下降或 Adam等算法,仅更新W5、b5 ,以降低您用于学习从训练集中识别数字0到9 的通常成本函数。适合小的训练集
2.训练网络中的所有参数,包括 WA1b1、W2、b2 一直到 WA5,但前四层参数将使用在上面训练过的价值观。适合大的训练集
这两个步骤首先在大型数据集上进行训练,然后在较小的数据集上进一步调整参数,这一步被称为监督预训练。
第二步称为微调,可以在其中获取已初始化或从监督预训练中获得的参数,然后进一步运行梯度下降以微调权重,以适应您可能拥有的手写数字识别的特定应用
机器学习项目的完整周期
倾斜数据集的误差指标
精确度(查准率P)是针对预测的,一种预测里头有多少是对的
召回率(查全率R)是针对数据的,一类数据里头有多少被认出
精确率与召回率的权衡
排序平均值/调和平均数,强调较小的值