![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 72
孤独腹地
计算机视觉
展开
-
变分自编码器(VAE)
在本篇文章中,我将从变分自编码器的来源出发,从两个角度分别引出其网络和目标函数VAE的思想来源如果我们有一批样本,然后想生成一个新样本,我们应该怎么做呢?首先,最直接的想法是根据已有样本得到真实分布Pdata(x)P_{data}(x)Pdata(x),从而根据Pdata(x)P_{data}(x)Pdata(x)采样即可获取新样本但是很可惜,我们很难获得Pdata(x)P_{data}(x)Pdata(x),并且通常Pdata(x)P_{data}(x)Pdata(x)是复杂的,不容易采样原创 2022-05-31 14:15:10 · 3850 阅读 · 0 评论 -
高斯过程部分数学推导
已知高斯过程:任意给定一批样本点 X=[x1,x2,...,xn]\mathbf{X=[x_1,x_2,...,x_n]}X=[x1,x2,...,xn] 为其随机分配 F=[f(x1),f(x2),...,f(xn)]\mathbf{F = [f(x_1),f(x_2),...,f(x_n)]}F=[f(x1),f(x2),...,f(xn)],F\bold FF 服从多维高斯分布。假设 F\mathbf{F}F 的实际观测为 Y=[y1,y2,...,yn]\mathbf{Y=[y_1,原创 2022-05-08 20:50:29 · 648 阅读 · 0 评论 -
词性标注-隐马尔可夫模型
词性标注-隐马尔可夫模型今天刚学完条件随机场,然后想找个例子实战一下,写写代码。于是关注到了词性标注,因为在学习的过程中,很多博客、视频、书等等都常常提到词性标注作为讲解的例子。然后我突然想到前面学HMM的过程中虽然利用盒子与球模型实现了HMM的算法,但是还没有用一个更广泛,更实际的例子去实现它,于是决定先用HMM实现词性标注。流程很简单,先利用现有的语料库训练HMM模型,这是学习问题,然后利用viterbi算法做任意输入的句子做词性标注,即解码问题我们先来看监督式学习的情况语料来自于https:/原创 2021-11-19 23:38:13 · 3105 阅读 · 0 评论 -
白板推导系列Pytorch-隐马尔可夫模型-解码问题
解码问题(Decoding)解码问题就是求 argmaxI P(I∣O,λ)\underset{I}{argmax}\ P(I|O,\lambda)Iargmax P(I∣O,λ)Viterbi算法Viterbi算法事实上是一个动态规划的算法这个图来自知乎我们把概率当成距离那么只要确定了唯一的终点,到这个终点的最大距离必然等于到前一个时间轴5个点的最大距离分别乘以这5个点到终点的距离我们也可以用公式严格推导出这一性质定义距离为δt(i)=maxi1,i2,...原创 2021-11-12 16:05:21 · 1706 阅读 · 2 评论 -
白板推导系列Pytorch-隐马尔可夫模型-学习问题
隐马尔可夫模型的学习问题分为监督学习和非监督学习问题,监督学习采用极大似然估计,非监督学习采用Baum-Welch算法,我们直接先讲Baum-Welch算法。Baum-Welch算法(EM算法)事实上,Baum-Welch算法是EM算法在HMM学习问题中的应用。我们要估计的λ^\hat \lambdaλ^应该为λ^=argmaxλP(O∣λ)\hat \lambda = \underset{\lambda}{argmax} P(O|\lambda)λ^=λargmaxP(O∣λ)我们还是先把原创 2021-11-12 15:54:38 · 1004 阅读 · 1 评论 -
白板推导系列Pytorch-隐马尔可夫模型-概率计算问题
概率计算问题(Evaluation)给定模型 λ=(A,B,π)\lambda=(A, B, \pi)λ=(A,B,π) 和观测序列 O=(o1,o2,⋯ ,oT)O=\left(o_{1}, o_{2}, \cdots, o_{T}\right)O=(o1,o2,⋯,oT) , 计算在模型 λ\lambdaλ 下观测序列 OOO 出现的概率 P(O∣λ)P(O \mid \lambda)P(O∣λ).直接计算法P(O∣λ)=∑IP(O,I∣λ)=∑IP(O∣I,λ)⋅P(I∣λ原创 2021-11-12 15:44:30 · 496 阅读 · 0 评论 -
白板推导系列Pytorch-隐马尔可夫模型(HMM)
白板推导Pytorch-隐马尔可夫模型(HMM)状态转移矩阵和观测概率矩阵状态转移矩阵A=[aij]N×Nαij=P(it+1=qj∣it=qi)\begin{aligned}A &=\left[a_{i j}\right]_{N \times N} \\\alpha_{ij} &= P(i_{t+1} = q_j|i_t=q_i)\end{aligned}Aαij=[aij]N×N=P(it+1=qj∣it=qi)观测概率矩阵B=[bj(k)]N×Mb原创 2021-11-08 22:52:09 · 1607 阅读 · 3 评论 -
白板推导系列Pytorch-期望最大(EM)算法
白板推导系列Pytorch-期望最大(EM)算法EM算法介绍直接看这篇博客-如何通俗理解EM算法,讲的非常好,里面也有算法的公式推导。当然白板推导的视频里面公式推导已经讲的很清楚了,就是缺少应用实例。这篇博客用三个很通俗的例子引入了极大似然估计和EM算法。美中不足的是并没有详细说明极大似然估计并不是一定陷入鸡生蛋蛋生鸡的循环而没有办法处理隐变量问题,而是由于计算复杂从而摒弃了这个方法。当我们能知道z的分布的时候,其实也是可以用极大似然估计表示的但是,很多时候,我们很难获得Z的分布,除非我们事先对Z已经原创 2021-11-08 15:32:51 · 916 阅读 · 0 评论 -
白板推导系列Pytorch-支持向量机(SVM)
白板推导系列Pytorch-支持向量机(SVM)支持向量机的代码实现主要是SMO算法的实现,我参考了下面这篇博客https://www.cnblogs.com/lsm-boke/p/12317200.html该博客中使用numpy实现的svm,我对numpy版本做了一点修改,并且使用pytorch的API写了一个新版本,但除了函数名不同基本一致,只是numpy版本的收敛速度比pytorch要快很多。另外我调用了sklearn中的svm,速度都远超这两个实现pytorch版本导入所需的包impor原创 2021-10-29 18:57:35 · 8166 阅读 · 5 评论 -
深度学习花书-4.4 约束优化
4.4 约束优化这篇博客不是对照花书写的,但是对你看花书这一节是有用的minmax不等式-凤尾大于等于鸡头在看到白板推导的up主看着下式说鸡头凤尾的时候,觉得真是太有趣了,很形象有没有maxyminxf(x,y)≤minxmaxyf(x,y)\max _{y} \min _{x} f(x, y) \leq \min _{x} \max _{y} f(x, y)ymaxxminf(x,y)≤xminymaxf(x,y)花书里面有出现类似的式子,当时没有看懂,看到白板推导SVM的视原创 2021-10-27 19:18:25 · 560 阅读 · 0 评论 -
白板推导系列Pytorch-PCA降维
白板推导系列Pytorch-PCA降维前面在看花书的时候就遇到过PCA,但是花书上的推导和白板推导中的推导不太一样,花书上的推导我至今还没弄清楚,但是这个我懂了,接下来我将以mnist数据集为例实现PCA降维并利用sklearn朴素贝叶斯分类器分类导入相关包import torchimport matplotlib.pyplot as pltfrom sklearn.datasets import load_digitsfrom sklearn.model_selection import tr原创 2021-10-26 17:28:40 · 2078 阅读 · 1 评论 -
白板推导系列Pytorch-朴素贝叶斯
白板推导系列Pytorch-朴素贝叶斯下面的实现基于极大似然估计,意思就是使用极大似然估计的方法来估计模型中的未知参数,因此我们当然能想到还有其它的估计方法,例如贝叶斯估计。如果您仍然不明白我在说什么,或许是您还没有看白板推导的系列视频pytorch实现生成数据集def create_dataset(n_samples=1000): x0 = torch.normal(2,1,size=(n_samples//2,2),dtype=torch.float32) y0 = torch.原创 2021-10-25 21:45:18 · 690 阅读 · 0 评论 -
白板推导系列Pytorch-高斯判别分析(GDA)
白板推导系列Pytorch-高斯判别分析(GDA)不同于感知机和逻辑回归中由于得到的参数方程无法直接求解而只能采用随机梯度下降或上升的方式来求极值,LDA和GDA都可以直接求得参数,因而不需要通过逐步训练导入需要的包import torchimport matplotlib.pyplot as pltimport numpy as np生成数据集def create_dataset(n_samples=1000): n_data = torch.ones(n_samples//2,原创 2021-10-25 16:26:54 · 211 阅读 · 0 评论 -
白板推导系列Pytorch-逻辑回归
白板推导系列Pytorch-逻辑回归的简单实现导入需要的包import torchimport matplotlib.pyplot as pltimport torch.nn as nnfrom torch.autograd import Variable生成数据集def create_dataset(n_samples=1000): n_data = torch.ones(n_samples//2, 2) x0 = torch.normal(2 * n_data, 1)原创 2021-10-24 18:36:30 · 150 阅读 · 2 评论 -
白板推导系列Pytorch-线性判别分析(LDA)
白板推导系列Pytorch-线性判别分析(LDA)导入所需的包import torchfrom sklearn.datasets import make_classificationfrom sklearn.linear_model import Perceptronimport torch.nn.functional as Fimport matplotlib.pyplot as plt生成数据集X, y = make_classification(n_samples=1000, n_f原创 2021-10-24 09:38:18 · 2550 阅读 · 3 评论 -
白板推导系列Pytorch实现-感知机算法
白板推导系列Pytorch实现-感知机算法下面的代码以二维输入为例,实现二分类的感知机算法import matplotlib.pyplot as pltimport torchimport torch.utils.data as Dataimport numpy as npclass Perceptron: # 注意,为了我们能看到训练的效果,特意将learning_rate设的很小 def __init__(self, X, y, learn_rate=0.00001, b原创 2021-10-22 18:36:02 · 245 阅读 · 3 评论 -
深度学习花书-5.6 贝叶斯统计
5.6 贝叶斯统计频率学派的观点是,对于一个概率模型,参数是未知的常量而贝叶斯学派的观点是,参数是未知的变量,它自身也是遵循某个概率分布的,我们只有它的先验分布,需要根据观察到的数据来进行调整。通常来说,如果我们对参数不具有太多确定性的时候,采用高斯分布作为先验是附加条件最小的分布频率派的典型就是极大似然估计,本质上是一个优化问题。而贝叶斯派是基于贝叶斯公式(如下),最关键是求分母,这通常是一个求积分问题p(θ∣x(1),…,x(m))=p(x(1),…,x(m)∣θ)p(θ)p(x(1),…,x(原创 2021-10-21 20:12:48 · 200 阅读 · 0 评论 -
深度学习花书-5.4 估计、偏差和方差
5.4 估计、偏差和方差5.4.1 点估计点估计是依据样本估计总体分布中所含的未知参数或未知参数的函数。简单的来说,指直接以样本指标来估计总体指标,也叫定值估计。通常它们是总体的某个特征值,如数学期望、方差和相关系数等。点估计问题就是要构造一个只依赖于样本的量,作为未知参数或未知参数的函数的估计值。构造点估计常用的方法是:①矩估计法,用样本矩估计总体矩②最大似然估计法。利用样本分布密度构造似然函数来求出参数的最大似然估计。③最小二乘法。主要用于线性统计模型中的参数估计问题。④贝叶斯估计法。1.原创 2021-10-17 20:05:37 · 595 阅读 · 0 评论 -
深度学习花书- 4.3 基于梯度的优化方法
4.3 基于梯度的优化方法现在在看花书,看到PCA的时候部分地方不懂跳到4.3节寻找答案,所以先记录这一节的部分笔记,后面读到再补充向量微积分书上没讲,但是不懂这个就很多地方都没法看懂,先掌握一点基础公式即可。向量微积分参考文献:(31条消息) 向量微积分基础_文剑木然的专栏-CSDN博客_向量微积分常用求导公式∂Ax∂x=A\frac{\partial \mathbf{A} \mathbf{x}}{\partial \mathbf{x}}=\mathbf{A}∂x∂Ax=A∂x⊤A∂x原创 2021-10-11 15:41:26 · 171 阅读 · 0 评论 -
深度学习花书-3.8 期望、方差与协方差
3.8 期望、方差与协方差1.期望离散型E(f(x))=∑xP(x)f(x)E(f(x)) = \sum_{x} P(x) f(x)E(f(x))=x∑P(x)f(x)连续型E(f(x))=∫p(x)f(x)dxE(f(x)) = \int p(x) f(x) d xE(f(x))=∫p(x)f(x)dx2.方差Var(f(x))=E[(f(x)−E[f(x)])2]\operatorname{Var}(f(x))=E\left[(f(x)-E[f(x)])^{2}\right]原创 2021-10-12 15:14:00 · 238 阅读 · 0 评论 -
深度学习花书-2.9 伪逆矩阵
2.9 伪逆计算公式A+=VD+UT\boldsymbol{A^+}= \boldsymbol{V}\boldsymbol{D^+}\boldsymbol{U^T}A+=VD+UT其中,矩阵 U\boldsymbol{U}U,D\boldsymbol{D}D和V\boldsymbol{V}V是矩阵 A\boldsymbol{A}A奇异值分解后得到的矩阵。对角矩阵D\boldsymbol{D}D的伪逆D+\boldsymbol{D^+}D+是其非零元素取倒数之后再转置得到的值得注意的是,通过np原创 2021-10-11 21:43:34 · 264 阅读 · 0 评论 -
深度学习花书-2.10 PCA数学推导
2.10 PCA本节主要记录花书2.10 PCA实例 中下图两个式子的推导过渡,PCA的推导全过程之后再补充个人认为,从2.72往2.71推导更容易一些,然后我们再逆向考虑就行了先介绍一下Frobenius范数,定义公式如下,即矩阵每个元素的平方和开根∥A∥F≡∑i=1m∑j=1n∣aij∣2\|\mathbf{A}\|_{F} \equiv \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n}\left|a_{i j}\right|^{2}}∥A∥F≡i=1∑mj=1∑原创 2021-10-11 20:10:03 · 352 阅读 · 0 评论 -
朴素贝叶斯算法
朴素贝叶斯算法贝叶斯公式:当我们知道结果的时候,想知道最可能导致这个结果的原因在这个公式里面,类别就是原因,特征就是结果(因为是这个类别,所以有这些特征?)其中P(类型|特征) 称为后验概率,P(类别)称为先验概率,P(特征|类别)叫做似然概率,P(特征)叫做证据(后面讲为什么可以忽略)那么想要求得P(类别|特征),那么就要求得p(类别)和p(特征|类别),前者容易,类别数除以总数即可后者则比较麻烦,我们需要引入另一个概念——独立朴素贝叶斯算法的朴素二字,意思是说,所有特征是相互独立的,比如硬原创 2021-10-08 18:13:33 · 240 阅读 · 0 评论