CS281: Advanced Machine Learning 第二节 information theory 信息论

信息论

如果离散随机变量有P(X)分布,那么x所携带的熵(信息量):

之所以用log2来作为底,是为了方便衡量该信息可以用多少bit来表示。因为1个bit非0即1. 从上公式可以推导出:当k个状态发生的几率一样时,随机变量X所携带的熵越大。正如下图表示的伯努利分布所携带的熵随着概率变化的结果:

KL divergence

KL divergence 全称Kullback-Leibler divergence , 用来衡量两个分布之间的离散程度。公式如下:

H (p, q)
 是cross entropy。

KL divergence可以理解为因为咱们使用分布q,而不是用分布p去编码数据,而造成的额外的增加的bit。

mutual information

互信息用来衡量P(x,y)与P(x)P(y)之间的KL divergence,表达式如下,如果他们之间的divergence越大,说明联系就越多。特别的,当divergence为0的时候,P(x)与p(y)恰好独立。p(X,Y)
= p(X)p(Y)

用另一种形式表示:

References

PRML

MLAPP

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 01:34:06

CS281: Advanced Machine Learning 第二节 information theory 信息论的相关文章

CS281: Advanced Machine Learning 第二节 probability theory 概率论

概率论基本概念 离散变量 概率论中的两个基本法则:加法法则和乘法法则,加法法则定义了随机变量X与条件变量Y之间的直接联系.乘法法则定义了概率学中最重要的条件概率,同时也可以叫做联合概率,因为它描述了事件X和Y同时发生的概率. 通过上面公式可以推到出条件概率公式: 进而可以得到著名的贝叶斯公式,贝叶斯公式广泛的应用于科学界,这也被称为后验概率,因为它在咱们知道了p(Y=y)这个先验概率之后才能计算出来. 如果两个随机变量x,y满足以下公式,那么说明他们是互相独立的: 如果三个随机变量x,y,z满足

CS281: Advanced Machine Learning 第二节 Generative model

本小节阅读: MLAPP:第三章 CS229:Naive bayes 贝叶斯概念学习 我们考虑一个小孩学习一个词的过程,比如"狗".大概是小孩的父母指出了这个词的一些正例,比如说:"看那条可爱的狗"或者"记住那条小狗"等等.然而,他们是不太可能提供如"看那条不是狗的东西"的负例.当然,负例也可能在动态学习的过程中接触到,比如父母可能纠正小孩的错误:"那是一只猫,不是一条狗." - 但是心理学研究者已经指出人

CS281: Advanced Machine Learning 第一节

接触机器学习领域有一段时间了,跟过不少基础的课程,也看过一些入门的书籍和论文,现在想通过一门公开课系统的进入机器学习的领域,所以选择了advanced Machine Learning,这是哈佛大学的一门高级机器学习公开课,主要教材选用的是kevin Murphy Machine Learning: A Probabilistic Perspective, MIT Press 以及Christopher M. Bishop, Pattern Recognition and Machine Lea

Coursera machine learning 第二周 编程作业 Linear Regression

必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to display the dataset[*] computeCost.m - Function to compute the cost of linear regression[*] gradientDescent.m - Function to run gradient descent 1.warmUpE

Coursera machine learning 第二周 quiz 答案 Octave/Matlab Tutorial

https://www.coursera.org/learn/machine-learning/exam/dbM1J/octave-matlab-tutorial Octave Tutorial 5 试题 1. Suppose I first execute the following Octave commands: A = [1 2; 3 4; 5 6]; B = [1 2 3; 4 5 6]; Which of the following are then valid Octave com

[C5] Andrew Ng - Structuring Machine Learning Projects

About this Course You will learn how to build a successful machine learning project. If you aspire to be a technical leader in AI, and know how to set direction for your team's work, this course will show you how. Much of this content has never been

Python (1) - 7 Steps to Mastering Machine Learning With Python

Step 1: Basic Python Skills install Anacondaincluding numpy, scikit-learn, and matplotlib Step 2: Foundational Machine Learning Skills Unofficial Andrew Ng course notes Tom Mitchell Machine Learning Lectures Step 3: Scientific Python Packages Overvie

Java Machine Learning Tools & Libraries--转载

原文地址:http://www.demnag.com/b/java-machine-learning-tools-libraries-cm570/?ref=dzone This is a list of 25 Java Machine learning tools & libraries. Weka has a collection of machine learning algorithms for data mining tasks. The algorithms can either be

Machine Learning In Action 第二章学习笔记: kNN算法

本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数字识别 通过“约会对象”功能,基本能够了解到kNN算法的工作原理.“手写数字识别”与“约会对象预测”使用完全一样的算法代码,仅仅是数据集有变化. 约会对象预测 1 约会对象预测功能需求 主人公“张三”喜欢结交新朋友.“系统A”上面注册了很多类似于“张三”的用户,大家都想结交心朋友.“张三”最开始通过自己筛选的