Day5 Chapter5.9-5.10

2019-08-20  本文已影响0人  ForCLovC

5.9 随机梯度下降

1. 机器学习算法中的代价函数通常可以分解成每个样本的代价函数的总和

J(\theta)=E_{x,y\sim{\hat{p}_{data}}}L(x,y,\theta)=\frac{1}{m}\sum^{m}_{i=1}L(x^{(i)},y^{(i)},\theta)

2. 对于相加而成的代价函数,梯度下降则要计算\Delta_{\theta}{J(\theta)}:

\Delta_{\theta} J(\theta)=\frac{1}{m}\sum^{m}_{i=1}\Delta_{\theta}L(x^{(i)},y^{(i)},\theta)   也就是计算每一次下降的幅度的均值,也就是期望

梯度是期望,通常通过小规模的样本(minibatch,也就是编程中的batch_size)近似估计

3. 这样的话小规模的样本的梯度则变成:

g=\frac{1}{m’}\sum^{m}_{i=1}\Delta_{\theta}L(x^{(i)},y^{(i)},\theta)    (两个m都是m',因为这里的编辑器问题)

4. 因此,随机梯度下降(SGD)算法就变成:

\theta=\theta-\alpha g           (\alpha是学习率,也就是随机梯度下降的步幅,经过很多次SGD后,\theta会收敛

随机梯度下降是在大规模数据上训练大型线性模型的主要方法



5.10 构建机器学习算法

几乎所有的深度学习算法都可以被描述为一个相当简单的配方:

特定的数据集: 比如X 和 y 构成的数据集

代价函数: 比如线性回归算法的代价函数:J(w,b)=-E_{x,y\sim\hat{p}_{data}}=log\ p_{model}{(y\ |\ x})

模型: 比如上述的代价函数中模型为p_{model}{(y\ |\ x})=N(y;x^Tw+b,1)(标准正态分布)

优化过程: 可以定义为求解代价函数梯度为零的正规方程   (梯度为零即差值为零,即收敛)

附加项(非必须含有): 如正则化项

通常代价函数至少含有一项使学习过程进行统计估计的成分。

最常见的代价函数是负对数似然(negative log-likelihood),最小化代价函数导致的最大似然估计

负对数似然:https://blog.csdn.net/silver1225/article/details/88914652

1. 似然函数:

在机器学习中,似然函数是一种关于模型中参数的函数

概率用于在已知参数的情况下,预测接下来的观测结果

似然性用于根据一些观测结果,估计给定模型的参数可能值。

2. 最大似然估计(Maximum Likelihood Estimation,MLE):

假设每个观测结果x是独立同分布的,通过似然函数L(\theta\ | \ x)求使观测结果x发生的概率最大的参数\theta,即argmax_\theta f(x;\theta)

3. 对数似然:

由于对数函数具有单调递增的特点,对数函数和似然函数具有同一个最大值点。

取对数是为了方便计算极大似然估计,MLE中直接求导比较困难,因此通常先取对数再求导,找到极值点。

4. 负对数似然估计:

softmax函数通常和负对数似然一起使用。通常对数为单调增,因此负对数为单调减

5. 总结

最大似然估计的一般步骤如下:

(1) 写出似然函数;

(2) 对似然函数取对数,得到对数似然函数;

(3) 求对数似然函数的关于参数组的偏导数,并令其为0(使用随机梯度下降令其为0),得到似然方程组;

(4) 解似然方程组,得到参数组的值.


上一篇下一篇

猜你喜欢

热点阅读