机器学习——关于极大似然估计法的一些个人思考

最近在回顾机器学习的一些相关理论知识,回顾到极大似然法时,对于极大似然法中的一些公式有些迷糊了,所以本文主要想记录并分享一下个人关于极大似然估计法的一些思考,如果有误,请见谅,欢迎一起前来探讨。当然,如果这篇文章还能入得了各位“看官”的法眼,麻烦点赞、关注、收藏,支持一下!

一、须知前提

可能有一部分小伙伴的概率学等相关理论知识相对薄弱,因此,为了让大家更好的理解,在对极大似然估计法进行说明前,先对相关的须知理论知识做一个简单的说明

在理解极大似然估计法时,有两需要理解,一个是贝叶斯定理,一个是联合概率

1、贝叶斯定理

直接给出公式:

对于贝叶斯定理的公式,可能很多小伙伴不能理解是怎么得来的,其实本人也不甚了解,但是着并并不影响公式的使用,所以大家不需要过度纠结这条公式是怎么来的,其实只要会用就可以,当然有兴趣的小伙伴可以自行去检索一下,相信网络上有很多相关资料。

但是,我们必须要理解公式中每个部分代表着什么,这样才能保证我们可以正常使用。

这里比较重要的是条件概率联合概率,公式中的P(x,c)就是联合概率,对于联合概率此处先不讲,但是会在下一小节重点解释,公式中的P(c|x)和P(x|c)就是条件概率,举两个例子大家感受一下:

P(好瓜|敲声=脆响)=敲声脆响的瓜是好瓜的概率

P(敲声=脆响|好瓜)=好瓜的敲声是脆响的概率

对此,我们不难发现,对于条件概率,大家可以理解为,在某一前提的情况下发生某件事的概率

至于为什么使用贝叶斯公式,其实原因很简单,因为P(c|x)在实际生活中无法求得或者求得的投入入过大不划算,比如说,如果我们要求P(好瓜|敲声=脆响)时,我们通过敲打西瓜可以知道敲声是否脆响,但是无法直接得出是不是好瓜,要想知道西瓜是否是好瓜,我们需要把西瓜切开,一两个瓜还好,要是成百上千呢?如果仅仅只是为了知道瓜是不是好瓜而将每个瓜都切开这不现实。

2、联合概率

在贝叶斯定理部分,已经给出了条件概率的形式,在概率中还有一种概率形式叫做联合概率,其形式如下:

或者是:

 对于联合概率,大家可以理解为,多个事件同时发生的概率,即“”的关系,举个简单的例子大家感受一下:

P(敲声脆响,触感硬滑)=敲声脆响触感硬滑的概率

另外,根据样本的分布是否独立,联合概率分成两种形式。

当属性/样本之间是独立分布时:

或者:

 为了让大家更好理解,我举个例子:

 P(敲声=脆响,触感=硬滑,根蒂=蜷缩)=P(敲声=脆响)*P(触感=硬滑)*P(根蒂=蜷缩)

这里需要注意的是千万千万不要写成累加的形式。为什么是累乘而不是累加,我举个例子简单解释一下,P表示求概率想必大家都知道,概率必然是小于等于1的,若采用累加的形式,当敲声要么脆响要么沉闷,触感要么硬滑要么绵软,根蒂要么蜷缩要么硬挺时:

P(敲声=脆响)=P(触感=硬滑)=P(根蒂=蜷缩)=0.5

 P(敲声=脆响,触感=硬滑,根蒂=蜷缩)=P(敲声=脆响)+P(触感=硬滑)+P(根蒂=蜷缩)=1.5>1

概率值是1.5,大于1,这显然是错误的,因此我们不难得出,采用累加的形式是错误的。

说到这里我就再多说一句,什么情况下我们可以采用累加的形式,举个例子大家感受一下:

当敲声有三个值时,即敲声可以是脆响、清响、沉闷,如果我们要求敲声不为清脆的概率,或者说敲声等于脆响或者沉闷的概率,我们可以用累加,即:

P(敲声清脆)=P(敲声=脆响U敲声=沉闷)=P(敲声=脆响)+P(敲声=沉闷)

当属性/样本之间是非独立分布时:

举个例子,x1是x2的父节点,即x2的值受x1影响,如下所示:

举个例子:

 P(敲声=脆响,触感=硬滑)=P(敲声=脆响)*P(触感=硬滑|敲声脆响)

二、极大似然估计法有啥用?

在上面一节中提到了贝叶斯定理,而极大似然法就是为了求解贝叶斯公式中的P(x|c),比如求好瓜中敲声脆响的概率P(敲声=脆响|好瓜)。讲到这里,可能有些小伙伴,有些迷糊,P(x|c)明明很清楚也很好求,为啥还要用极大似然法,原因其实很简单,下面会进行说明。

对于单一样本或者单一属性而言确实很好求,就好像求解P(敲声=脆响|好瓜),但是现实生活中我们需要求解的可能是多个属性,或者含有多个样本的样本集,即P(x1,x2,……xn|c),对于这种情况我们往往很难直接求得。

举个例子,假设对于每个属性/样本x1~xn都有0和1两个值的话,那么x1~xn的组合形式也就有2^{n}个,这样也就是说,要想使得训练集准确,训练集必须包含每一种可能性。因此,我们训练集中的训练样本数至少要有2^{n}个,而且这些训练样本还必须都不同。当n大起来或者当x1~xn的取值不仅仅只有两个值时,就会存在要么训练集中样本数量巨大导致训练过程耗时耗力的问题,要么就会存在训练集中某种组合缺失导致训练结果不准的问题,而极大似然法却恰恰可以帮助我们解决这些问题。

三、极大似然估计法

先说一下极大似然估计法估计条件概率的基本原理/策略,极大似然估计法是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计(这是《西瓜书》上的原话)。

个人理解:极大似然估计法认为每一个标记c都对应一种概率分形式,比如说正态分布、均匀分布等等,而我们求条件概率就是求特定分布下的某一值的概率,比如说,标记c对应的是正态分布,求P(x=1|c),即求在这个正态分布下的x=1的概率是多少,当正态分布曲线画出来后,横轴代表数据点的值,纵轴代表数据点在该分布下的概率。因此,极大似然法就将求条件概率转换成了求标记c的具体分布,当分布曲线确定好之后,我们就可以直接在曲线上得出相应数据点的概率。

下面我将给出极大似然法的核心公式:

从上面的三条公式,我们不难看出,极大似然法最后求的是令LL(\theta_{c})达到最大的\theta _{c},这与上面所讲的极大似然估计法的原理保持一致。

其中,\theta _{c}是一个参数向量,以正态分布为例,\theta _{c}=\left [ \mu _{c},\sigma _{c} \right ],当\theta _{c}确定后,正态分布曲线就可以定下来了,D_{c}表示训练集D 中第c 类样本组成的集合,并且我们假定这些样本是独立同分布的。

至于为什么求得的\theta _{c}要使LL(\theta_{c})达到最大,原因很简单。因为我们最根本目的是为了求的一个误差最小的模型,或者说预测结果最准却得模型,即P(c|x)要达到最大,因为P(c)和P(x)是确定的,所以根据贝叶斯公式,我们要求P(c|x)达到最大就可以转换成求P(x|c)达到最大。

样本点是由采样得来的,是一定的,而极大似然估计法则认为标记c对应的是一种概率分布形式,在不同的概率分布形式下,相同的样本点的概率是不同的,所以要使的P(x|c)达到最大,就是要找到一个最佳的概率分布曲线。

当标记c确定为某一概率分布形式后,比如正态分布,通过\theta _{c}就可以确定具体概率分布曲线的形态,不同的\theta _{c}会产生不同形态的概率分布曲线,也就会导致P(x|c)出现不同的值,当P(x|c)达到最大时,LL(\theta_{c})必然达到最大。因此,求解P(x|c)的最大值,就也可以转换成求使LL(\theta_{c})达到最大的\theta _{c}

参考书籍

周志华老师的《西瓜书》

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

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

相关文章

【Linux】升级FastJSON版本-jar

摘要 在长期运行的应用服务器上,近期的安全漏洞扫描揭示了fastjson组件存在潜在的安全隐患(FastJSON是一个Java 语言实现的 JSON 解析器和生成器。FastJSON存在远程代码执行漏洞,恶意攻击者可以通过此漏洞远程执行恶意代码来入侵服务器&…

Dynadot 2024年第一季度回顾

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

java进程把服务器CPU打满问题排查

1、top命令定位问题进程 2、查看进程的所有线程信息,记下占用最高的进程 top -Hp 38080553、将第2步得到的线程号转化为十六进制 printf %x\n 38080594、结果里搜索 jstack 3808055|grep -A 10 3a1b3b5、定位问题 根据上步搜索到的结果,可以看到是GC…

关闭这八个电脑设置,保护个人隐私

你知道吗?电脑可能一直在偷窥你的小秘密。朋友们,一定要记得关闭这8个电脑设置哦,这样可以有效地保护我们的个人隐私。 按住键盘Windows键加i键,快速打开Windows设置。然后点击隐私选项。 我们来看基本的常规设置。里面有四个设置…

在表格中选中el-radio后, 怎么获取选中的这一行的所有数据?

演示: 图中, 选中这行数据后, 怎么获取到当前的数据? 代码: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

百川工作手机实现销售管理微信监控系统

在瞬息万变的商业战场中&#xff0c;每一分效率的提升都是企业制胜的关键。传统销售管理模式已难以满足现代企业对精准、高效、合规的迫切需求。今天&#xff0c;让我们一同探索如何利用工作手机这一创新工具&#xff0c;为您的销售团队装上智能翅膀&#xff0c;开启销售管理的…

基于springboot+vue实现的厨艺交流平台(文末源码+Lw)093

93基于SpringBootVue的实现的厨艺交流平台&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 系统功能&#xff1a; 这次开发的厨艺交流平台功能有个人中心&#xff0c;食材分类管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜谱信…

解锁敦煌网成功秘籍:批量注册买家号测评的高效策略

敦煌网&#xff08;DHgate&#xff09;作为一个跨境电商平台&#xff0c;搭建境外本土网络环境并实现批量注册买家号下单&#xff0c;需要遵循一系列严谨的步骤和考虑多个关键因素。以下是一个概括性的指南&#xff1a; 一、环境要求 国外服务器&#xff1a;首先&#xff0c;…

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型20240705

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型202407051607 这次HumbleBundle捆绑包是UE虚幻军事题材的&#xff0c;内容非常多。 有军事基地、赛博朋克街区、灌木丛景观环境等 HB捆绑包虚幻…

深度学习的数学PDF

链接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取码: 9gj9 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

【苍穹外卖】Day2 手把手敲完细节

目录 1. 新增员工 1.1 需求分析和设计 1.2 代码开发 ①定义DTO类&#xff1a;(在sky-pojo里&#xff09; ②EmployeeController中创建新增员工方法save() ③EmployeeService里声明save方法&#xff08;altenter&#xff09; ④EmployeeServiceImpl中实现save方法 ⑤在E…

顶刊文献阅读及代码复现

前提:每个无人机都有 (i)自己的机载计算机,用于执行控制其自身动作所需的计算 (ii)自己的传感器系统,用于测量相对位置和速度, (iii)自己的通信设备,用于与相邻代理进行数据交换。 模型:短期的排斥力、中间范围的速度一致性和长距离的吸引力

通过PLC地址来切换威纶通触摸屏界面

Step 1 元件-PLC控制 Step 2 新增 选择设备 选择切换基本窗口功能 选择触发地址 Step 3 离线仿真测试 在数值框中输入对应的页面号 可以看到页面可以正常切换 分享创作不易&#xff0c;请多多支持&#xff0c;点赞、收藏、关注&#xff01; Ending~

昇思Mindspore25天学习打卡Day20:DCGAN生成漫画头像

昇思Mindspore25天学习打卡Day20&#xff1a;DCGAN生成漫画头像 1 GAN基础原理2 DCGAN原理3 数据准备与处理数据处理 4 构造网络4.1 生成器4.2 判别器 5 模型训练损失函数优化器训练模型 6 结果展示7 训练结束打上标签和时间 在下面的教程中&#xff0c;我们将通过示例代码说明…

基于STM主题模型的主题提取分析-完整代码数据

直接看结果: 代码: import re from collections import defaultdict import random import matplotlib.pyplot as plt import numpy as npimport pandas as pd import numpy as np import re from sklearn.feature_extraction.text import CountVectorizer from nltk.corpus…

在Morelogin中使用IPXProxy海外代理IP的设置指南

Morelogin指纹浏览器是市场上较受欢迎的指纹浏览器&#xff0c;允许用户管理多个账号并进行自动化操作。它提供免费环境供用户进行体验&#xff0c;并且操作起来非常简单。大多数人都会将Morelogin指纹浏览器和海外代理IP进行使用&#xff0c;来应用于多种场景&#xff0c;如电…

用ce修改植物大战僵尸杂交版银币

第一步打开游戏 用ce打开图中进程 第二步 输入你原始银币 点首次搜索 第三步 找到这个地址 把地址拖下来 第四步 双击直接修改下面数值即可 金币 钻石 都和这个方法一样 不一样的是首次搜索可能会有很多地址 我们改变游戏里面的值 然后再次搜索游戏被改变的值即可准确找到地址

新加坡工作和生活指北:租房篇

本文首发于公众号 Keegan小钢 前段时间已经分享了工作篇&#xff0c;现在接着聊聊生活篇。因为生活这块涉及到多个方面&#xff0c;内容比较多&#xff0c;所以我再细分了一下&#xff0c;本篇先聊聊租房。 先来看看新加坡的地区分布图&#xff0c;如下&#xff1a; 上图将新加…

使用Python绘制累积直方图并分析数据

使用Python绘制累积直方图并分析数据 在这篇博客中&#xff0c;我们将探讨如何使用Python中的pandas库和matplotlib库来绘制累积直方图&#xff0c;并分析数据文件中的内容。累积直方图是一种常用的图表类型&#xff0c;用于展示数据的累积分布情况。 数据&#xff1a; 链接…

vue缓存页面,当tab切换时保留原有的查询条件

需求&#xff1a; 切换tab时&#xff0c;查询条件不变 路由页面&#xff1a; 单个页面上加这句话&#xff1a;