当前位置:网站首页>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函数,则默认选择了最大熵的方式进行机器学习。
机器学习本质就是希望将适用范围扩大,大致过程如下。
可以通过最大熵、极大似然估计法、交叉熵三种方法调整参数。
边栏推荐
猜你喜欢
随机推荐
【IDEA】字体修改-护眼主题-文件注释头设置
Go (一) 基础部分3 -- 数组,切片(append,copy),map,指针
速来围观,17个运维实用技巧
Leetcode刷题——一些用层次遍历解决的问题(111. 二叉树的最小深度、104. 二叉树的最大深度、226. 翻转二叉树、剑指 Offer 27. 二叉树的镜像)
MySQL 排序
Sentinel初次使用Demo测试
HoloLens联合发明人:打造理想的全天AR需要解决这些问题
Invalid signature file digest for Manifest main attributes解决方法
中国食品产业园区行业前景规划建议及投融资模式分析报告2022~2028年
request.getParameter的结果为on
漫谈Map Reduce 参数优化
Execute the mysql script file in the docker mysql container and solve the garbled characters
【frp内网穿透】
c#,.net 下载文件 设置断点
controller层到底能不能用@Transactional注解?
东南亚跨境电商
C# Base64加密
Kettle 从资源库中载入新的转换出错(Invalid byte 1 of 1-byte UTF-8 sequence)
The result of request.getParameter is on
自定义封装组件-国际化-下拉搜索