面试知识点梳理一:概率论和线性代数
研二找工作季,面试了虎牙直播和一些创业型公司,问到了一些问题都没能很好地回答出来,本文特来梳理一些知识点~~
一枚硬币,扔了一亿次都是正面朝上,再扔一次反面朝上的概率是多少?
才知道这原来是知乎上的问题~当时面试的时候第一反应就是想着应该概率还是1,但是没敢说出来,还是对概率论掌握的不够。
先给出知乎上的一个比较令人信服的答案:
假设这个硬币是“均匀稳定”的(不是质地不均匀或者两面均为正面的硬币),也就是每次抛硬币得到反面的概率为ppp,如果称事件“抛一次硬币得到反面”为AAA,事件“抛一次硬币得到正面”为BBB,则显然有:
p(A)=p,p(B)=1−pp(A) = p, p(B) = 1-pp(A)=p,p(B)=1−p
现在我们不知道这个硬币的任何信息,ppp可能是0到1之间的任何数。那么如果我们抛了nnn次硬币,nnn次都是正面,这个概率是p(B)=(1−p)np(B) = (1-p)^np(B)=(1−p)n
现在我们知道这个事件发生了,不论nnn是多少它发生了,也就是概率在目前的观测下为1。那么为了给ppp一个合理的猜测,我当然要最大化 "抛nnn次硬币nnn次都是正面"这个已经发生的事件的概率(要尽最大可能利用已有信息嘛)。也就是说要解这个优化问题argmax(1−p)nargmax(1-p)^nargmax(1−p)n。显然,ppp越小,1−p1-p1−p越大,优化目标越大,所以p=0。
这个结果为什么反直觉是因为我们根据实际经验,抛一次硬币得到反面的概率是0.5附近。把这样的直觉定量化,引入一个先验知识ppp是一个0.5为中心的正态分布,太靠近0或者1我们不信,那么我们猜测的时候要优化的问题就从argmax(1−p)nargmax(1-p)^nargmax(1−p)n变成了argmaxN(0.5,σ)(1−p)nargmaxN(0.5, \sigma)(1-p)^nargmaxN(0.5,σ)(1−p)n。这样就会惩罚p过分靠近0或1的情况,通过引入额外的信息来让结果更符合实际情况。这就叫极大后验估计(Maximum A Posterior)而不是极大似然估计(Maximum Likelihood)了
以上就是这道题的一个比较完整的回答了,在这里我要在复习一下最大似然(MLE)和最大后验(MAP)这两个知识点:
似然函数:
对于函数p(x∣θ)p(x|\theta)p(x∣θ),输入有两个:xxx表示某一个具体的数据,θ\thetaθ表示模型的参数。
如果θ\thetaθ是已经确定的,xxx是变量,这个函数为概率函数,它描述对于不同的样本点xxx,其出现的概率是多少。
如果xxx是已经确定的,θ\thetaθ是变量,这个函数为似然函数,它描述对于不用的模型参数,出现xxx这个样本点的概率是多少。
最大似然估计(MLE)是求参数θ\thetaθ,使得似然函数p(x0∣θ)p(x_0|\theta)p(x0∣θ)最大,而最大后验概率估计(MAP)是想求θ\thetaθ使得p(x0∣θ)p(θ)p(x_0|\theta)p(\theta)p(x0∣θ)p(θ)最大,也就是说求得的θ\thetaθ不单让似然函数大,也使其先验概率变大(有点像正则化中加惩罚项的思想,不过这里用的是乘法)。
其实后验概率严格的表达式为p(θ∣x)=p(x0∣θ)p(θ)p(x0)p(\theta|x) = \frac{p(x_0|\theta)p(\theta)}{p(x_0)}p(θ∣x)=p(x0)p(x0∣θ)p(θ),只不过这里的x0x_0x0是确定的,所以p(x0)p(x_0)p(x0)是一个已知值,因此在MAP问题中去掉了分母。
举例:
假设有一个造币厂生产某种硬币,现在我们拿到了一枚这种硬币,想试试这硬币是不是均匀的。即想知道抛这枚硬币,正反面出现的概率(记为θ\thetaθ)各是多少?
解决统计问题首先需要的是数据,于是我们拿这枚硬币抛了10次,得到的数据(x0x_0x0)是:反正正正正反正正正反。我们想求的正面概率θ\thetaθ是模型参数,而抛硬币模型我们可以假设是 二项分布。
那么,出现实验结果x0x_0x0(即反正正正正反正正正反)的似然函数是多少呢?
f(x0,θ)=(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(x0∣θ)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分解,具体分解过程如下图:
将一个n阶方阵A进行LU分解的计算量估计:
这里解释一下为什么第一步的运算量为n2n^2n2:
以a11a_{11}a11为主元,消去a21a_{21}a21,首先需要让第一行乘以某个数(第一行nnn个元素做了nnn次乘法运算),再将第一行和第二行相加或相减(第一行nnn个元素和第二行nnn个元素相加,共进行了nnn次加法运算),如果把一组乘法和加法看做一次运算,则第二行的消元进行了nnn次运算,共n−1n-1n−1行需要进行类似的运算,故第一次消元共进行了n(n−1)≈n2n(n-1) \approx n^2n(n−1)≈n2次运算。
正交矩阵与正定矩阵
这里问到的就比较简单了,就是矩阵分析中的一些概念,简单叙述如下:
正交矩阵:
简单来说就是QQT=IQQ^T=IQQT=I,其实这里包含了两点:一是行向量、列向量均为单位向量;二是行向量和列向量皆为正交,即二者内积为0。
这里放一张wiki的截图:
正定矩阵:
一个n∗nn*nn∗n的实对称矩阵MMM是正定的,当且仅当对于所有的非零实系数向量zzz,都有zTMz>0z^TMz>0zTMz>0,其中zTz^TzT表示为zzz的转置。
正定矩阵有很多的性质,其中一条就是正定矩阵的所有特征值均为正数(>0)。
而对于半正定矩阵,其所有的特征值均为非负数(>=0)。
面试知识点梳理一:概率论和线性代数相关推荐
- 2019年秋招 Java 面试知识点梳理(高频问题)
Java 面试知识点梳理 基础一 JVM-内存区域分配 HotSpot 对象创建 JVM-类加载机制 JVM-内存分配(堆上的内存分配) JVM-GC回收机制 JVM-垃圾收集器 JVM指令重排序 重 ...
- 3w+深度盘点:机器学习面试知识点梳理!
大家好,今天我来梳理一下机器学习.算法.数据挖掘等岗位面试时必备的知识点,欢迎收藏学习,喜欢点赞支持. 机器学习主要分为监督学习和无监督学习. 有监督学习:对具有标记的训练样本进行学习,以尽可能对训练 ...
- 面试知识点梳理二:常见范数最小二乘
一点点查漏补缺吧~ l1范数为什么比l2范数更容易得到稀疏解 其实这个问题我之前看到过,包括也有介绍过0,1,2范数(详见L0.L1.L2.核范数以及RPCA方法的应用),但是面试的时候却又结结巴巴地 ...
- 【小卜学编程】Python面试知识点梳理——一些废话以及知识点分类(一)
水平不高,记录一下学习的过程,与大家分享,希望新的一天能和大家一起进步! 小卜和Python Python几乎是一门让人只有爱,而找不出什么缺点的美好的编程语言.尤其是对于小卜这种不是科班出身的来说, ...
- 最全Java面试知识点梳理
1. 前言 最近面试了几家公司,体验了一下电话面试和今年刚火起来的视频面试, 虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平,但好像不多,至少我以前的面试形式100%都是现场面试. ...
- iOS面试知识点梳理
1.iOS开发者账号类型 "个人"开发者可以申请升级"公司",可以通过拨打苹果公司客服电话(400 6701 855)来咨询和办理. 公司账号允许多个开发者进行 ...
- 金九银十|前端真实面试知识点梳理
目录 1.vue 2.react 2.离职原因 3.提问环节 4.加班 5.职业规划 6.期望薪资 7.你的缺点 8.谈项目经历 1.vue 1.1真实dom,虚拟dom渲染原理,diff算法如何理解 ...
- Mysql窗口函数 (知识点梳理+题目解析+面试实战)(四万字长文,一文读懂,建议收藏后食用)
前言: 本文章是原创50篇时开启的纪念作,之前的文章基本5000字,而本篇约4.5万字,真一篇顶九篇. 窗口函数作为Mysql 8的新特性以及面试笔试的重点,掌握并且进行来练习是非常有必要的.本文章详 ...
- 面试后的知识点梳理成长计划
面试后的知识点梳理 linux基本语句 http/https 协议相关 沟通能力,推动工作中常见问题的能力 4.数据库修改字段,连表查询 5.过往做过项目的深入度 6.返回码及问题出处 7.接口请求方 ...
最新文章
- JSP FORM 提交
- TCP连接过程:三次握手与四次握手—Vecloud微云
- single java_java single Pattern 单例模式
- html中隐式转换成数字,关于 JS 类型隐式转换的完整总结
- [古诗]有关日本留学生的那些古诗
- PostgreSQL中UUID的完整指南
- ubuntu14安装tensorflow并测试
- MySQL单列索引和组合索引的创建及区别介绍
- MyBatis源码阅读(五) ---Mapper接口的获取过程
- ps保存psd后图层全没了_ps保存成psd格式后,再打开就是一张图片而不显图层,怎么办啊??急!!...
- 处理器管理及并发进程-多道程序设计
- 锁定和隐藏Excel公式
- android自动打开软键盘,Android打开关闭软键盘
- 【综述】(MIT博士)林达华老师-概率模型与计算机视觉”
- highcharts绘制3D图表
- python调用r语言加载包错误_Python调用R语言
- PD充电调试问题解析(一)
- Rpgmakermv(33) Mog_PictureGallery
- 个人喜欢的歌曲——女生篇
- 值得收藏的十个C/C++学习网站
热门文章
- [Nginx日记](1)Nginx启动与关闭
- 安装试用国产系统 ——中标麒麟V7.0
- 递归函数与内置函数和函数式编程
- word文档加密漏洞破解方法详解
- [艺术创作]摄影构图的传统法则
- mysql 启停脚本_mysql自己编写启停脚本
- bulk这个词的用法_bulk
- CVPR 2022 | Adobe把GAN搞成了缝合怪!凭空P出一张1024分辨率全身人像
- 二乘二取二安全计算机
- osg 三维gis开发_GIS+BIM跨界融合应用:智能管理道路“健康”,精准定位路桥病害...