机器学习评估指标
1.回归算法指标
平均绝对误差
又称L1范数损失,缺点:绝对值的存在导致函数不光滑
均方误差
又称L2范数损失
均方根误差
决定系数
深度学习
深度学习案例解释:
人脸识别与语音识别
1.对于人脸识别
神经网络的第一层从原始图片中提取人脸的轮廓和边缘,每个神经元学习到不同边缘的信息;网络的第二层将第一层学得的边缘信息组合起来,形成人脸的一些局部的特征,例如眼睛、嘴巴等;后面的几层逐步将上一层的特征组合起来,形成人脸的模样。随着神经网络层数的增加,特征也从原来的边缘逐步扩展为人脸的整体,由整体到局部,由简单到复杂。层数越多,那么模型学习的效果也就越精确。
2.对于语音识别,
第一层神经网络可以学习到语言发音的一些音调,后面更深层次的网络可以检测到基本的音素,再到单词信息,逐渐加深可以学到短语、句子。
DNN
前向传播:
公式
向量化程序
反向传播
公式
向量化程序
改善深度神经网络:超参数调式、正则化以及优化
1.训练、验证、测试
数据量为100、1000、10000时,可以将数据划分为
无验证集的情况:70%/30%
有验证集的情况:60%/20%/20%
2.偏差、方差
解决方法:
1.高偏差
增加网络结构,增加隐藏层数目
训练更长时间
寻找合适的网络架构
2.高方差
获取更多数据
正则化
寻找合适的网络结构
3.L1,L2正则化
logistics regression:
L2,L1正则化
4.Dropout正则化
随机消除一些节点,使神经网络规模变小
keep_prob=0.8 #设置神经元保留概率
d3=np.random.rand(a3.shape[0],a3.shape[1])<keep_prob
a3=np.multiply(a3,d3)
a3/=keep_prob
dropout理解:单个神经元工资接受输入,产生一个输出,如果加入dropout以后,输入的特征有可能被随机清除,所以神经元不再依赖于任意一个输入特征,也就是说不会给任何一个输入设置太大的权重。
5.其他正则化方法
数据扩增:比如,一张数字图片,通过不同形状生成这个数字,增加数量集。
6.归一化
使用归一化,避免在梯度下降时,花大量迭代次数才能找到全局最优解
7.深度学习三种梯度下降方式:
7.1 批量(batch):
在更新参数时,使用所有样本训练集进行迭代更新
优点:全局最优解,能够保证每一次更新权值
缺点:训练集数目过多,训练过程会很慢
7.2 随机(stochastic):
更新参数,使用一个样本进行更新,每一次跟新参数都用一个样本,更新很多次。
优点:训练速度快
缺点:准确度下降,并不是全局最优
7.3 小批量(mini-batch):
在更新参数,使用训练集一部分样本,