算法
文章平均质量分 90
luixiao1220
这个作者很懒,什么都没留下…
展开
-
n个不同对象聚类为k个类别有多少种可能性? 李航博士,统计学习方法2nd.公式14.21的修正.
UTF8gbsnn个不同的对象分到k个相同的盒子里面, 要求每个盒子至少有一个对象.有多少种分法. 这是在k均值聚类里面的一个组合数学问题.在k均值聚类里面有n个对象各不相同,要把这个n个对象分到k个类别里面并要求每个类别必须至少含有一个对象.总共的分法有多少中? 这道题的答案是第二类的stirling number.我们来看看如何来求解.我们把原问题定义为 P(n,k)P(n,k)P(n,k)初探如果将n个不同的对象放到k个不同的盒子里面总共有多少种方法?这个问题不再限制每个盒子必须含有原创 2020-12-24 23:24:57 · 1105 阅读 · 5 评论 -
HMM(隐马尔科夫模型的预测算法)
UTF8gbsnThe predication of HMM has two different methods. the approximation wayand the Viterbi algorithm. The predication problem of HMM is to find thestate sequence based on λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) and observationO=(o1,o2,⋯ ,oT)O=(o_1,o_2,原创 2020-11-03 17:26:20 · 744 阅读 · 0 评论 -
HMM(隐马尔科夫模型的无监督学习方法)
UTF8gbsnInductionThe main topic of this article is about Baum-Welch algorithm. We willestimate λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) with {O1,O2,⋯ ,OS}\{O_1,O_2,\cdots,O_S\}{O1,O2,⋯,OS} and thelenght of OiO_iOi is TTT. The object of our probability m原创 2020-10-29 10:56:19 · 987 阅读 · 0 评论 -
HMM(监督学习)
UTF8gbsnThe subject of today is the supervised learning of HMMλ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π). The task of the supervised learning of HMM is toestimate λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) from these known observation sequences OOOand their correspo原创 2020-10-19 15:50:35 · 464 阅读 · 0 评论 -
HMM(几种期望)
UTF8gbsnAfter we studied the HMM λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) and the backward andforward methods of computing P(O∣λ)P(O|\lambda)P(O∣λ), we should be able tocompute the following probabilities and expectations.For a given λ\lambdaλ and OOO, th原创 2020-10-15 12:11:01 · 123 阅读 · 1 评论 -
HMM(backward法求观察序列的概率)
UTF8gbsnbackward probability: HMM λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) is known. We definethe backward probability at time ttt and its state qiq_iqi as theprobability of sequence (ot+1,ot+2,⋯ ,oT)\left( o_{t+1}, o_{t+2}, \cdots, o_T \right)(ot+1,ot+2,原创 2020-10-15 11:23:15 · 136 阅读 · 0 评论 -
HHM(forward法求观察序列的概率)
UTF8gbsnThe direct method of computing P(O∣λ)P(O|\lambda)P(O∣λ) is ultra expensive.Fortunately, there are some other ways to get an appropriateperformance. Let’s look at the first improvement called forward method.Definition: The forward probability o原创 2020-10-01 10:12:30 · 242 阅读 · 0 评论 -
HHM(直接计算法求观察序列的概率)
UTF8gbsnAfter we known the HMM λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π) andO=(o1,o2,⋯ ,oT)O=\left( o_1, o_2, \cdots, o_T \right)O=(o1,o2,⋯,oT), the probability P(O∣λ)P(O|\lambda)P(O∣λ)can be computed directly. We illustrate possible state sequences ofI=(原创 2020-09-29 15:06:52 · 849 阅读 · 0 评论 -
隐马尔科夫模型(HMM)的基本问题.
UTF8gbsnIn the previous blog, we illustrated the definition of HMM and in thisblog we will list two important aspects of HMM.The generation of observation sequenceBased on the definition of HMM, the generation of the observationsequence O={o1,o2,⋯ ,oT原创 2020-09-22 09:31:10 · 139 阅读 · 0 评论 -
隐马尔科夫模型(HMM)的基本问题.
UTF8gbsnIn the previous blog, we illustrated the definition of HMM and in thisblog we will list two important aspects of HMM.The generation of observation sequenceBased on the definition of HMM, the generation of the observationsequence O={o1,o2,⋯ ,oT原创 2020-09-22 09:27:24 · 198 阅读 · 0 评论 -
HMM定义(Hidden Markov Model)
UTF8gbsnHidden Markov model(HMM) is a statistical learning model which used inlabeled problems. We will introduce the definition of HMM first here andthere will be an example followed by the HMM definition.definitionHMM is a time sequence statistics m原创 2020-09-21 17:31:31 · 314 阅读 · 0 评论 -
线性最小二乘法
UTF8gbsn本文介绍线性最小二乘法.线性最小二乘法比较简单并且在很多场景里面都有应用.下面我们就来举几个例子.例子已知散点集合X={x1,x2,⋯ ,xn},Y={y1,y2,⋯ ,yn}X=\{x_1,x_2,\cdots, x_n\}, Y=\{y_1,y_2,\cdots, y_n\}X={x1,x2,⋯,xn},Y={y1,y2,⋯,yn},求参数方程y=ax+by=ax+by=ax+b.已知是X,YX,YX,Y未知是a,ba,ba,b. 这个问题是一个标准的可以使用原创 2020-08-17 10:33:50 · 2858 阅读 · 0 评论 -
多个等式束的拉格朗日乘子问题(详细证明)
UTF8gbsn多约束的拉格朗日乘子问题.f(x)h1(x)=0⋮hm(x)=0\left. \begin{aligned} \quad & f(x)\\ \quad& h_1(x)=0\\ & \quad \quad \vdots\\ & h_m(x)=0 \end{aligned} \right.f(x)h1(x)=0⋮hm(x)=0假设这个问题的解是x∗x^{*}x∗.原创 2020-08-14 10:10:20 · 2222 阅读 · 2 评论 -
多个约束的lagrange multiplier证明.
UTF8gbsn前面我们介绍了lagrange multiplier. 在单constraint的时候该怎么办.f(x),x∈Rng(x)=0,x∈Rn\left. \begin{aligned} &f(x), x\in R^n\\ &g(x)=0, x\in R^n \end{aligned} \right.f(x),x∈Rng(x)=0,x∈RnL(x,λ)=f(x)−λg(x),(x,λ)∈Rn+1L(x,\la原创 2020-07-31 17:54:36 · 438 阅读 · 0 评论 -
MLE(最大似然), LMS(均方误差),KL(散度), H(交叉熵).之间的等效性证明
UTF8gbsn我们在机器学习中常用的损失函数, 比如MLE(极大似然估计), KL(散度),H(交叉熵), 均方误差等之间是什么关系? 本文就简单的讲解一下它们之间的关系.均方误差 vs MLE如果你的数据分布是来自指数型数据分布, 那么他们是等价的.具体证明这里就不详细去证明了. 详情参看文章.Charnes, A., Frome, E. L., Yu, P. L. (1976). The equivalence of generalized least squares and maxi原创 2020-07-23 10:21:58 · 1641 阅读 · 0 评论 -
单位正方形上两个随机点之间距离的期望(均值)
UTF8gbsnQ:趣味问题, 假如我有一个边长为1的正方形.随机的从正方形里面取得两个点p1,p2p_1, p_2p1,p2.计算dp1,p2=∥p1−p2∥22d_{p_1,p_2}=\|p_1-p_2\|^2_2dp1,p2=∥p1−p2∥22. 如果重复这个操作NNN次,我们就会得到一个距离的集合D={d1,d2,⋯ ,dN}D=\{d_1,d_2,\cdots, d_N\}D={d1,d2,⋯,dN}. 请问E(D)=?E(D)=?E(D)=?.就是两两随机点之间原创 2020-07-22 18:10:18 · 3179 阅读 · 0 评论 -
EM 算法的收敛性证明
UTF8gbsn如何证明EM算法的收敛性. EM算法的收敛性证明有两个点.P(Y∣θ)P(Y|\theta)P(Y∣θ),有上界,而L(θt)=logP(Y∣θt)L(\theta^t)=logP(Y|\theta^t)L(θt)=logP(Y∣θt)收敛到某一个值L∗L^{*}L∗EM算法的收敛序列θt\theta^{t}θt,收敛到θ∗\theta^{*}θ∗是L(θ)L(\theta)L(θ)的稳定点.今天我们这里只证明第一点, 第二点留作后面来证明.第一个定理P(Y∣θt+原创 2020-07-16 18:01:29 · 1211 阅读 · 0 评论 -
EM算法为什么能work
UTF8gbsnEM算法的由来, 上一篇文章介绍了EM算法的具体步骤,且给出了一个EM算法例子的详细推导. 但是没有给出EM算法为什么有效的证明.这里我们来证明并推导一下EM算法的推导.首先如果我们有观察值XXX,我们需要估计参数θ\thetaθ. 使用MLE(极大似然估计)argmaxθL(θ;X)\arg\max_{\theta}L(\theta;X)argθmaxL(θ;X)如果有隐变量ZZZ, 并且知道隐变量ZZZ的估计模型我们可以改写最大似然估计为argmaxθL(θ;X)原创 2020-07-16 14:57:47 · 189 阅读 · 0 评论 -
EM 算法简介, 含有一个例子的详细推导.
UTF8gbsn今天我们讲一个算法, 这个算法就是EM(Expectation MaximizationAlgorithm)算法. 这个算法是为了估计概率模型参数θ\thetaθ的.到这里大家肯定想到了如果我们知道观察值XXX.就可以使用MLE(最大似然估计)来估计参数θ\thetaθ了啊. 为什么还需要EM算法呢?的确如果问题是已知观察值XXX, 求θ\thetaθ,那么我们的确只需要MLE就可以了.θ=argmaxθL(θ;X)\theta=\arg\max_{\theta}L(\the原创 2020-07-16 11:54:45 · 250 阅读 · 0 评论 -
圆的散点拟合, 已知圆的采样点, 求圆的圆心和半径.
UTF8gbsn本文介绍一个圆的拟合方法. 参照论文为 Coope, I. D. (1993). Circle fittingby linear and nonlinear least squares. Journal of Optimization Theoryand Applications, 76(2), 381–388. https://doi.org/10.1007/BF00939613问题描述首先还是先来描述一下问题,假如我们有一个采样数据A={a1,a2,⋯ ,aN}A=\{a_1原创 2020-07-07 16:13:44 · 3483 阅读 · 5 评论 -
点云离群点剔除算法(PCL源码有实现)
UTF8gbsn基于概率的点云离群点剔除算法. 本算法的源码实现在PCL库中,请搜索statistical_outlier_removal.hpp文件.问题描述假如我们有一个点云数据X={x1,x2,⋯ ,xN}X=\{x_1, x_2, \cdots, x_N\}X={x1,x2,⋯,xN}. 其中xix_ixi是n维度空间中的点.那么问题是, 我们想剔除掉那些远离数据群落的离群点.比如, 三维重建中的点云主要集中在物体表面.有的离群点是远离物体表面的我们希望剔除他们.具体怎么办呢?原创 2020-07-07 14:36:53 · 4238 阅读 · 0 评论 -
简明稀疏重建(SFM)教程
UTF8gbsn本文主要做一个简要的稀疏点云重建方法的梳理,梳理的粒度比较大.略去了非常多的技术细节.其实这项技术也叫做SFM(Structured From Motion).特征在3D重建中, 我们的输入是一系列的照片.这些图片通常是围绕一个物体并拍摄的一系列照片.实际上对于同一个物体所拍摄的照片中存在一些特征点. 这些特征点,和拍摄角度位置无关. 我们可以通过算法去计算出这些特征点.这个方法就是SIFT方法, 注意SIFT方法, 只是一个函数. 他的作用如下.features=SIF原创 2020-06-23 11:47:47 · 6871 阅读 · 0 评论 -
最大边界降维算法(large margin dimensionality reduction)
UTF8gbsn本文介绍一种非常简单的降维算法, 叫做最大边界降维算法.背景加入你有一个向量的集合S={v1,v2,⋯ ,vn}S=\{ \mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n \}S={v1,v2,⋯,vn},其中xi\mathbf{x}_ixi, 是一个n×1n\times 1n×1的向量.并且每一个向量xi\mathbf{x}_ixi具有一个类别labelilabel_ilabeli.那么如何来降维并使得不同的向量在计算原创 2020-05-27 10:15:19 · 337 阅读 · 0 评论 -
马氏距离(Mahalanois-distance)
UTF8gbsn本文主要介绍马氏距离(Mahalanois distance). 与欧拉距离不同,马氏距离主要用在判断一个样本是否属于某个分布.定义假设我们有一个采样数据x={x1,x2,⋯ ,xn}T\mathbf{x}=\{x_1,x_2, \cdots, x_n\}^Tx={x1,x2,⋯,xn}T,而有一个已知的分布PPP,这个分布PPP的均值为μ=(μ1,μ2,⋯ ,μn)T\mathbf{\mu}= \left( \mu_1, \mu_2, \cdots, \mu_n \rig原创 2020-05-12 21:33:19 · 2101 阅读 · 0 评论 -
交叉熵,相对熵, 最大似然之间的关系
UTF8gbsn相对熵离散型, 其中P,QP,QP,Q来自于同一个概率空间X\mathcal{X}XDKL(P∥Q)=∑x∈XP(x)log(P(x)Q(x))D_{\mathrm{KL}}(P \| Q)=\sum_{x \in \mathcal{X}} P(x) \log \left(\frac{P(x)}{Q(x)}\right)DKL(P∥Q)=x∈X∑P(x)log(Q(...原创 2020-04-21 22:13:43 · 372 阅读 · 0 评论 -
Newton's Method 牛顿法求极值.
UTF8gbsn一元求根首先从最简单的牛顿法应用开始.牛顿法最简单的一个应用是去求一个函数的根.其实原理很简单.就是一个迭代.当然这些结论也是凸函数才会成立.xn+1=xn−f(xn)f′(xn)x_{n+1}=x_n-\frac{f(x_n)}{f^{'}(x_n)}xn+1=xn−f′(xn)f(xn)比如我们来求y=x2y=x^2y=x2的根.如果出发点为x=2.0x=2....原创 2020-03-15 13:20:19 · 2846 阅读 · 0 评论 -
梯度下降算法
UTF8gbsn梯度什么是梯度?梯度和导数有关但是梯度却不是导数.直观的解释是把梯度看做是一个向量.这个向量指向函数值增长最快的方向.它的摸长就是增长的比率.某一个点x0\mathbf{x_0}x0的梯度的数学定义如下.∇f(x0)=(∂f∂x1(x0),∂f∂x2(x0),⋯ ,∂f∂xn(x0))\nabla f(\mathbf{x_0})=(\frac{\parti...原创 2020-03-10 12:53:47 · 409 阅读 · 0 评论 -
红黑树高度上限(2lg(n+1)证明.
UTF8gbsn红黑树介绍红黑树是一颗二叉树,并满足以下属性.每一个节点要么红色要么黑色.根节点是黑色.所有叶子节点NIL是黑色.红色节点的左右孩子必定是黑色节点.从任何一个节点出发,并达到这个节点下面的所有叶子节点的所有路径.这些路径中,含有的黑色节点个数相同.高度今天我们要说的是如果一颗含有n个内部节点的红黑树.它的最大高度是多少?2lg(n+1)2...原创 2020-03-04 10:17:10 · 6680 阅读 · 23 评论 -
非递归非堆栈实现二叉树遍历
author:luixiao1223title: 非递归和堆栈遍历二叉树前导知识我们都知道遍历二叉树的方法是用递归,也可以用stack来模拟递归。那么下面我们来看看如何实现二叉树的三中基本遍历方法。中序递归方法Inorder_traverse(p) if p == NULL return Inorder_traverse(p.left) pri...原创 2020-01-21 10:55:05 · 923 阅读 · 0 评论 -
蓄水池算法概率分析
UTF8gbsn背景如果我们想得到一个长度为n样本空间中的m个采样。我们一般的做法是对1,2,...,n1,2,...,n1,2,...,n进行洗牌。然后选中前面m个元素作为采样样本。比如A[n]={3,4,2,6,8,10},n=6A[n]=\{3,4,2,6,8,10\}, n=6A[n]={3,4,2,6,8,10},n=6.如果我们想要采样出m=3m=3m=3个样本。对{1,2...原创 2019-11-10 08:04:07 · 223 阅读 · 0 评论 -
动态规划(矩阵连乘)
原创 2019-06-16 09:31:47 · 842 阅读 · 0 评论 -
Rod-cutting(动态规划)
UTF8gbsnIntroduction先来看看问题,加入我们有一个价格表length(i) 1 2 3 4 5 6 7 8 9 10price(pip_ipi) 1 5 8 9 10 17 17 20 24 30那么,我们现在有一根刚才长度为nnn,你是一个加工商,需要把长度为nnn的...原创 2019-06-08 17:26:07 · 1125 阅读 · 0 评论 -
背包问题描述
01背包加入有一个物品的列表 T=(T1,T2,...,Tn)T=(T_{1},T_{2}, ..., T_{n})T=(T1,T2,...,Tn) ,每个物品的价格是 Pi=Pi(Ti)P_{i}=P_{i}(T_{i})Pi=Pi(Ti) 。每个物品的重量是 WiW_{i}Wi 。问题:给你一个背包,但是背包只能装载总重为 WWW的物品,请问如何选择物品 TTT 装入背...原创 2019-06-08 15:38:12 · 494 阅读 · 0 评论