美文网首页机器学习与数据挖掘机器学习与计算机视觉
《机器学习实战》 chapter5梯度上升算法 数学推导

《机器学习实战》 chapter5梯度上升算法 数学推导

作者: 会打代码的扫地王大爷 | 来源:发表于2017-06-07 15:57 被阅读401次

    在本书中我们将Sigmoid函数的输入几位z,于是函数即可设为

    公式(1)

    这种写法也可以表示为向量的写法:

    公式(2)

    同样的道理,我们也可以这样子表示

    公式(3)

    因为需要使用梯度上升算法,因此我们需要定义损失函数:

    公式(4)

    其中的y表示我们给出的标准的特征

    公式(5)

           因为梯度上升算法是用来计算函数的最大值的,而梯度下降算法则是计算函数最小值的。而我们的损失函数自然是越小越好,我们需要求得一个系数来使得f(w)最小,可是使用梯度上升法是用于求最大值的,因此为了用上梯度上升算法,我们最终应该在f(w)前加上负号。假设:

    公式(6)

           接下来我们开始利用矩阵来推算我们的数学公式。假设我们的输入为X,我们有m组训练数据,每个数据有n个特征。则:

    公式(7)

    于是通过(3)可以推出

    公式(8) 公式(9)

    由矩阵内积可得

    公式(10) 公式(11)

    则梯度为

    公式(12)

    说明:

    第二步:类似于括号展开

    第三步:实数的迹等于它本身

    第四步:因为

    不含w,因此它对w求导为0.并且利用了公式

    进行简化

    第五步:由公式

    ,令

    ,利用公式转化即可得到。

    最后再回到《机器学习实战》中,P78,代码清单5-1②的部分。

    dataMatrix=X;

    weights=w;

    labelMat=y;

    把等号右边的用左边的变量代入就是最终的结果。

    参考

    >吴恩达《机器学习》notes1

    >周志华《机器学习》chapter3 线性模型

    相关文章

      网友评论

        本文标题:《机器学习实战》 chapter5梯度上升算法 数学推导

        本文链接:https://www.haomeiwen.com/subject/vaawfxtx.html