【极大似然性】不同函数(均方误差、交叉熵、KL 散度)不同结局(1/2)

Kowshik chilamkurthy

 

一、说明

        很多时候,数据科学家和机器学习从业者并不欣赏不同损失指标之间的数学和直观关系,如负对数似然、交叉熵、最大似然估计、Kullback-Leibler (KL) 散度,以及最重要的均方误差。如果我说KL-散度和均方误差在数学上是相同的,你不会感到惊讶吗?
        作为一名经验丰富的数据科学家,我对这些数学关系在AI / ML课程和教科书中没有得到应有的重视这一事实感到困惑。在这篇博客中,我的目标是在这些不同的损失之间建立坚实的数学和直观关系,这些损失用于分类、回归、GANS等不同问题。

        该博客极大地帮助数据科学家加深对不同损失指标的理解,并帮助有抱负的数据科学家破解机器学习访谈。

二、所有损失函数之母:最大似然估计

        最大似然法用于参数估计。通常在机器学习中,每个模型都包含自己的一组参数,例如,线性模型y = mx + c:权重/斜率m和截距c是最终定义模型的参数。

        现在的挑战是在提供数据时找到模型参数。最大似然估计是一种确定参数值的方法。但是它是如何完成的呢?直观地找到参数值,使它们最大化预测接近观测值的可能性。

        总搜索空间中设置的最大化似然函数的参数称为最大似然估计。

三、多语教育背后的数学

        最大可能性的逻辑既直观又灵活。数学简单而优雅,随波逐流。

        1:假设我们要构建一个参数为 θ 的模型。 其中 θ: [θ₀, θ₁, θ₂,θ₃ ...θn]^T,例如线性回归 (y = mx + c) 模型 θ: [m, c]。其中 Θ 称为参数空间。在线性回归情况下,Θ 是 [(m, c), (m₀, c₀)、m, c₁)的不同组合的搜索空间......mn, cn]。

        2:多语教育的目标是找到最好的。 最大似然估计的目标是确定最佳参数 θk ∈ Θ。例如,在线性回归中,θk: mk, ck)。

        3: 找到正确参数集 θk 的方法是使用似然函数。如果仔细理解,这个概念很简单。让我们再次假设我们的线性(y = mx + c)模型,对于给定的数据点(xp,yp)和参数θkmk,ck)。

        4PDF:fpyp, θk) 告诉模型预测的概率 yp,如果实际标签是 yp。很简单,你掷硬币,看到正面pdf:f(Head)告诉我们你看到正面的可能性有多大。

概率密度函数

        5: fp(yp, θk) 针对一个数据点 p,但我们需要为所有数据点 y₀, y₁, y₂,y₃ ...YN)。我们如何做到这一点,我们可以使用联合概率分布来考虑所有数据点。

联合概率分布

        注意:

对于自变量和同分布随机变量,联合概率分布 fny; θ) 将是单变量密度函数 fpyp, θk) 的乘积

        6:对于给定的参数 θ k,联合密度函数 f(y, θk) 告诉我看到 y 分布等于观察到的 y 分布的可能性有多大。现在反过来,我们要找到 θk,以便我看到最接近观察到的 y 分布的 y 分布。这种反向JDF称为似然函数。

似然函数

        7:因此,我们搜索所有参数空间θΘ,使似然函数最大化的特定值θk称为最大似然估计(MLE)。

最大似然估计

8:在实践中,使用似然函数的自然对数通常很方便,称为对数似然:

对数似然

        最大化对数似然与最大化可能性相同。由于“log”是一个递增函数,因此最大化对数似然函数的 Θ 值也将最大化似然函数。

四、损失:负对数可能性(预告片)

        在结束博客之前,让我先提一个预告片:MLE的一个非常明显的损失是对数似然为负。它是多类分类中使用的损失函数。损失通常最小化,因此我们在上述等式中使用负号,因此称为负对数似然损失。我们最小化负对数似然损失,从而实现最大似然估计。

五、结论

        几乎所有常见的损失函数都可以从最大似然估计中导出。在我的下一篇文章中,我们将了解如何从数学上推导它们,并欣赏回归、分类和 GAN 中使用的这些看似不同的损失函数之间的相似之处。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows11+Opencv+Clion编译源码

Windows11OpencvClion编译源码 参考:https://www.robotsfan.com/posts/69395e08.html 注意事项 编译过程中使用的软件,开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件,如果是局域网的话可能下载不下来&#xf…

哈工大计算机网络课程网络安全基本原理详解之:消息完整性与数字签名

哈工大计算机网络课程网络安全基本原理详解之:消息完整性与数字签名 这一小节,我们继续介绍网络完全中的另一个重要内容,就是消息完整性,也为后面的数字签名打下基础。 报文完整性 首先来看一下什么是报文完整性。 报文完整性…

C++ ------ 模板初阶

文章目录 泛型编程模板函数模板概念原理函数模板的实例化类模板 泛型编程 我们在实现交换函数的时候,只能实现一个数据类型的交换函数,想要在C中完成对应类型数据的交换一种方法是使用函数重载,就像下面这样 void Swap(int& left, int&am…

开发一个RISC-V上的操作系统(五)—— 协作式多任务

目录 往期文章传送门 一、什么是多任务 二、代码实现 三、测试 往期文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二)—— 系统引导程序&a…

【C++】类和对象(下)

1、初始化列表 初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。 class Date { public:Date(int year, int month, int day): _year(year), _month(month), _…

OpenLayers实战进阶专栏目录,OpenLayers实战案例,OpenLayers6实战教程

前言 本篇作为OpenLayers实战进阶教程的目录,用于整理汇总专栏所有文章,方便查找。 OpenLayers是前端最流行的JS二维地图引擎之一。 反馈建议 OpenLayers系列-交流专区,建议和问题反馈 Openlayers实战进阶 Openlayers实战,O…

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信…

Pytorch深度学习-----神经网络之池化层用法详解及其最大池化的使用

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…

Python批量将Excel内指定列的数据向上移动一行

本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,对其中的每一个文件加以操作——将其中指定的若干列的数据部分都向上移动一行,并将所有操作完毕的Excel表格文件中的数据加以合并,生成一个新的Excel文件的方法。 首…

虚拟机(VMware)安装Linux(Ubuntu)安装教程

清华大学开源网站镜像站网址:清华大学开源软件镜像站 | Tsinghua Open Source Mirror 进入之后在搜索框中搜索“ubuntu” 直接点击箭头所指的蓝色字体“ubuntu-20.04.1-desktop-amd64.iso”即可下载

一起学算法(位运算篇)

1.位运算 1.二进制数值表示 在计算机中,我们可以用单纯的0和1来表示数字,一般不产生歧义,我们会在数字的右下角写上它的进制,例如:1010(10)其表示的是1010,1010(2&#…

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…

【css】背景图片附着

属性&#xff1a;background-attachment 属性指定背景图像是应该滚动还是固定的&#xff08;不会随页面的其余部分一起滚动&#xff09;。 background-attachment: fixed&#xff1a;为固定&#xff1b; background-attachment: scroll为滚动 代码&#xff1a; <!DOCTYPE h…

【1.4】Java微服务:服务注册和调用(Eureka和Ribbon实现)

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 微服务 ✨特色专栏&#xff1a; 知识分享 &#x…

企业数据,大语言模型和矢量数据库

随着ChatGPT的推出&#xff0c;通用人工智能的时代缓缓拉开序幕。我们第一次看到市场在追求人工智能开发者&#xff0c;而不是以往的开发者寻找市场。每一个企业都有大量的数据&#xff0c;私有的用户数据&#xff0c;自己积累的行业数据&#xff0c;产品数据&#xff0c;生产线…

【Linux进程篇】进程概念(1)

【Linux进程篇】进程概念&#xff08;1&#xff09; 目录 【Linux进程篇】进程概念&#xff08;1&#xff09;进程基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类 组织进程查看进程通过系统调用获取进程标示符通过系统调用创建进程——fork初识 作者&#xff…

2023软件设计师中级备考经验分享(文中有资料链接分享)

先摊结论吧&#xff0c;软考中级设计师备考只是备考半个月&#xff08;期间还摆烂了几天&#xff09;&#xff0c;然而成绩如下&#xff1a; 我自己都没想到会这么好的成绩。。。 上午题&#xff1a;推荐把软考通APP里的历年真题刷3-4遍&#xff0c;直接刷真题&#xff0c;然后…

分享一些精选的开源框架与代码!

今天主要是收集并精选了一些自己所了解和学习过的优秀的嵌入式开源框架代码和项目&#xff0c;不太了解的就不推荐给大家了&#xff0c;因为开源的东西实在是太多了&#xff0c;鱼龙混杂&#xff0c;所以取其精华去其糟粕是迫在眉睫的大事~ 当然也不要总是沉浸在开源的东西之中…

光伏、储能一体化监控及运维解决方案

前言 今年以来&#xff0c;在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速&#xff0c;装机容量均大幅度增长&#xff0c;新能源发电已经成为新型电力系统重要的组成部分&#xff0c;同时这也导致新型电力系统比传统的电力系统更为复杂&#xff0…

基于多任务学习卷积神经网络的皮肤损伤联合分割与分类

文章目录 Joint segmentation and classification of skin lesions via a multi-task learning convolutional neural network摘要本文方法实验结果 Joint segmentation and classification of skin lesions via a multi-task learning convolutional neural network 摘要 在…