机器学习 -逻辑回归的似然函数

公式解释

公式如下:

L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\theta) = \prod_{i=1}^m P(y_i | x_i; \theta) = \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} L(θ)=i=1mP(yixi;θ)=i=1m(hθ(xi))yi(1hθ(xi))1yi

符号解释

  • L ( θ ) L(\theta) L(θ):似然函数,表示给定参数 θ \theta θ 的情况下,观测到数据的概率。

  • ∏ i = 1 m \prod_{i=1}^m i=1m:累乘符号,表示从 i = 1 i = 1 i=1 i = m i = m i=m 的所有项的乘积。

  • P ( y i ∣ x i ; θ ) P(y_i | x_i; \theta) P(yixi;θ):在给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,输出 y i y_i yi 的概率。

  • h θ ( x i ) h_\theta(x_i) hθ(xi):逻辑回归模型的预测函数,给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,预测输出 y i = 1 y_i = 1 yi=1 的概率。通常表示为:

    h θ ( x i ) = 1 1 + e − θ T x i h_\theta(x_i) = \frac{1}{1 + e^{-\theta^T x_i}} hθ(xi)=1+eθTxi1

  • y i y_i yi:第 i i i 个样本的实际标签,取值为0或1。

  • 1 − y i 1 - y_i 1yi:第 i i i 个样本实际标签的补集。

公式含义

  1. 似然函数

    • L ( θ ) L(\theta) L(θ) 是给定参数 θ \theta θ 的情况下,所有观测数据的联合概率。对于逻辑回归,假设每个样本的概率是独立的,我们可以将每个样本的条件概率相乘。
  2. 条件概率

    • P ( y i ∣ x i ; θ ) P(y_i | x_i; \theta) P(yixi;θ) 表示在给定输入 x i x_i xi 和参数 θ \theta θ 的情况下,观测到标签 y i y_i yi 的概率。
    • 如果 y i = 1 y_i = 1 yi=1,则 P ( y i = 1 ∣ x i ; θ ) = h θ ( x i ) P(y_i = 1 | x_i; \theta) = h_\theta(x_i) P(yi=1∣xi;θ)=hθ(xi)
    • 如果 y i = 0 y_i = 0 yi=0,则 P ( y i = 0 ∣ x i ; θ ) = 1 − h θ ( x i ) P(y_i = 0 | x_i; \theta) = 1 - h_\theta(x_i) P(yi=0∣xi;θ)=1hθ(xi)
  3. 联合概率

    • 对于所有样本,我们计算每个样本的条件概率的乘积,得到联合概率。这通过累乘符号 ∏ \prod 表示。
  4. 对数似然

    • 在实际计算中,通常会取对数来简化计算。取对数之后,乘积会变成和,对数似然函数为:

      log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] \log L(\theta) = \sum_{i=1}^m [y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i))] logL(θ)=i=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))]

从似然函数到对数似然函数的变换

我们有如下的似然函数(Likelihood function):

L ( θ ) = ∏ i = 1 m P ( y i ∣ x i ; θ ) = ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\theta) = \prod_{i=1}^m P(y_i | x_i; \theta) = \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} L(θ)=i=1mP(yixi;θ)=i=1m(hθ(xi))yi(1hθ(xi))1yi

我们需要将其转换成对数似然函数(Log-Likelihood function)。

第一步:对似然函数取对数

由于对数具有将乘积转化为和的性质,即 log ⁡ ( a ⋅ b ) = log ⁡ ( a ) + log ⁡ ( b ) \log(a \cdot b) = \log(a) + \log(b) log(ab)=log(a)+log(b),我们对似然函数取对数:

log ⁡ L ( θ ) = log ⁡ ( ∏ i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i ) \log L(\theta) = \log \left( \prod_{i=1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} \right) logL(θ)=log(i=1m(hθ(xi))yi(1hθ(xi))1yi)

第二步:利用对数的性质将乘积转换为和

将累乘号 ∏ \prod 转换为累加号 ∑ \sum

log ⁡ L ( θ ) = ∑ i = 1 m log ⁡ ( ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i ) \log L(\theta) = \sum_{i=1}^m \log \left( (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} \right) logL(θ)=i=1mlog((hθ(xi))yi(1hθ(xi))1yi)

第三步:分解对数内部的乘积

对数的另一个性质是 log ⁡ ( a b ) = b ⋅ log ⁡ ( a ) \log(a^b) = b \cdot \log(a) log(ab)=blog(a),我们将其应用于每一项:

log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] \log L(\theta) = \sum_{i=1}^m \left[ y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i)) \right] logL(θ)=i=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))]

得到对数似然函数

上面的公式就是对数似然函数:

l ( θ ) = log ⁡ L ( θ ) = ∑ i = 1 m [ y i log ⁡ ( h θ ( x i ) ) + ( 1 − y i ) log ⁡ ( 1 − h θ ( x i ) ) ] l(\theta) = \log L(\theta) = \sum_{i=1}^m \left[ y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i)) \right] l(θ)=logL(θ)=i=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))]

详细解释

  • 对数转换:通过对似然函数取对数,将乘积关系转换为加法关系,简化了计算。
  • 对数性质应用:利用对数将幂次关系转换为乘积关系,从而进一步简化每一项的计算。

总结

将似然函数转换为对数似然函数的过程利用了对数的基本性质:对数将乘法转换为加法,并将指数转换为乘法。这种转换简化了复杂的乘积运算,使得梯度计算和优化问题变得更容易处理。对数似然函数在机器学习算法中尤为常用,尤其是逻辑回归中,用于最大化似然估计(MLE)。

综上所述

该公式描述了逻辑回归的似然函数,表示在给定参数 θ \theta θ 的情况下,观测到数据集的概率。理解这些符号和公式的含义是逻辑回归的重要基础,进一步的优化和参数估计都是基于这个似然函数进行的。通过最大化似然函数或最小化负对数似然函数,我们可以找到最优的参数 θ \theta θ

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

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

相关文章

亲测--linux下安装ffmpeg最新版本---详细教程

下载地址 Download FFmpeg 下载最新的https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.xz 上传到服务器 解压 tar xvf ffmpeg-7.0.1.tar.xz 编译 cd ffmpeg-7.0.1 ./configure --prefix=/usr/local/ffmpeg make && make install 报错: 解决:在后面加 跳过检测…

上海市计算机学会竞赛平台2022年9月月赛丙组二叉树的遍历

题目描述 有一棵二叉树,结点数量不超过 2626 个,树上的每个结点都有一个大写字母。 给定这棵二叉树的前序遍历及中序遍历,请输出它的后序遍历。 输入格式 第一行:一个字符串,表示二叉树的前序遍历;第二…

【分布式存储系统HDFS】架构和使用

分布式存储系统HDFS:架构和使用 目录 引言HDFS简介HDFS的架构 NameNodeDataNodeSecondary NameNode HDFS的工作原理 数据读写流程数据冗余与恢复 HDFS的安装和配置 环境准备HDFS安装步骤HDFS配置文件启动HDFS HDFS的使用 基本命令HDFS Shell操作Java API操作 HDFS…

【Word】——小技巧

1.PDF相关转换word PDF转换成Word在线转换器 - 免费 - CleverPDF 2. word插入公式 1.软件推荐(免费) 可直接将图片,截屏公式转为word标准规范形式 2.网址推荐 在线LaTeX公式编辑器-编辑器 (每天有免费使次数) 3.…

Matlab演示三维坐标系旋转

function showTwo3DCoordinateSystemsWithAngleDifference() clear all close all % 第一个三维坐标系 origin1 [0 0 0]; x_axis1 [1 0 0]; y_axis1 [0 1 0]; z_axis1 [0 0 1];% 绕 x 轴旋转 30 度的旋转矩阵 theta_x 30 * pi / 180; rotation_matrix_x [1 0 0; 0 cos(th…

appendchild 啥意思 Javascript

在JavaScript中&#xff0c;appendChild 是一个DOM&#xff08;文档对象模型&#xff09;方法&#xff0c;用于将一个节点添加到另一个节点的子节点列表的末尾。通常&#xff0c;这个方法被用来将一个元素&#xff08;如一个新创建的 <div> 或 <span> 元素&#xf…

.NET在游戏开发中有哪些成功的案例?

简述 在游戏开发的多彩世界中&#xff0c;技术的选择往往决定了作品的成败。.NET技术&#xff0c;以其跨平台的性能和强大的开发生态&#xff0c;逐渐成为游戏开发者的新宠。本文将带您探索那些利用.NET技术打造出的著名游戏案例&#xff0c;领略.NET在游戏开发中的卓越表现。 …

【SQL】百万级别以上的数据如何删除

在MySQL中删除百万级别以上的数据时&#xff0c;需要考虑性能和资源消耗。以下是几种有效的策略&#xff1a; 1. 分批删除 (Batch Deletion) 逐步删除大批量数据&#xff0c;以避免长时间锁定表和阻塞其他操作。 -- 使用循环来分批删除 SET batch_size 10000; -- 每次删除…

Linux服务器配置Python+PyTorch+CUDA深度学习环境

参考博主 Linux服务器配置PythonPyTorchCUDA深度学习环境_linux cuda环境配置-CSDN博客 https://blog.csdn.net/NSJim/article/details/115386936?ops_request_misc&request_id&biz_id102&utm_termlinux%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E6%8C%89pytorch%20…

【ffmpeg命令基础】流复制

文章目录 前言为什么需要流复制流复制的示意图流复制的例子总结 前言 在视频处理领域&#xff0c;FFmpeg 是一个功能强大且广泛使用的工具。它可以处理几乎所有类型的多媒体文件&#xff0c;并支持多种操作&#xff0c;如转码、剪辑、合并等。本文将介绍 FFmpeg 中的一个重要功…

20. Python读取.mat格式文件通用函数

1. 前言 在科研和工程领域,MATLAB的.mat文件是一种常见的数据存储格式,用于保存复杂的数组和结构体。Python作为一种强大的编程语言,提供了多种库来读取和处理.mat文件。本文将介绍一个通用的Python函数,用于读取.mat格式文件,并将其内容转换为Python数据结构,以便进一步…

4核16G服务器支持多少人?4C16G服务器性能测评

租赁4核16G服务器费用&#xff0c;目前4核16G服务器10M带宽配置70元1个月、210元3个月&#xff0c;那么能如何呢&#xff1f;配置为ECS经济型e实例4核16G、按固定带宽10Mbs、100GB ESSD Entry系统盘。 那么问题来了&#xff0c;4C16G10M带宽的云服务器可以支持多少人同时在线&…

【Oracle】Oracle中的merge into

目录 解释使用场景语法示例案例一案例二 MERGE INTO的优缺点优点&#xff1a;缺点&#xff1a; 注意事项附&#xff1a;Oracle中的MERGE INTO实现的效果&#xff0c;如果改为用MySQL应该怎么实现注意 解释 在Oracle数据库中&#xff0c;MERGE INTO是一种用于对表进行合并&…

C++ ───List的使用

目录 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&…

2024年汉字小达人比赛区级活动学校选拔的题型预测和真题示例

上一篇文章&#xff0c;好真题网为大家介绍了2024年上海市小学生汉字小达人比赛活动的轮次、举办日期、参赛对象、报名方式、费用和如何备考的建议等。 有家长朋友问汉字小达人考试的内容和范围是什么&#xff0c;有哪些题型&#xff0c;以及汉字小达人比赛和上海市小学生古诗…

PDF压缩软件电脑版 电脑pdf压缩怎么压缩文件

在数字化时代&#xff0c;pdf文件因其良好的兼容性和稳定性&#xff0c;已成为工作与生活中不可或缺的文件格式。然而&#xff0c;随着内容的增多&#xff0c;pdf文件的体积也随之增大&#xff0c;给文件的传输和存储带来了一定的困扰。本文将为你详细介绍如何在电脑上压缩pdf文…

关于Redis的最常见的十道面试题

面试题一&#xff1a;Redis为什么执行这么快&#xff1f; Redis运行比较快主要原因有以下几种&#xff1a; 纯内存操作&#xff1a;Redis将所有数据存储在内存中&#xff0c;这意味着对数据的读写操作直接在内存中运行&#xff0c;而内存的访问速度远远高于磁盘。这种设计使得…

【18】Android 线程间通信(三) - Handler

概述 接下来我们会从native层来分析一下&#xff0c;Handler做了什么&#xff0c;以及之前提到过的应用层的两个native的调用链。 nativeWake 最早接触这个方法还记得是什么时候吗&#xff1f;MessageQueue#enqueueMessage中&#xff0c;在这个方法的末尾&#xff0c;我们看…

LNMP架构部署及应用

部署LNMP架构流程 1.安装Nginx&#xff08;上传软件包&#xff0c;执行脚本&#xff09; yum -y install pcre-devel zlib-devel gcc gcc useradd -M -s /sbin/nologin nginx tar zxf nginx-1.12.0.tar.gz cd nginx-1.12.0 ./configure --prefix/usr/local/nginx --usernginx…

python原型链污染

python原型链污染 ​ 后面会有跟着Article_kelp慢慢操作的&#xff0c;前面先面向题目学习。 背景&#xff1a; ​ 国赛遇到了这个考点&#xff0c;然后之后的DASCTF夏季挑战赛也碰到了&#xff0c;抓紧粗略学一手&#xff0c;学了JavaScript之后再深究原型链污染。 简介&a…