位置: IT常识 - 正文

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

发布时间:2024-01-12
机器学习中的数学原理——对数似然函数

推荐整理分享机器学习中的数学原理——对数似然函数,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

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

目录

一、什么是对数似然函数

二、算法分析

三、总结 


一、什么是对数似然函数

对数似然是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计算,避免了连乘概率越来越小,受计算机计算进度影响也越来越大的问题。求得表达式之后的求微分也和我们之前讲的相似,只要采用连续偏导就可以了。计算过程挺复杂,不过最后的结果还挺简单的:

本文链接地址:https://www.jiuchutong.com/zhishi/293126.html 转载请保留说明!

上一篇:window.location.href的用法(window.location.href返回值)

下一篇:日落时的悬日现象,美国芝加哥 (© Razvan Sera/Amazing Aerial Agency)(日落时有什么变化)

  • 一般纳税人的申报方式
  • 收入准则范围内
  • 企业税分几种类型
  • 其他应付款长期挂账如何处理
  • 个人独资企业租赁收入如何纳税
  • 商品房空置费
  • 资本金利息收入算业务收入吗
  • 差旅费报销会计科目
  • 低值易耗品摊销什么意思
  • 预收款开票的税务处理
  • 重置申报清册是什么意思
  • 外购产品用于赠送帐务处理
  • 收到退回的银行汇票会计分录
  • 税务异常不处理会的后果
  • 收到境外公司服务费
  • 社保刚办理可以用吗
  • 转结本月工资
  • win10专业版分辨率1920x1080不见了
  • 计提长期债券利息分录
  • 一般纳税人出租其2016年4月30日前取得的不动产
  • enw是什么文件
  • 在php中,字符串有哪些表示形式
  • php字符串定义
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • Vue3+ElementPlus el-date-picker设置可选时间范围
  • 委托加工的加工费是含税的吗
  • 取得增值税发票丢了怎么是好
  • 应付福利费和应付职工薪酬的关系
  • 固定资产生产经营期间正常报废产生的净收益
  • 让我看看他们
  • php内存缓存功能怎么用
  • 计提坏账准备的前提条件
  • 流动资产的含义及常见项目
  • 分公司申请独立账户流程
  • 固定资产的入账标准
  • 个税申报报的是已离职的员工员工投诉
  • sql server中变量声明的命令是什么
  • virtono搭建教程
  • 销售农产品是否交消费税
  • 差额征税可以开专票抵扣吗
  • 纳税人申报的方法有哪些
  • 公司收到社保局的提醒函怎么办
  • 应交增值税转入未交增值税怎么算
  • 公司因担保产生损失
  • 退货开增值税专票可以用负数吗
  • 外派国外的员工享受国内法定假期吗
  • 供应商质量考核单
  • 收到汇算清缴后怎么做账
  • 税务局退款会计分录
  • 公司被冻结
  • 修改mysql数据库字符集
  • mysql与c++相连
  • centos rpm安装方法
  • mysql5.7.23
  • sqlserver数据库版本号怎么查
  • mysql启动成功但是无法连接
  • win7怎么调整
  • xp系统如何开启共享文件夹
  • 怎么在bios中开启cs1
  • vc6_cn_full.exe
  • win7系统硬盘分区类型
  • win10打开命令提示符窗口
  • ssh远程连接linux
  • 64位CentOS 6.4安装配置流量监控工具ntopng
  • linux查看进程并杀死
  • jquery 使用
  • 手机游戏开发工具app
  • 收藏了很久的句子
  • Node.js中的包管理工具是什么
  • 3行程序搞定SVM分类-用JAVA程序调用LibSVM API 最简单的示例
  • 深入理解javascript特性.pdf
  • 世界坐标转换成屏幕坐标
  • js 修改 css
  • libgdx robovm admob IOS SDK的绑定
  • pdb settrace
  • 税务局与稽查局哪个好
  • 期初未缴税额是什么意思
  • 绿化工程项目
  • 企业房产税计算器
  • 汽车购车发票开完票能更改名字吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号