第十八节逻辑回归之交叉熵损失函数梯度求解过程(2)

上一节中,我们讲解了交叉熵损失函数的概念,目标是要找到使得损失函数最小的那组θ,也就是l(θ)最大,即预测出来的结果在训练集上全部正确的概率最大。那我们怎么样找到我们的最优解呢?上节中提出用梯度下降法求解,本节的话我们对其具体细节展开。

先来看下我们用梯度下降求解最优解,想要通过梯度下降优化L(θ)到最小值需要几步?

第一步,随机产生w,随机到0附近会比较好一点,w随机到0附近就意味着不管用L1还是L2正则的时候,可以使w的整体比较小。L1和L2正则同样可以用到逻辑回归里面去,来使得逻辑回归的损失函数obj相对比较小,然后使得我们模型具有推广能力和泛化能力。其实任何算法,都可以去使用L1和L2来提高模型的泛化能力,本质上就是减少模型的复杂度。所以以后未来碰到任何的算法,w在随机的过程当中,我们最好用期望为0的正态分布,来随机产生n+1个w。

第二步是求梯度,对于逻辑回归来说,如果用SGD求梯度,我们得用交叉熵的损失函数来得到它的导函数,然后才可以知道某一个值的时候它的梯度是多少。

第三步是,它本质是一阶泰勒展开近似。

第四步是判断收敛,其实就是第二第三步循环往复来执行。

四步里面第二步求解交叉熵损失函数的导函数求得其梯度是最关键的。我们对其展开来说。我们再来看下我们的目标函数:

把负号提出来再加上1/m就是:

至于求导梯度时为什么要加-1/m,可以参考第六节梯度下降之从单元函数理解梯度下降过程(1)

我们要对损失函数里每个w求偏导,也就是对每一部分求偏导。w在pi里面,pi=1/(1+e-w^Tx),也可写成h(θ)x。上面可拆成左右两部分求导,先对左半部分yi*log pi求导,我们是对wj即(θj)求偏导,跟yi没关系,因为(lnx)'=1/x ,并且log pi是复合函数,需要对里外分别求导,即:

后半部分同理复合函数求导,

即 :

又因为求导结果为。而p(xi;w) 实际上就是关于θ的函数,可以写成h(θ)x。所以

左右两部分求导结合起来后损失函数表示成:

hθ(x)=1/(1+e-θ^Tx),是关于θ^Tx的Sigmoid函数.所以可以用g(θTx)表示,所以损失函数推导部分又可以写成:

又因为(1/x)'=-1/x2,(ex)'= ex,(-z)'=-1,所以实际上展开就是:

好吧看到这是不是很晕眩,实际上耐心下来,跟着我的思路去走,就会很好理解上面的公式。我们继续吧,很快就结束了,也快大功告成了。我们对上面展开后的公式继续展开,整理即:

因为z就是θTx,hθ(x)=1/(1+e-θ^Tx)是关于θ^Tx的Sigmoid函数.同样可以用g(θTx)表示。所以上面展开后的公式最后可以表示成:

所以损失函数可以推导成:

而θTx就是θ1x1+θ2x2+……+θjxj+……+θnxn,如果对θj求偏导,只剩xj。即

xij这种表达方式大家应该已经习惯了,因为i代表第i行,j代表第j列,因为损失函数前面有一个加和符号,所以它实际上还是每一行的事。接下来就是把损失函数式子拆开,正负相消即:

最后一步是把前面的负号放进去得到的。到此我们推导成功,擦擦汗,真不容易!!!。它就是逻辑回归的导函数,你会发现它推导之后和mse的导函数是一样的,都是(hθ(x)-y)*xj这种形式。只不过在多元线性回归的时候,hθ(x)是wTx,在逻辑回归里面,hθ(x)是1/(1+e-θTx)。hθ(x)不一样,但是整体形式一样。所以这也是它叫逻辑回归的一个很大原因。

有了逻辑回归损失函数推出来的导函数,我们用梯度下降求解的时候,我们就可以把第三步中的这一部分算出来了。只要给我一组w,或者θ,w0一直到wn。有了θ,x,y,xj,我就可以把导数求出来。有了导数,继而求得梯度。然后就可以用梯度下降公式去求解了。

下一节中我们讲解逻辑回归的优化。

大白话5分钟带你走进人工智能-第十八节逻辑回归之交叉熵损失函数梯度求解过程(3)相关推荐

  1. 大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)

                                                        大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲 ...

  2. 大白话5分钟带你走进人工智能-第二十八节集成学习之随机森林概念介绍(1)

                                                          第二十八节集成学习之随机森林概念介绍(1) 从本系列开始,我们讲解一个新的算法系列集成学习. ...

  3. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)

              大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...

  4. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)...

                                                    第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...

  5. 大白话5分钟带你走进人工智能-第十节梯度下降之归一化的各种方式和必要性(5)...

                        第十节梯度下降之归一化的各种方式和必要性(5) 上一节中我们讲解了梯度下降的函数最优化算法和梯度下降代码过程,了解了梯度下降的代码实现过程,本节的话我们讲解一个 ...

  6. 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则

                                                                     第十四节过拟合解决手段L1和L2正则 第十三节中,我们讲解了过拟合的情 ...

  7. 大白话5分钟带你走进人工智能-第十九节逻辑回归之优化点(4)

                                                                                          第十九节逻辑回归之优化点(4 ...

  8. 大白话5分钟带你走进人工智能-第二十四节决策树系列之分裂流程和Gini系数评估(3)...

     第二十四节决策树系列之分裂流程和Gini系数评估(3) 上一节中我们讲解了决策树的数学表达形式,本节的话我们讲解决策树的分裂流程以及分裂条件的评估.我们基于决策树的递归表达式上:           ...

  9. 大白话5分钟带你走进人工智能-第十三节多项式回归之维度爆炸和过拟合

    第十三节多项式回归之维度爆炸和过拟合 接下来我们进入下一个问题,叫多项式回归,它其实一点都不复杂.假如对于非线性的数据点,我们如何用现有你已经知道的知识来拟合? 举个例子,人的年龄跟去医院的次数是一条 ...

最新文章

  1. 【Git】Git 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )
  2. SAP Spartacus RouterState
  3. cf1009F. Dominant Indices
  4. 02-go的IDE安装
  5. 天然气井(洛谷P1708题题解,C++语言描述)
  6. java编程顺序,Java种的完整构造执行顺序(转)
  7. 人生赢家!带着宝宝去面试~清华90后女学霸范楚楚加入麻省理工MIT任助理教授!...
  8. 解决kali linux找不到更新的问题
  9. LSTM及其改进用于视觉任务中
  10. vue assets图片_Vue实战—如何细化Vue项目目录设计(2)
  11. Redis 单数据多源超高并发下的解决方案
  12. SQL SERVER存储过程批量插入数据库表数据
  13. 在有的公司,高手遍地走,天才不如狗
  14. 3G dual band 使用策略
  15. 生活技巧:过日子学着点
  16. 笔记本或台式机进入BIOS的快捷键
  17. 计算机键盘没有fn,电脑上没有FN键怎么打开小键盘
  18. 【Maven】Idea搭建多Module项目修修补补
  19. Beyong Compare3,4使用
  20. 查看Win7的真实版本号方法

热门文章

  1. html中常用颜色代码
  2. 如何实现一个小程序版本的老虎机
  3. 基于SSM的在线书城网站【附源码】
  4. 海淀驾校学科目二及考试过程
  5. 基于SSM的网页版进销存系统项目说明
  6. 将时间戳转日期和对应星期几
  7. 如何提高学生对计算机英语的兴趣论文,关于计算机专业英语教学方法的论文
  8. 使用Aggregated APIServer扩展你的kubernetes API
  9. Python 爬虫实战(二)爬取携程(国际)机票
  10. Android盒子看百度云,百度云视频怎么在电视播放?智能电视/电视盒子访问百度网盘的多种方法...