1. 假设模型和损失函数

本文章是基于多元线形回归函数,最终目的是求出各个变量毒力回归方程与LC50的关系_线性代数对目标值的影响,得到权重矩阵毒力回归方程与LC50的关系_线性代数_02

1.1假设模型

设一线形回归函数为:
毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_03
其中毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_04,毒力回归方程与LC50的关系_线性代数_02都是毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_06的向量,毒力回归方程与LC50的关系_机器学习_07表示变量空间毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_04的维度。

1.2思路

在训练集毒力回归方程与LC50的关系_矩阵_09中,随机选取(或者指定从某组训练集开始)一组训练值毒力回归方程与LC50的关系_线性代数_10,并初始化毒力回归方程与LC50的关系_线性代数_02。之后通过不同的思想,带入相应的迭代关系更新毒力回归方程与LC50的关系_线性代数_02,最终输出在损失函数取最小值时的毒力回归方程与LC50的关系_线性代数_02

2.各类梯度下降法

2.1批量梯度下降法BGD

2.1.1损失函数

为使得整体的经验风险最小,在这我把该方程带入平方损失函数得能量函数:
毒力回归方程与LC50的关系_机器学习_14
这儿的毒力回归方程与LC50的关系_矩阵_15表示样本集的大小,注意与1.1的方程n的区别,并且损失函数是只与毒力回归方程与LC50的关系_线性代数_02有关的函数,(毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_17,毒力回归方程与LC50的关系_机器学习_18)是已知数据。

2.1.2求梯度以及迭代关系

对损失函数求导,有:
毒力回归方程与LC50的关系_损失函数_19

由此,得到不同的毒力回归方程与LC50的关系_损失函数_20迭代公式:
毒力回归方程与LC50的关系_矩阵_21

'毒力回归方程与LC50的关系_矩阵_22'在这表示赋值过程。
对于权重矩阵毒力回归方程与LC50的关系_线性代数_02,有:
毒力回归方程与LC50的关系_矩阵_24
之后反复计算上面的过程,直至毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_25无限接近0,在这可以设置一个阈值,当两次迭代结果只差小于这个阈值可认为达到精度要求,输出毒力回归方程与LC50的关系_线性代数_02

优缺点分析:

  • 全局最优解,代码容易实现。
  • 当样本毒力回归方程与LC50的关系_损失函数_27比较大时,计算量会变得非常大。

2.2随机梯度下降法SGD

2.2.1损失函数

对于本问题,损失函数不考虑使得每次迭代在整体都取得最满意的下降路径(即实际梯度),而是考虑得到在所选数据上的梯度。其关系如下
毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_28

2.1.2求梯度以及迭代关系

求其梯度为:
毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_29
因此得到毒力回归方程与LC50的关系_线性代数_02迭代算法:
毒力回归方程与LC50的关系_矩阵_31
即:
毒力回归方程与LC50的关系_矩阵_24
之后反复计算上面的过程,直至毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_25无限接近0,在这可以设置一个阈值,当两次迭代结果只差小于这个阈值可认为达到精度要求,输出毒力回归方程与LC50的关系_线性代数_02

SGD计算的速度会远大于BGD,尤其是训练集毒力回归方程与LC50的关系_损失函数_35很大是时候。但是,容易陷于局部最小值,且精度是低于BGD的。。
因此,通过多次选取不同的初值,对比结果,会在一定程度上优化陷于局部最小值问题。

2.3随机梯度下降法MBGD

该算法是介于SGD和BGD的。在样本毒力回归方程与LC50的关系_损失函数_35中通过选取毒力回归方程与LC50的关系_矩阵_37个数据集,

2.3.1损失函数

对于本问题,损失函数不考虑使得每次迭代在整体都取得最满意的下降路径(即实际梯度),而是考虑得到在所选数据上的梯度。其关系如下
毒力回归方程与LC50的关系_毒力回归方程与LC50的关系_38

2.3.2求梯度以及迭代关系

求其梯度为:
毒力回归方程与LC50的关系_机器学习_39

由此,得到不同的毒力回归方程与LC50的关系_损失函数_20迭代公式:
毒力回归方程与LC50的关系_线性代数_41

'毒力回归方程与LC50的关系_矩阵_22'在这表示赋值过程。
对于权重矩阵毒力回归方程与LC50的关系_线性代数_02,有:
毒力回归方程与LC50的关系_矩阵_24
同理,不断更新毒力回归方程与LC50的关系_线性代数_02,从而使损失函数最小。