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

news2024/11/18 13:55:07

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

目录

一、什么是对数似然函数

二、算法分析

三、总结 


一、什么是对数似然函数

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SD卡打不开怎么办?sd卡损坏修复,盘点一些实用的教程

SD卡的应用十分广泛&#xff0c;比如&#xff0c;手机、数码相机、摄像机、MP4、航拍器、车载导航等。但是随着SD卡的使用时间的长短&#xff0c;有时会出现常见问题—SD卡打不开。SD卡里面保持着我们很多重要数据&#xff0c;如果它打不开&#xff0c;很可能导致我们里面重要数…

CSS倒影炫酷属性 -webkit-box-reflect 的使用

文章目录效果预览一、相关知识点介绍属性相关二、实现步骤总结效果预览 一、相关知识点 介绍 文档 MDN关于倒影属性介绍&#xff1a;https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-box-reflect 官方说明&#xff1a; 非标准:该特性是非标准的&#xff0c;不在标…

CCF BDCI|算能赛题决赛选手说明论文-05

基于TPU平台实现人群密度估计 队伍&#xff1a;SO-FAST 宋礼 算法工程师 京东科技 中国-北京 song200626163.com柯嵩宇计算机科学与技术专业 博士 上海交通大学 中国-上海 songyukesjtu.edu.cn包锴楠计算机科学与技术 硕士 西南交通大学 中国-成都 baokainan123gmail…

元宇宙构建基石:三维重建技术

如今“元宇宙”概念爆火&#xff0c;作为前沿数字科技发展的集成体之一&#xff0c;元宇宙正成为诸多产业寻求破局的全新风口。元宇宙是利用科技手段进行链接与创造&#xff0c;与现实世界映射和交互的虚拟世界&#xff0c;具备新型社会体系的数字生活空间&#xff1b;其本质上…

Day11 蓝桥杯+Java中LocalDate类——关于日期跳转题【2015省赛星系炸弹】(相比C++,Java的LocalDate是真的香!!!)

今天刷蓝桥杯的题&#xff0c;用CAC了之后&#xff0c;发现解析里有兄弟用Java的LocalDate类做的&#xff0c;步骤极其简洁&#xff0c;【由于寒假开始学过一点Java】所以我特意去搜了搜LocalDate类&#xff0c;发现解这种题真的很好使&#xff01;&#xff01;&#xff01;废话…

高级性能测试系列《39.终极线程组可以模拟出压力测试场景吗?》

一、回顾1.面向目标场景&#xff1a;Arrivals Thread Group&#xff0c;这个可以面向tps。Concurrency Thread Group&#xff0c;可以设置面向多少个并发用户数。2.波浪型场景&#xff1a;Ultimate Thread Group 波浪型场景。在添加第二行时&#xff0c;初始化时间点要大于等于…

Makefile的使用 和 基本语法 及Makefile中变量的使用【入门必看】

MakefileMakefile概要为啥要使用MakefileMakefile的使用Makefile的语法&#xff08;重点&#xff09;Makefile实际使用&#xff08;重点&#xff09;利用Makefile删除详解Makefile指令&#xff08;重点&#xff09;Makefile多命令选项Makefile的选择编译特性强制执行总结Makefi…

使用 Keras 深度学习库进行CNN 图像识别

Keras 是一个用于深度学习的 Python 库&#xff0c;它封装了强大的数值库 Theano 和 TensorFlow。 在本文中&#xff0c;你将了解如何在 Keras 中开发和评估用于图像识别的深度学习模型。完成本文后&#xff0c;你将了解&#xff1a; 关于 CIFAR-10 对象分类数据集以及如何在…

Pyrene-PEG5-propargyl_1817735-33-3_芘甲酰胺五聚乙二醇丙炔

Pyrene-PEG5-propargyl&#xff0c;芘甲酰胺-五聚乙二醇-丙炔Product structure&#xff1a;Pyrene-PEG5-propargyl结构式Product specifications&#xff1a;1.CAS No&#xff1a;1817735-33-32.Molecular formula&#xff1a;C30H33NO63.Molecular weight&#xff1a;503.64.…

一文弄懂三色标记算法

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 你愈是少说你的伟大&#xff0c;我将愈想到你的伟大。——培根 文章目录三色标记算法增量更新原始快照面试官&#xff1a;我们先从JVM基础开始问&#xff0c;了解三色标记算法吗&#xff1f;我&#xff1a;额…

CSS或JS实现逐帧动画方案

什么是逐帧动画 逐帧动画是一种在连续的关键帧中分解动画动作&#xff0c;即在时间轴的每一帧上绘制不同内容并使之连续播放成动画的一种常见的动画形式。与CSS关键帧动画不同的是&#xff0c;逐帧动画每一帧需要自行定义&#xff1b;关键帧动画只需定义部分关键帧&#xff0c;…

《机会成本》的阅读札记

【引子】第一次接触机会成本&#xff0c;大约还是十几年前自己在读MBA的时候&#xff0c;在徐华老师《管理经济学》的课上听到过一耳朵&#xff0c;但没有太多的认知。这个春节&#xff0c;阅读了《机会成本——做出高效决策的策略思维》才有了些许进一步的认识&#xff0c;那么…

从0到1介绍一下开源大数据服务平台dataService

1.背景&现状 在大数据领域也已经工作了多年&#xff0c;无论所待过的大公司还是小公司&#xff0c;统计出来的数据经常需要查询展示&#xff0c;比如说&#xff1a;用做大屏或者报表或者给一些线上服务提供数据源&#xff0c;经常会要用代码写一套接口服务&#xff0c;需要…

Python中的os模块

整理文件和目录最最最常用的os模块os模块是Python标准库中整理文件和目录最为常用的模块&#xff0c;该模块提供了非常丰富的方法用来处理文件和目录。os.getcwd()作用&#xff1a;获取当前的工作路径&#xff1b;>>> os.getcwd() D:\\ResearchWay\\Code\\PythonCode\…

2023年浏览器哪个好,如何选择浏览器?

浏览器作为电脑必备的软件之一&#xff0c;相信绝大多数人都用过。选择一款好用的浏览器&#xff0c;可以帮助我们提升工作效率。那么&#xff0c;浏览器哪个比较好&#xff0c;我们如何选择合适的浏览器&#xff1f;为了找到集速度、易用性、安全于一身的浏览器&#xff0c;我…

第四十七章 动态规划——状态压缩模型

第四十七章 动态规划——状态压缩模型一、什么是状态压缩二、例题讲解1、AcWing 1064. 小国王&#xff08;1&#xff09;问题&#xff08;2&#xff09;思路&#xff08;3&#xff09;代码2、AcWing 327. 玉米田&#xff08;1&#xff09;问题&#xff08;2&#xff09;思路&am…

晴天科技冲刺上市:实控人丁一波系本科肄业,粤民投为其股东

近日&#xff0c;浙江晴天太阳能科技股份有限公司&#xff08;下称“晴天科技”&#xff09;预披露更新招股书&#xff0c;准备在深圳证券交易所主板上市。据贝多财经了解&#xff0c;晴天科技曾于2022年7月1日递交招股书&#xff0c;此次更新了截至2022年6月30日的财务数据等信…

AcWing 1072. 树的最长路径(DFS)

[TOC](AcWing 1072. 树的最长路径&#xff08;树形DP)) 一、题目&#xff1a; 二、思路&#xff1a; 为了方便&#xff0c;我们利用下面这个图做讲解&#xff1a; 这颗树的最长路径必定经过的是图中的点&#xff0c;因此&#xff0c;**我们可以去枚举经过图中每个点的最长路…

微星武士gf66电脑系统中途安装失败怎么办?

微星武士gf66电脑系统中途安装失败怎么办&#xff1f;有用户购买的微星武士gf66电脑想要进行电脑系统的重新安装&#xff0c;但是在新系统的安装过程中出现了错误&#xff0c;导致系统无法启动了。这个情况可以使用U盘来重装一个系统&#xff0c;恢复电脑的正常使用&#xff0c…

将springboot项目部署到linux上运行的步骤

前言&#xff1a; 博主看了许多的博客&#xff0c;总结出了最有用的部分&#xff0c;将springboot项目完整的运行在了linux虚拟机上。而不是仅仅只在网页打印一句话&#xff0c;就当做运行成功。运行成功页面如下&#xff1a; 运行成果展示&#xff1a; 接下来废话不多说&…