当前位置:网站首页>softmax和最大熵
softmax和最大熵
2022-08-03 05:23:00 【白小李】
目录
梯度下降优化
梯度下降法计算量十分庞大,其中的一个优化方法就是在隐藏层中将激活函数换掉,将sigmoid函数换成ReLU函数。在sigmoid函数中,梯度方向传播,传播到前面几层,会产生梯度消失现象。当换成ReLU函数时,在函数图像上这是一条直线,各个方向梯度保持一致,避免梯度消失问题。
sigmoid函数解决的是一个感知机的输出结果归一,不能保证多个感知机加起来的结果也归一,此时可以使用softmax函数。
softmax函数
softmax函数的公式和sigmod函数的公式

如公式中所见,sigmod就是只有一种分类情况下的softmax。其中包含两个概率,其中一个t1为分子,一个以t2为分子。sofmax对应多个分类的情况,sigmod是针对一种分类的情况。
两个分类情况

前者是只有一个分类的情况,后者是两个分类的情况。
前者的t2是不会变化的,对于后者来说t1和t2都会变化,这表示只有一个分类的时候,当p1、p2发生改变的时候,一定是t1发生了变化。对于两个分类的情况时,p1、p2发生了改变,对于的情况都会对神经网络进行训练。
在交叉熵部分,虽然在后者的y2肯定等于1-y1,但意义已经全然不同。前者代表是或者不是的概率,后者代表是什么东西的概率(是猫或者是狗的概率)。
最大熵原理
本质:系统中事件发生的概率满足一切已知约束条件,不对任何未知信息做假设,也就是对于未知的,当作等概率处理。
以投掷硬币为例,假设硬币正面出现的概率是0.6,背面是0.4,但是这种假设中就包含了你的个人假设,并不是完全客观的,当然你可以通过后续实验验证你的观点,但是在一开始,在你没有得到任何信息的前提下,假设正面和背面出现的概率各是0.5才是最客观的。总的来说这就是为客观假设提供一个代名词的说法。
概率分布
一个概率分布是一定可以表达成一个特征函数。

特征函数用泰勒公式展开后,一定含有一阶矩、二阶矩等等到n阶矩。因此。因此想知道两个数据的概率分布是不是一样的话,只需要去比较它们的一阶矩、二阶矩、三阶矩等是不是相同。这样可以无需计算具体的概率分布大小,就可以确定这两个数据的概率分布是否是一样的。
条件熵
条件熵的表达

简单来说就是x取具体值时它的熵,再对这个熵求期望。外面那个括号就是当x取不同的值时的期望值是多少。求条件概率的熵最大其实就是在求这个计算结果最大。
求条件熵最大
在求的过程中,应当满足两个条件。首先保证经验概率的值与目标概率p相等。其次就是在已发生x事件的情况下,所以y事件发生的概率相加为1。在满足这两个条件的情况下求最小值。

用拉格朗日乘数法。




将整个过程类比下面一个图片。

将x看作是一个图片,图片经过某一个过程后会进行分类,有多少个分类对应y有多少个分量,每一个分量都可以计算出一个在x条件下的y的概率。在学习和训练的时候就是要取找这一个分类的概率和标签的差别,然后进行学习训练。
经过代换,上述计算的条件熵就是softmax,即softmax就是在求最大熵的时候求出来的。其中e是在考虑熵的时候引入进来的,熵是要求求log,它的逆就是e。

当在激活函数方面选择了sofmax或者sigmod函数,则默认选择了最大熵的方式进行机器学习。
机器学习本质就是希望将适用范围扩大,大致过程如下。

可以通过最大熵、极大似然估计法、交叉熵三种方法调整参数。
边栏推荐
猜你喜欢

Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})

嵌入式实验三(代码几乎都要改才能运行)

【IDEA】字体修改-护眼主题-文件注释头设置

pta a.1003 的收获

Sqli-labs-master靶场1-23关通关详细教程(基础篇)

Navicat 解决隔一段时间不操作出现延时卡顿问题

Ansible installation and deployment detailed process, basic operation of configuration inventory

Leetcode刷题——128. 最长连续序列

Delightful Nuxt3 Tutorial (1): Application Creation and Configuration

动态调整web主题(2) 萃取篇
随机推荐
Apache2-XXE漏洞渗透
中国生物反应器行业发展现状及前景规划分析报告报告2022~2028年
中国生产力促进中心”十四五”规划与发展规模分析报告2022~2028年
ASP.NET MVC:自定义 Route
【DC-4靶场渗透】
中国生活服务O2O行业发展现状与市场规模预测报告2022~2028年
MySQL 安装报错的解决方法
【Nmap与Metasploit常用命令】
经典论文-ResNet
php连接数据库脚本
Execute the mysql script file in the docker mysql container and solve the garbled characters
The result of request.getParameter is on
动漫:海贼王女
Qlik Sense 临时处理表数据详解(Resident)
MySQL 排序
中国水产养殖行业市场投资分析及未来风险预测报告2022~2028年
mysql 客户端SSL错误2026 (HY000)
嵌入式实验四
The ` monorepo ` ` hoist ` mechanism lead to the change of the loading configuration file path
中国生活垃圾处理行业十四五规划与投融资模式分析报告2022~2028年