这个专栏主要是用来分享一下我在 机器学习中的 学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎 私信或者评论区留言!这一篇就更新一下《 白话机器学习中的数学——对数似然函数》!

目录

一、什么是对数似然函数

二、算法分析

三、总结


一、什么是对数似然函数

对数似然是Minitab 为了确定估计系数(β) 的最优值而最大化的表达式。 由于对数似然是样本数量的函数,因此它们的值不能单独作为拟合值的指数使用,但可以用来比较不同系数的拟合值。 由于您要最大化对数似然,因此值越大越好。

二、算法分析

之前我们已经接触过似然函数的概念,我们认为似然函数 L(θ) 中,使其值最大的参数θ能够最近似地说明训练数据。和随机梯度下降法一样,我们接下来要做的就是对似然函数进行微分,求出参数 θ。不过直接对似然函数进行微分有点困难,在此之前要把函数变形。联合概率中的概率都是 1 以下的数,所以像联合概率这种概率乘法的值会越来越小。如果值太小,编程时会出现精度问题。并且与加法相比,乘法的计算量要大得多。

想要解决这些问题,只要取似然函数的对数就好了。像这样在等式两边加上 log 即可:

log 是单调递增函数。log 函数的图形如下所示:

图形一直向右上方延伸。单调递增函数是在 x1 < x2 时,f(x1) < f(x2) 的函数 f(x)。log(x)的图形一直向右上方延伸,而且在 x1 < x2时,log(x1) < log(x2)也成立。

我们现在考察的似然函数也是在 L(θ1) < L(θ2) 时,有logL(θ1) < logL(θ2) 成立。也就是说,使 L(θ) 最大化等价于使logL(θ) 最大化。我们把对数似然函数变形看看:

每一行的变形分别利用了下面这些特性,好好理解一下:

  • 第 2 行是 log(ab) = log a + log b
  • 第 3 行是 log ab = b log a
  • 第 4 行是 P(y(i) = 0|x(i) ) = 1 − P(y(i) = 1|x(i) )

前两个是对数函数的特性,下面对第 4 行进行解释:现在我们考虑的只有 y = 1 和 y = 0 两种情况,所以应有 P(y(i) = 0|x(i) ) + P(y(i) = 1|x(i) ) = 1

下面要做的就是就是进行偏分求未知量。前面讲了很多,总结一下就是逻辑回归将这个对数似然函数用作 目标函数。

 接下来,对各个参数 θj 求微分就行了:

 和回归的时候是一样的,我们把似然函数也换成这样的复合函数, 然后依次求微分。

这个是 u 对 v 微分,log(v) 的微分是 1/v。对 log(1 − v) 微分时,要像这样通过复合函数来求。还 要注意,这样做最后的表达式前面会有个负号。

 所以,微分结果是这样的:

 接下来是 v 对 θj 的微分:

这个看上去有点麻烦,不过其实我们已经知道了 sigmoid 函数的 微分是这样的,所以用这个应该就可以计算了。

现在 fθ(x)本身就是 sigmoid 函数,所以这个微分表达式可以直接使用。设 z = θTx,然后再一次使用复合函数的微分会比较好。

v 对 z 微分的部分也就是 sigmoid函数的微分。

 z 对 θj 的微分就简单了。

 接下来把结果相乘就好了:

 我们就代入各个结果,然后通过展开、约分,使表达式 变得更简洁。

接下来要做的就是从这个表达式导出参数更新表达式。不过现在是以最大化为目标,所以必须按照与最小化时相反的方向移动参数哦。也就是说,最小化时要按照与微分结果的符号相反的 方向移动,而最大化时要与微分结果的符号同向移动。

为了与回归时的符号保持一致,也可以将表达式调整为下面这样。注意,η 之前的符号和∑中的符号反转了。这就是我们最终求得的结果表达式:

三、总结

通过上面的推导,我们学习了最大似然函数,这与我们之前接触的最小二乘法不同,最小二乘法以误差作为评判标准,误差越小越好,而最大似然函数以概率作为评判标准,概率越大越好。在计算概率时,我们求了一次对数log计算,避免了连乘概率越来越小,受计算机计算进度影响也越来越大的问题。求得表达式之后的求微分也和我们之前讲的相似,只要采用连续偏导就可以了。计算过程挺复杂,不过最后的结果还挺简单的:

机器学习中的数学原理——对数似然函数相关推荐

  1. 机器学习中的数学原理——似然函数

    这个专栏主要是用来分享一下我在 机器学习中的 学习笔记及一些 感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎 私信或者 评论区留言!这一篇就更新一下< 白话机器学习中的数学--似然函数> ...

  2. Python机器学习中的数学原理详解(补充勘误表)

    数学是机器学习和数据科学的基础,任何期望涉足相关领域并切实领悟具体技术与方法的人都无法绕过数学这一关.在一篇题为<放弃幻想,搞AI必须过数学关>的网文中,作者一针见血地指出想从事AI相关工 ...

  3. 机器学习中的数学原理——梯度下降法(最速下降法)

    好久没更新了,确实是有点懒了,主要是这两天返乡在隔离(借口).这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新 ...

  4. 机器学习中的数学原理——随机梯度下降法

    这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下<白话机器学习中的数学--随机梯度下降法>! ...

  5. 机器学习中的数学原理——过拟合、正则化与惩罚函数

    通过这篇博客,你将清晰的明白什么是过拟合.正则化.惩罚函数.这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎 ...

  6. 机器学习中的数学原理——F值与交叉验证

    通过这篇博客,你将清晰的明白什么是F值.交叉验证.这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评 ...

  7. 机器学习中的数学原理——向量内积

    今天是2023年的第一天,祝大家新年快乐!这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下<白话机器 ...

  8. 机器学习中的数学原理——二分类问题

    今天是2022年的最后一天,提前祝大家新年快乐!这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言!这一篇就更新一下<白 ...

  9. 机器学习中的数学原理——最小二乘法

    这几天在刷B站的时候,有个深度学习的博主推荐了一本机器学习的书--<白话机器学习的数学>,抱着浅看一下的态度,我花3个大洋从淘宝上找到了这本书的电子版.看了两天我直接吹爆!!!所以这个专栏 ...

最新文章

  1. python自动化测试看什么书-Python接口自动化测试
  2. 微信小程序-设置启动页面
  3. sas ondemand for academics使用
  4. WPF 修改(优化)Menu菜单的样式
  5. foobar 添加歌词插件
  6. python3.7适用的opencv_通过python3.7.3使用openCV截图一个区域
  7. oracle客户端查看版本号,Oracle 版本查看及版本号说明
  8. 成都Uber优步司机奖励政策(1月26日)
  9. 汉诺塔问题(C语言实现)
  10. ams1117 lm317 对比_ams1117中文资料汇总(ams1117引脚图及功能_工作原理及典型应用电路)...
  11. 安装docker提示“Another app is currently holding the yum lock; waiting for it to exit“之解决办法
  12. python在使用pyinstaller打包文件时提示找不到指定模块
  13. 第三章 标准单元库(下)
  14. 以后你们就要给张一鸣还“花呗”了
  15. 项目经理应该如何制定项目进度计划?
  16. 译文:在闭包中使用循环变量是有害的
  17. vue实现数据无缝循环滚动
  18. java 完美洗牌,(2)数组相关算法题目
  19. 计算机毕业设计 基于JavaWbe的校友录管理系统(源码+论文)
  20. oracle 删除asm,删除ASM实例

热门文章

  1. 数字逻辑电路——原码,反码,补码
  2. 【论文分享】Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis
  3. 课程设计2:交通灯仿真设计
  4. 如何预约港澳出入通行证
  5. 杏雨梨云USB维护系统又升级了!——杏雨梨云USB维护系统2019端午版
  6. 【笔记】Java反射专题
  7. 博弈论基础(acwing)
  8. SwiftyJSON库的使用和思考
  9. TP4056/4057/4054充电不转灯闪FAE技术
  10. 【Axure高保真原型】柱状-折线组合图表原型模板