当前位置: 首页 > news >正文

深度学习入门理解——从概率和信息的角度(数学篇后记)

今天就把前面数学篇提到的从概率论和信息论的角度看深度学习简单的讲一讲。

二、概率论

我们要研究这个问题首先要明白什么是概率?

概率,亦称“或然率”,它是反映随机事件出现的可能性大小。随机事件是指在相同条件下,可能出现也可能不出现的事件,概率是等分事件发生的可能性。

那么概率分布呢?

官方解释:指用于表述随机变量取值的概率规律。事件的概率表示了一次试验中某一个结果发生的可能性大小。

我的理解:

我们的系统需要站在宏观的角度来看一个事物的整体(各种特征)——(即利用概率分布判断标签label和输出的相似度)

比如经常我们在整个网络的最后加上sigmold(2类)/softmax(多类)等函数就是为了让输出值是概率值(0-1)之间。

说到概率分布,那就要提到高斯分布(正态分布,误差分布)

(0,1)标准正态分布

最高为坐标为期望(均值)

期望:值乘以对应概率的总和————加权平均数(数-期望=数独有的特征(差距)

方差确定曲线胖矮

方差:(数-期望)**2,再求期望——(整体误差的期望)-用来衡量误差的大小,即数据的离散程度

一般我们神经网络的初始权重w,b的取值都是从开始的(数据都是落到百分之97之间的范围,w不能太小)

二、信息论

前面我们通过概率论的知识了解到了神经网络其实是在对比输出和标签的概率分布的差别,然后以差别(误差)作为损失进行梯度下降、反向传播的。那么我们这个“差别”(loss)到底是怎么得到的呢?

我们先来简单的了解一下信息论,信息论告诉我们:信息是可以度量的(比如:“我和兄弟去酒店”and”我和女朋友的闺蜜去酒店“,显而易见这两句话的信息量是不同的,因为第二句话具有更多不确定性,即不确定性有多大,信息量就有多大

信息量的公式:

P(X)就是概率,为什么是前面有一个负号呢?因为概率越大,不确定性越少,信息量就越小。

那为什么是log函数呢?因为多个事件同时发生的概率是事件概率相乘,而多个事件的总信息量是多个信息量相加,而对数函数有一个运算法则不谋而合。(把M、N看作概率p1,p2,就会明白)

信息熵:熵是用来衡量一个系统的不确定性-熵就是信息的期望

公式:(熵)H(X)=P(X)-log(P(X))————对系统贡献的信息量、不确定性越高熵越大

我们明白了信息的一些相关知识,回到初衷,我们是为了找到得到两个概率分布的差别

这里我们引入了一个新的方法:

KL散度>=0——(评判两个概率分布之间的差距)-无需知晓其数学原理

KL散度(也叫相对熵)=交叉熵(未知)-信息熵(系统一旦确定就是已知的即不变)

交叉熵:衡量两个概率分布之间的距离

由于交叉熵>=信息熵(吉布斯不等式已经证明),所以只要交叉熵越小越好,不用管信息熵是多少,也不用担心KL散度为负数

那么我们就可以利用交叉熵来做损失函数。

总结:

通过以上的学习,我们就将神经网络抽象成了一个概率分布的问题,这对于我们今后的学习是很有帮助的的,关于高斯分布和深度学习之间的关系我会在后面进一步学习,实际上我们很多时候都希望模型的输出符合高斯分布。

http://www.cnnetsun.cn/news/1284760.html

相关文章:

  • Visual Studio 2013 - 输出窗口一闪而过问题解决
  • Visual Studio 2013 - 高亮设置括号匹配 (方括号)
  • Andrew Ng深度学习课程终极指南:Coursera Deep Learning Specialization全面解析
  • Dolt:数据版的Git,让数据库管理更智能
  • LabelMe标注结果导出为PDF:完整报告生成与高效分享方案
  • Dolt:将Git与数据库完美结合的开源项目
  • Buildroot+Qt开发:嵌入式GUI应用的快速部署方案
  • C++11——声明
  • 【JEECG 组件扩展】JSwitch开关组件扩展单个多选框样式
  • 终极Go-callvis实战指南:深度分析Syncthing、Docker等知名项目调用图
  • 终极指南:如何通过Docker容器化快速部署Trump2Cash股票交易机器人
  • 批量无人值守装机(使用cobbler批量安装windows)
  • 超详细!网络安全入门到精通,这一篇就够了(附学习路线)
  • MATLAB图像去阴影实战:如何用高斯模糊拯救你的背光照片(附完整代码)
  • 从游戏加速到跨国办公:三大运营商骨干网对个人用户的实际影响与优化技巧
  • 差分进化算法:从理论到实战的全局优化利器
  • 职场汇报优先级工具,按重要紧急,领导关注度,难度排序,输出先做哪些工作的清单。
  • 手把手教你修复Flutter中的SocketException: Connection failed错误(macOS/iOS版)
  • 科研党必备:用Zotero+坚果云打造跨设备论文库(附手机端解决方案)
  • 昇腾AI处理器与主流操作系统内核版本兼容性指南
  • 解密电商大数据标签平台的核心架构与实战应用
  • Ardupilot与Gazebo仿真中无人机解锁后无法起飞的深度排查与解决方案
  • 【网络】Ikuai虚拟机部署Openwrt旁路由全流程解析(附避坑指南)
  • Android FRP分区与OEM解锁的底层关联机制解析
  • 数字后端设计中的Congestion分析:从Overflow到Hotspot的全面评估
  • 117 Excel自定义转换器深度实战
  • Vue-Grid-Layout避坑指南:从零搭建可拖拽管理后台的常见问题解决
  • 知识表示避坑指南:为什么你的NLP项目需要本体论?从ChatGPT的局限性说起
  • Windows下用MSYS2编译flashrom 1.3全攻略(支持FTDI等主流编程器)
  • Matlab报错‘eval‘与‘workspacefunc‘的连环坑:如何一步步修复pathdef.m文件