课程来源:百度飞桨
飞桨AI Studio - 人工智能学习实训社区 (baidu.com)
目录
飞桨AI Studio - 人工智能学习实训社区 (baidu.com)
模型设计主要分为为四步: 1.前向传播
2.损失函数
3.梯度下降
4.随机梯度下降训练数据
1.前向传播
主要是通过输入X来得到对应的输出Y
利用numpy的原因主要是因为numpy强大的数学计算能力
数组内积:np.dot(a, b), 其中a为一维的向量,b为一维的向量,当然这里a和b都是np.ndarray类型的, 此时因为是一维的所以是向量点积
数组矩阵内积:np.dot(a, b), 其中a为二维矩阵,b为一维向量,这时b会被当做一维矩阵进行计算
矩阵内积:np.dot(a ,b), 其中a和b都是二维矩阵,此时dot就是进行的矩阵乘法运算
np.dot()使用方法_pillstap的博客-CSDN博客_np.dot
2.损失函数
损失函数 Loss Function
通常是针对单个训练样本而言,给定一个模型输出 和一个真实 ,损失函数输出一个实值损失
代价函数 Cost Function
通常是针对整个训练集(或者在使用 mini-batch gradient descent 时一个 mini-batch)的总损失
目标函数 Objective Function
是一个更通用的术语,表示任意希望被优化的函数,用于机器学习领域和非机器学习领域(比如运筹优化)
一句话总结三者的关系就是:A loss function is a part of a cost function which is a type of an objective function.
六个深度学习常用损失函数总览:基本形式、原理、特点_数据派THU的博客-CSDN博客
深度学习之常用损失函数_qq_41627642的博客-CSDN博客_深度学习常用损失函数
3.梯度下降
找到函数变化最快的方向
1.梯度下降法是求解最优化问题最常用的算法之一
2.只要没有到达梯度为0的点,则函数值会沿着序列xk递减,最终会收敛到梯度为0的点,这就是梯度下降法
3.初始值设定与学习率设置是影响梯度下降法求解效率的两个重要参数
4.梯度下降法会遇到局部极值点和鞍点的问题,凸优化问题则没有该问题存在
5.梯度下降法的变种大概有加动量项的梯度下降、AdaGrad算法、RMSProp算法和Adam算法等
6.动量项累积了之前的梯度信息,使得梯度下降效率更快,合适的衰减率有机会让优化点逃脱局部极值点
7.AdaGrad跟踪梯度平方之和,它的思路是更新的特征越多,将来更新的越少,这样就有机会让其它特征(稀疏特征)赶上来
8.AdaGrad迭代效率特别慢,Rmsprop算法增加衰减因子来改善这个问题
9.Rmsprop算法的衰减因子从两个方面起作用:只对最近的梯度平方有意义,充当缩放因子
10.Adam算法兼顾动量和RMSProp 的优点
11.实际实现中,有批量梯度下降法、随机梯度下降法和小批量梯度下降法
梯度下降算法原理讲解——机器学习_Ardor-Zhang的博客-CSDN博客_梯度下降法
4.随机梯度下降训练数据
通过随机训练下降来进行数据模型训练