概率论机器学习的先验知识(上)

概率论机器学习的先验知识(上)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

       随着Hadoop等大数据的出现和技术的发展,机器学习越来越多地进入人们的视线。

其实早Hadoop之前,机器学习和数据挖掘已经存在,作为一个单独的学科,为什么hadoop之后出现,机器学习是如此引人注目了?因是hadoop的出现使非常多人拥有了处理海量数据的技术支撑。进而发现数据的重要性,而要想从数据中发现有价值的信息。选择机器学习似乎是必定的趋势。当然也不排除舆论的因素。事实上本人一直对非常多人宣称掌握了机器学习持怀疑态度。而要想理解机器学习的精髓。数学知识是不可或缺的,比方线性代数。概率论和微积分、向量空间等。而假设没有一定的数学基础,使用机器学习也仅仅能是知其然而不知其所以然了。基于这个原因,将系统地总结学习机器学习中用到的一些数学知识,当然不可能面面俱到,但会尽可能准确。

        这篇文章首先学习概率论知识,概率论在机器学习中占主要地位。由于概率论为机器学习算法的正确性提供了理论依据。学习算法的设计常常依赖于对数据的概率假设以及在某些算法中被直接使用等。

排列组合

       排列:从n个不同元素中,任取m(m≤n,m与n均为自然数)个元素依照一定的顺序排成一列,称为从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的全部排列的个数,称为从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。A(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m)!。通常我们所说的排列指的是全部排列的个数,即A(n,m)。

        组合:从n个不同元素中。任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的全部组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。C(n,m)=A(n,m)/m!。C(n,m)=C(n,n-m)。

通常我们所说的组合指的是全部组合的个数。即C(n,m)。

       组合和排列的差别单从公式来看的话,C(n,m)=A(n,m)/m!,而为什么要除以m!呢?从定义分析。排列是一个有序的序列,也就是将元素x,y放在位置1。2和放在2。1是两个不同的序列,而组合关心的仅仅是是否选取了某个元素。而不考虑顺序,也就是x,y放在位置1。2还是2。1都被觉得是同样的组合。由于m个元素在m个位置有m!中排列方式,而这对组合来说仅仅是一种组合,因此须要除以m!。

随机变量

      在概率论中。随机变量扮演了重要的角色。千万不要将随机变量和通常所提到的变量相混淆,以为随机变量就是其值具有随机性的变量,而实际上。随机变量是函数。将试验结果映射为实数,更一般地理解为,随机变量是人为定义的基于试验结果的函数,该函数的定义域为试验结果的取值,其值域依据不同情境而不同。通常使用大写字母表示随机变量。

      假设随机变量X表示将投掷六面骰子的结果映射为实数,能够定义X将投掷的结果i映射为i,比方投掷的结果为2,则X的结果就为2。

还能够定义假设投掷结果为偶数。则X的结果为1。否则为0。这样的类型的随机变量被称为指示器变量。用于表示某一事件是否发生。

      随机变量X取值a的概率表示为P(X = a) 或P X(a),使用Val(X)表示随机变量的取值范围。

联合分布、边缘分布和条件分布

      随机变量的分布指的是取某些值的概率,由定义可知分布本质上是概率,使用P(X)表示随机变量X的分布。

当提及多于一个变量的分布时。该分布称为联合分布,由于此时概率由涉及的全部变量共同决定。

考虑以下这个联合分布的样例。X为投掷骰子的随机变量。取值为[1,6],Y为抛掷硬币的随机变量,取值为[0,1],二者的联合分布为:

P

X=1

X=2

X=3

X=4

X=5

X=6

Y=0

1/12

1/12

1/12

1/12

1/12

1/12

Y=1

1/12

1/12

1/12

1/12

1/12

1/12

      使用P(X=a,Y=b)或PX,Y(a,b)表示X取a,Y取b时的概率,使用P(X,Y)表示X。Y的联合分布。

给定随机变量X和Y的联合分布,能够定义X或者Y的边缘分布。边缘分布指的是某个随机变量自身的概率分布,为了计算某个随机变量的边缘分布,须要将联合分布中其他随机变量相加,公式为:

概率论机器学习的先验知识(上)

      条件分布指出了在当其他随机变量已知的情况,某个特定随机变量的分布。而对于某个随机变量X在Y=b的情况下取值为a的条件概率能够定义例如以下,并可依据该公式确定该变量的条件分布:

概率论机器学习的先验知识(上)

      能够将上述公式扩展到基于多个随机变量的条件概率。比方,基于两个变量的:

概率论机器学习的先验知识(上)

      使用符号P(X|Y=b)表示在Y=b的情况下,X的分布。P(X|Y)X分布的集合。当中每一个元素为Y取不同值时X的分布。

      在概率论中,独立性意味着一个随机变量的分布不受还有一个随机变量的影响。使用以下的数学公式定义随即变量X独立于Y:

概率论机器学习的先验知识(上)

      依据该公式及条件分布的公式能够推导出假设X独立于Y,那么Y也独立于X。推到步骤例如以下:

概率论机器学习的先验知识(上)

      依据上面的推到过程能够得出P(X,Y)=P(X)P(Y)。也就是该公式是X和Y相互独立的等价公式。

      更进一步能够定义条件独立。即已知一个或者多个随机变量的值,其余某些变量相互独立则称为条件独立。已知Z。X和Y相互独立的数学定义例如以下:

概率论机器学习的先验知识(上)

      最后再看两个重要的定理,分别为链式规则和贝叶斯规则。

链式规则的公式例如以下:

概率论机器学习的先验知识(上)

      贝叶斯规则的公式例如以下:

概率论机器学习的先验知识(上)

      贝叶斯公式通过计算P(Y|X)的值来得到P(X|Y)的值。该公式能够通过条件公式推导而出:

概率论机器学习的先验知识(上)

      分母的值可通过上面提到的边缘分布计算得出:

概率论机器学习的先验知识(上)

离散分布和连续分布

      广义上讲。存在两类分布。分别为离散分布和连续分布。

离散分布意味着该分布下的随机变量仅仅能取有限的不同值(或者结果空间是有限的)。能够通过简单地枚举随机变量取每一个可能值的概率来定义离散分布,这样的枚举的方式称为概率质量函数,由于该函数将单位质量(总的概率,1)切割然后分给随机变量能够取的不同值。

      连续分布意味着随机变量能够取无穷的不同值(或者结果空间是无穷的),使用概率密度函数(probability density function,PDF)定义连续分布。

概率密度函数f为非负的。可积分的函数:

概率论机器学习的先验知识(上)

      随机变量X的概率依据概率密度函数可得:

概率论机器学习的先验知识(上)

      特别的。一个连续分布的随机变量的值为不论什么给定单个值的概率为0,比方连续分布的随机变量X取值为a的概率为0。由于此时积分的上限和下限都为a。

      由概率密度函数可引申出累积分布函数。该函数给出了随机变量小于某个值的概率,与概率密度函数的关系为:

概率论机器学习的先验知识(上)

      因此依据不定积分的含义,
概率论机器学习的先验知识(上)

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117652.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 自学3D游戏建模有哪些教材?「建议收藏」

    自学3D游戏建模有哪些教材?「建议收藏」推荐书籍一:《3dsMax2016中文版完全自学手册》《3dsMax2016中文版完全自学手册》以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了3dsMax2016的相关知识、操作技巧和应用实例。此书着重于3dmax功能的讲解和介绍,实战训练较少,基础讲解不够深入。适用人群:对3dmax软件操作不熟悉的小白,想了解更多功能范围的设计师推荐书籍二:《ZBrush2018从入门到精通》《ZBrush2018从入门到精通》全书总共730页,27大章节,随书配送.

  • java并发编程实战_java解决并发问题

    java并发编程实战_java解决并发问题Executors  在Java5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java5中引入的,其内部使用了线程池机制,它在java.util.cocurrent包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好…

  • linux socket udp编程_linux网络编程socket

    linux socket udp编程_linux网络编程socket浅谈UDP。UDP是一种不可靠的、无连接的、数据报服务。发送端应用程序每执行一次写操作,UDP模块就将其封装成一个UDP数据报发送。接收端必须及时针对每一个UDP数据报执行读操作,否则就会丢包。并且,如果用户没有指定足够的应用程序缓冲区来读取UDP数据,则UDP数据将被截断。因此,采用UDP协议时必须要求接收端可以一次性收取完发送端一次发送的数据,不然就会造成数据丢失。2.客户端3.输出结果UDP是一种无连接的传输方式,所以可以多个客户端同时发送。服务器端关闭立马重启,客户

  • dedecms 下载时弹出提示登录框或直接下载

    dedecms 下载时弹出提示登录框或直接下载

  • navicat连接MySQL失败,cmd也不能登录MySQL_远程连接mysql

    navicat连接MySQL失败,cmd也不能登录MySQL_远程连接mysql出现Clientdoesnotsupportauthenticationprotocolrequestedbyserver…的解决方案mysqladmin-uroot-ppassword123456qmysql-uroot-pALTERUSER’root’@’localhost’IDENTIFIEDWITHmysql_native_password…

    2022年10月14日
  • python里的def 方法中->代表什么意思?

    python里的def 方法中->代表什么意思?功能注释函数注释是关于用户定义函数使用的类型的完全可选元数据信息(请参阅PEP3107和 PEP484了解更多信息)。注释__annotations__ 作为字典存储在函数

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号