2018.2.18 基于梯度上升的最优化算法
梯度上升算法求最优参数的数学公式推导
今天在学习《机器学习实战》这本书的时候,对于梯度上升算法求最Logistic回归的最优参数的那部分数学实现一直不明白,今天上午的时间,查阅了很多的资料,然后自己推导了一下数学公式。
首先,需要介绍的是Sigmoid函数,公式如下:
大致图像如下:
然后我们定义一组向量,这一些参数就是最后要求的Logistic回归模型的最佳参数.
然后我们定义一个函数
然后,我们根据sigmoid函数的特性,我们可以得到对于样本的一个概率分布
综合起来是
符号表示:
是样本向量组,对应于机器学习实战里面是100*3的矩阵。
是 向量的转置
接下来是见证奇迹的时刻,用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数的值。没错,就是最大似然估计。考研这么多天,第一次感觉数学一还是学的很有用的。
我们定义似然函数
先取对数
考研数学这个时候就可以去进行求导,算极值了。但是实际环境中,函数往往很复杂,就算求出了函数的导数,也很难精确计算出函数的极值。
此时我们就可以用迭代的方法来做,一点一点逼近极值。这个时候应该引入这一章的重点内容了–基础梯度上升的最优化方法
没错,又是考研数学的内容,梯度(gradient)
我们的迭代公式为
为什么要使用梯度,因为梯度是函数变化最快的方向,具体定义我也不记得了。
。。待续,太困了