机器学习 -逻辑回归的似然函数
公式解释
公式如下:
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=1∏mP(yi∣xi;θ)=i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi
符号解释
-
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(yi∣xi;θ):在给定输入 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 1−yi:第 i i i 个样本实际标签的补集。
公式含义
-
似然函数:
- L ( θ ) L(\theta) L(θ) 是给定参数 θ \theta θ 的情况下,所有观测数据的联合概率。对于逻辑回归,假设每个样本的概率是独立的,我们可以将每个样本的条件概率相乘。
-
条件概率:
- P ( y i ∣ x i ; θ ) P(y_i | x_i; \theta) P(yi∣xi;θ) 表示在给定输入 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;θ)=1−hθ(xi)。
-
联合概率:
- 对于所有样本,我们计算每个样本的条件概率的乘积,得到联合概率。这通过累乘符号 ∏ \prod ∏ 表示。
-
对数似然:
-
在实际计算中,通常会取对数来简化计算。取对数之后,乘积会变成和,对数似然函数为:
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=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(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=1∏mP(yi∣xi;θ)=i=1∏m(hθ(xi))yi(1−hθ(xi))1−yi
我们需要将其转换成对数似然函数(Log-Likelihood function)。
第一步:对似然函数取对数
由于对数具有将乘积转化为和的性质,即 log ( a ⋅ b ) = log ( a ) + log ( b ) \log(a \cdot b) = \log(a) + \log(b) log(a⋅b)=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=1∏m(hθ(xi))yi(1−hθ(xi))1−yi)
第二步:利用对数的性质将乘积转换为和
将累乘号 ∏ \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=1∑mlog((hθ(xi))yi(1−hθ(xi))1−yi)
第三步:分解对数内部的乘积
对数的另一个性质是 log ( a b ) = b ⋅ log ( a ) \log(a^b) = b \cdot \log(a) log(ab)=b⋅log(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=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(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=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
详细解释
- 对数转换:通过对似然函数取对数,将乘积关系转换为加法关系,简化了计算。
- 对数性质应用:利用对数将幂次关系转换为乘积关系,从而进一步简化每一项的计算。
总结
将似然函数转换为对数似然函数的过程利用了对数的基本性质:对数将乘法转换为加法,并将指数转换为乘法。这种转换简化了复杂的乘积运算,使得梯度计算和优化问题变得更容易处理。对数似然函数在机器学习算法中尤为常用,尤其是逻辑回归中,用于最大化似然估计(MLE)。
综上所述
该公式描述了逻辑回归的似然函数,表示在给定参数 θ \theta θ 的情况下,观测到数据集的概率。理解这些符号和公式的含义是逻辑回归的重要基础,进一步的优化和参数估计都是基于这个似然函数进行的。通过最大化似然函数或最小化负对数似然函数,我们可以找到最优的参数 θ \theta θ。
相关文章:
机器学习 -逻辑回归的似然函数
公式解释 公式如下: 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_{i1}^m P(y_i | x_i; \theta) \prod_{i1}^m (h_\theta(x_i))^{y_i} (1 - h_\theta(x_i))^{1 - y_i} L(θ)i1∏…...
go 实现websocket以及详细设计流程过程,确保通俗易懂
websocket简介: WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,后由 RFC 7936 补充规范。 WebSocket 使得客户端和服务器之间的数…...
记录工作中遇到的关于更新丢失商品超开的一个坑
场景: 工作中使用MybatisPlus以及Oracle进行数据库操作,收到RocketMQ消息开始并发分摊不同清货单的商品的批次,并对商品更新冻结数量。 上线后频繁出现商品超库存开票问题。(还好是内部业务,人工替换批次记账即可&…...
形状之美:WebKit中CSS形状的实现与创新
形状之美:WebKit中CSS形状的实现与创新 在网页设计的世界里,CSS形状(Shapes)是一种革命性的特性,它允许开发者使用几何形状来创建复杂的布局结构。WebKit,作为现代浏览器的核心引擎之一,对CSS形…...
项目管理进阶之RACI矩阵
前言 项目管理进阶系列续新篇。 RACI?这个是什么矩阵,有什么用途? 在项目管理过程中,如Team规模超5以上时,则有必要采用科学的管理方式,满足工作需要。否则可能事倍功半。 Q:什么是RACI矩阵 …...
docker: No space left on device处理与迁移目录
简介:工作中当遇到Docker容器内部的磁盘空间已满。可能的原因包括日志文件过大、临时文件过多或者是Docker容器的存储卷已满,需要我们及时清理相关文件,并对docker的路径进行迁移。 历史攻略: centos:清理磁盘空间 …...
设计模式使用场景实现示例及优缺点(结构型模式——外观模式)
在一个繁忙而复杂的城市中,有一座名为“技术森林”的巨大图书馆。这座图书馆里藏着各种各样的知识宝典,从古老的卷轴到现的电子书籍,无所不包。但是,图书馆之所以得名“技术森林”,是因为它的结构异常复杂,…...
Artix7系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTP高速接口,提供工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的以太网方案本博已有的FPGA图像缩放方案本方案的缩放应用本方案在Xilinx--Kintex系列FPGA上的应用本方案在Xilinx--Zynq系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡…...
加拿大上市药品查询-加拿大药品数据库
在加拿大,药品的安全性、有效性和质量是受到严格监管的。根据《食品药品法案》的规定,所有药品制造商必须提供充分的科学证据,证明其产品的安全性和有效性。为此,加拿大卫生部建立了一个全面的药品数据库 (DPD) &#…...
qt自定义控件(QLabel)
先创建自定义控件类painter_label 1.自定义类必须给基类传入父窗口指针 2.重写控件中的方法 3.在UI中创建一个QLabel,右键“提升为”,输入类名...
阿里云国际站:海外视频安全的DRM加密
随着科技的进步,视频以直播或录播的形式陆续开展海外市场,从而也衍生出内容安全的问题,阿里云在这方面提供了完善的内容安全保护机制,适用于不同的场景,如在视频安全提供DRM加密。 由图可以了解到阿里云保护直播安全的…...
【Apache Doris】周FAQ集锦:第 15 期
【Apache Doris】周FAQ集锦:第 15 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户…...
verilog实现ram16*8 (vivado)
module ram_16x2 (input clk, // 时钟信号input we, // 写使能input en, // 使能信号input [3:0] addr, // 地址线input [1:0] datain, // 输入数据线output reg [1:0] dataout // 输出数据线 );// 定义存储器数组reg [1:0] mem [15:0];always (posedge…...
框架使用及下载
Bootstrap5 安装使用 | 菜鸟教程 (runoob.com) https://github.com/twbs/bootstrap/releases/download/v5.1.3/bootstrap-5.1.3-dist.zip(下载链接) Staticfile CDN(html的所有框架合集) 直接在w3cschool里面看参考文件进行搜索自…...
通用图形处理器设计GPGPU基础与架构(四)
一、前言 本文将介绍GPGPU中线程束的调度方案、记分牌方案和线程块的分配与调度方案。 二、线程束调度 在计算机中有很多资源,既可以是虚拟的计算资源,如线程、进程或数据流,也可以是硬件资源,如处理器、网络连接或 ALU 单元。调…...
会Excel就会sql?
如果你熟悉Excel,理解SQL(结构化查询语言,Structured Query Language)会相对容易,因为它们在某些功能上有着相似之处。SQL主要用于管理和操作数据库中的数据,而Excel则是电子表格软件,用于数据的组织、分析和可视化。下面我会用Excel的视角来帮你理解SQL的基本概念。 数…...
MyBatis-Plus的几种常见用法
MyBatis-Plus 提供了丰富的高级用法,可以简化开发,提高效率。以下是一些常见的可能会被忽略的用法示例。 1. 乐观锁 乐观锁用于避免在并发环境下数据更新冲突。MyBatis-Plus 通过注解和版本字段实现乐观锁。 示例: 在实体类中添加版本字段…...
【LeetCode】day15:110 - 平衡二叉树, 257 - 二叉树的所有路径, 404 - 左叶子之和, 222 - 完全二叉树的节点个数
LeetCode 代码随想录跟练 Day15 110.平衡二叉树257.二叉树的所有路径404.左叶子之和222.完全二叉树的节点个数 110.平衡二叉树 题目描述: 给定一个二叉树,判断它是否是 平衡二叉树 平衡二叉树的定义是,对于树中的每个节点,其左右…...
【网络安全的神秘世界】Error:Archives directory /var/cache/apt/archives/partial is missing.
🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 ✨问题描述 在kali中想要安装beef-xss软件包时,发生如下报错: Error: Archives directory /var/cac…...
网络编程中的TCP和UDP
什么是TCP协议 TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接 :数据传输之前客户端和服务器端必须建立连…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
