面试知识点梳理一:概率论和线性代数

研二找工作季,面试了虎牙直播和一些创业型公司,问到了一些问题都没能很好地回答出来,本文特来梳理一些知识点~~

一枚硬币,扔了一亿次都是正面朝上,再扔一次反面朝上的概率是多少?

才知道这原来是知乎上的问题~当时面试的时候第一反应就是想着应该概率还是1,但是没敢说出来,还是对概率论掌握的不够。

先给出知乎上的一个比较令人信服的答案:

假设这个硬币是“均匀稳定”的(不是质地不均匀或者两面均为正面的硬币),也就是每次抛硬币得到反面的概率为 p p p,如果称事件“抛一次硬币得到反面”为 A A A,事件“抛一次硬币得到正面”为 B B B,则显然有:
p ( A ) = p , p ( B ) = 1 − p p(A) = p, p(B) = 1-p p(A)=p,p(B)=1p
现在我们不知道这个硬币的任何信息, p p p可能是0到1之间的任何数。那么如果我们抛了 n n n次硬币, n n n次都是正面,这个概率是 p ( B ) = ( 1 − p ) n p(B) = (1-p)^n p(B)=(1p)n
现在我们知道这个事件发生了,不论 n n n是多少它发生了,也就是概率在目前的观测下为1。那么为了给 p p p一个合理的猜测,我当然要最大化 "抛 n n n次硬币 n n n次都是正面"这个已经发生的事件的概率(要尽最大可能利用已有信息嘛)。也就是说要解这个优化问题 a r g m a x ( 1 − p ) n argmax(1-p)^n argmax(1p)n。显然, p p p越小, 1 − p 1-p 1p越大,优化目标越大,所以p=0。
这个结果为什么反直觉是因为我们根据实际经验,抛一次硬币得到反面的概率是0.5附近。把这样的直觉定量化,引入一个先验知识 p p p是一个0.5为中心的正态分布,太靠近0或者1我们不信,那么我们猜测的时候要优化的问题就从 a r g m a x ( 1 − p ) n argmax(1-p)^n argmax(1p)n变成了 a r g m a x N ( 0.5 , σ ) ( 1 − p ) n argmaxN(0.5, \sigma)(1-p)^n argmaxN(0.5,σ)(1p)n。这样就会惩罚p过分靠近0或1的情况,通过引入额外的信息来让结果更符合实际情况。这就叫极大后验估计(Maximum A Posterior)而不是极大似然估计(Maximum Likelihood)了

以上就是这道题的一个比较完整的回答了,在这里我要在复习一下最大似然(MLE)和最大后验(MAP)这两个知识点:

似然函数:
对于函数 p ( x ∣ θ ) p(x|\theta) p(xθ),输入有两个: x x x表示某一个具体的数据, θ \theta θ表示模型的参数。
如果 θ \theta θ是已经确定的, x x x是变量,这个函数为概率函数,它描述对于不同的样本点 x x x,其出现的概率是多少。
如果 x x x是已经确定的, θ \theta θ是变量,这个函数为似然函数,它描述对于不用的模型参数,出现 x x x这个样本点的概率是多少。

最大似然估计(MLE)是求参数 θ \theta θ,使得似然函数 p ( x 0 ∣ θ ) p(x_0|\theta) p(x0θ)最大,而最大后验概率估计(MAP)是想求 θ \theta θ使得 p ( x 0 ∣ θ ) p ( θ ) p(x_0|\theta)p(\theta) p(x0θ)p(θ)最大,也就是说求得的 θ \theta θ不单让似然函数大,也使其先验概率变大(有点像正则化中加惩罚项的思想,不过这里用的是乘法)。
其实后验概率严格的表达式为 p ( θ ∣ x ) = p ( x 0 ∣ θ ) p ( θ ) p ( x 0 ) p(\theta|x) = \frac{p(x_0|\theta)p(\theta)}{p(x_0)} p(θx)=p(x0)p(x0θ)p(θ),只不过这里的 x 0 x_0 x0是确定的,所以 p ( x 0 ) p(x_0) p(x0)是一个已知值,因此在MAP问题中去掉了分母。

举例:
假设有一个造币厂生产某种硬币,现在我们拿到了一枚这种硬币,想试试这硬币是不是均匀的。即想知道抛这枚硬币,正反面出现的概率(记为 θ \theta θ)各是多少?
解决统计问题首先需要的是数据,于是我们拿这枚硬币抛了10次,得到的数据( x 0 x_0 x0)是:反正正正正反正正正反。我们想求的正面概率 θ \theta θ是模型参数,而抛硬币模型我们可以假设是 二项分布。
那么,出现实验结果 x 0 x_0 x0(即反正正正正反正正正反)的似然函数是多少呢?
f ( x 0 , θ ) = ( 1 − θ ) ∗ θ ∗ θ ∗ θ ∗ θ ∗ ( 1 − θ ) ∗ θ ∗ θ ∗ θ ∗ ( 1 − θ ) = ( θ ) 7 ( 1 − θ ) 3 = f ( θ ) f(x_0, \theta) = (1-\theta)*\theta*\theta*\theta*\theta*(1-\theta)*\theta*\theta*\theta*(1-\theta) = (\theta)^7(1-\theta)^3 = f(\theta) f(x0,θ)=(1θ)θθθθ(1θ)θθθ(1θ)=(θ)7(1θ)3=f(θ)
注意这里是关于 θ \theta θ的一个函数,对于MLE而言就是最大化这个函数,得到的值为 θ = 0.7 \theta=0.7 θ=0.7。这样,我们已经完成了对θ的最大似然估计。即,抛10次硬币,发现7次硬币正面向上,最大似然估计认为正面向上的概率是0.7。(ummm…这非常直观合理,对吧?)
然而,一些人可能会说,硬币一般都是均匀的啊! 就算你做实验发现结果是“反正正正正反正正正反”,我也不信 θ = 0.7 \theta=0.7 θ=0.7,于是又开始做MAP估计,即最大化# p ( x 0 ∣ θ ) p ( θ ) p(x_0|\theta)p(\theta) p(x0θ)p(θ),这里我们假设 p ( θ ) = N ( 0.5 , σ ) p(\theta)=N(0.5, \sigma) p(θ)=N(0.5,σ),最后求得的 θ = 0.696 \theta=0.696 θ=0.696,这样也不得不承认 θ \theta θ在0.7附近了。

矩阵求逆的时间复杂度

其实问到这一题的时候有点懵,因为我对矩阵求逆的记忆还停留在"高斯消元法"(也就是行列变换)的阶段,突然要计算时间复杂度真的无从下手,看了一个小时现在总算有点明白了。
首先要清楚如何求解矩阵的逆,主要有以下几种方法:

高斯消元法:行列变换;
LU分解:将原矩阵分解为一个下三角矩阵L和一个上三角矩阵U,然后根据三角矩阵的求逆"套路"计算L和U的逆矩阵,得到相应的原矩阵的逆。
奇异值分解
QR分解

这里主要说下LU分解,具体分解过程如下图:
LU分解的主要过程
将一个n阶方阵A进行LU分解的计算量估计:
LU分解的运算量
这里解释一下为什么第一步的运算量为 n 2 n^2 n2
a 11 a_{11} a11为主元,消去 a 21 a_{21} a21,首先需要让第一行乘以某个数(第一行 n n n个元素做了 n n n次乘法运算),再将第一行和第二行相加或相减(第一行 n n n个元素和第二行 n n n个元素相加,共进行了 n n n次加法运算),如果把一组乘法和加法看做一次运算,则第二行的消元进行了 n n n次运算,共 n − 1 n-1 n1行需要进行类似的运算,故第一次消元共进行了 n ( n − 1 ) ≈ n 2 n(n-1) \approx n^2 n(n1)n2次运算。

正交矩阵与正定矩阵

这里问到的就比较简单了,就是矩阵分析中的一些概念,简单叙述如下:

正交矩阵:
简单来说就是 Q Q T = I QQ^T=I QQT=I,其实这里包含了两点:一是行向量、列向量均为单位向量;二是行向量和列向量皆为正交,即二者内积为0。

这里放一张wiki的截图:
正交矩阵的含义

正定矩阵:
一个 n ∗ n n*n nn的实对称矩阵 M M M是正定的,当且仅当对于所有的非零实系数向量 z z z,都有 z T M z > 0 z^TMz>0 zTMz>0,其中 z T z^T zT表示为 z z z的转置。

正定矩阵有很多的性质,其中一条就是正定矩阵的所有特征值均为正数(>0)。
而对于半正定矩阵,其所有的特征值均为非负数(>=0)。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《概率论与数理统计》和线性代数、高等数学有什么区别? 线性代数数学的一个分支,研究的是线性方程组、向量空间和线性变换等内容。而高等数学则是一门广泛的数学课程,内容涵盖了微积分、线性代数概率论等多个数学领域。 然而,《概率论与数理统计》是一门关于概率论和统计学的课程,研究随机事件、随机变量、统计推断、概率分布等内容。因此,它与线性代数和高等数学有着明显的区别。 ### 回答2: 《概率论与数理统计》,线性代数和高等数学数学的三个不同的分支,它们有着不同的研究对象和方法。 首先,概率论与数理统计主要研究的是随机现象和统计规律。概率论研究的是随机现象的概率分布和随机变量的性质,而数理统计则是研究如何通过对样本数据的观察来进行参数估计和假设检验。概率论与数理统计在实际中广泛应用于风险评估、统计推断、数据分析等领域。 其次,线性代数研究的是向量空间及其上的线性变换。线性代数关注的是向量与矩阵的运算规则、特征值与特征向量、线性相关性等概念。线性代数在各个领域都有重要的应用,例如物理学、计算机图形学和数据分析等。 最后,高等数学数学的一个总称,包括微积分、数学分析、微分方程、积分方程等多个分支。高等数学研究的是函数、极限、导数、积分等数学概念和方法。高等数学是其他数学分支的基础,同时也有广泛的应用,例如自然科学、工程技术和经济学等。 综上所述,概率论与数理统计、线性代数和高等数学数学的三个不同的分支,它们在研究对象和方法上有所区别。概率论与数理统计关注随机现象和统计规律,线性代数研究向量空间和线性变换,而高等数学则是数学的一个总称,涵盖了微积分、数学分析等多个分支。 ### 回答3: 《概率论与数理统计》,线性代数和高等数学数学的三个分支学科。它们之间有以下区别。 首先,涉及的内容不同。《概率论与数理统计》是研究随机现象及其规律的一门学科,主要内容包括概率模型、随机变量、数理统计等。线性代数是研究向量空间、线性变换及其表示的一门学科,主要内容包括向量、矩阵、线性方程组等。高等数学则是研究函数、极限、微积分等数学分析的一门学科,主要内容包括数列、函数、微分、积分等。 其次,应用领域不同。《概率论与数理统计》的应用领域广泛,包括统计学、金融学、生物学等。线性代数的应用领域包括计算机图形学、信号处理等。而高等数学是其他数学学科的基础,应用领域遍布科学、工程、经济等众多领域。 此外,方法和思维方式也有所区别。《概率论与数理统计》注重概率分布、样本推断等概率统计方法,强调对随机性的认识和分析。线性代数主要采用线性方程组、矩阵等方法,重视向量、线性空间的运算和性质。高等数学则强调数学分析的理论基础和逻辑推理。 综上所述,虽然《概率论与数理统计》,线性代数和高等数学都是数学的分支学科,但它们在内容、应用领域以及方法和思维方式上都有所区别。每个学科都有其独特的特点和重要性,为理解和应用数学提供了不同的角度和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值