
三省吾身
文章平均质量分 55
z0n1l2
这个作者很懒,什么都没留下…
展开
-
马尔科夫模型的一些理解
数学上的定义即使看明白,我也无法记忆下来,目前我的理解是: 已知系统t时刻状态P(t), 状态间转移的概率矩阵是M(P,Q),其中每个元素M(p,q)表示t时刻处于状态q,t+1时刻处于状态p的概率. 那么有 P(t+1)=M×P(t)P(t+1)=M×P(t)P(t+1) = M \times P(t)当上式中的 t→+∞t→+∞t \rightarrow +\infty 时,引入个稳态...原创 2018-05-22 12:11:06 · 5096 阅读 · 0 评论 -
机器学习中的求导
基础知识机器学习中常见函数求导幂次(xu)′=uxu−1(x^u)^\prime=ux^{u-1}(xu)′=uxu−1指数(ex)′=ex(e^x)^\prime=e^{x}(ex)′=ex对数(logax)′=1xlna(\log _ax)^\prime=\frac{1}{x\ln a}(logax)′=xlna1(lnx)′=1x(ln x)^\prime...原创 2018-10-30 01:44:26 · 1144 阅读 · 0 评论 -
关于线性分类器的一些总结
线性分类器的分类函数是f(X)=WX+Bf(X) = WX+Bf(X)=WX+B其中XXX是特征,WWW是权重矩阵,其行数等于类别数,B是偏置,如果定义X′=(X,1)X'=(X,1)X′=(X,1),分类函数可以写成f(X′)=WX′f(X')= WX'f(X′)=WX′所以以下讨论忽略偏置B。线性分类器输出是一个向量,维度等于类别数...原创 2018-10-25 00:10:42 · 1035 阅读 · 0 评论 -
深度学习和传统机器学习的差别
特征构造是否需要人工构造特征,这应该是深度学习和传统机器学习的最明显的差异。feature engining是传统机器学习中的一个重要组成部分,sift,hog,wavelet等都是解决如何描述数据的问题。深度学习兴起后,feature engining的研究几乎停滞,而end-to-end成为一个新兴的研究方向。传统机器学习中有一个分支:representation learning,研究目...原创 2018-11-04 01:50:35 · 19649 阅读 · 1 评论 -
经典网络结构之InceptionNet
InceptionNet又称googleNet,最初的设计思路是增加网络宽度:InceptionNet核心结构包括多个分支,分别对应不同的感受野。大的感受野适用大的目标,小的感受野适用小目标,如此网络具备了scale不变性。不同感受野最终通过concat合并在一起,为了避免通道数爆炸,在每个分支上引入1x1卷积降低通道数目。Inception V2吸收了VGG的优点,利用多个小尺度卷积代替一...原创 2018-11-07 00:06:42 · 2868 阅读 · 0 评论 -
强化学习的一点理解
从可用作输入的信息多少的角度,可以把机器学习划分成三个类别:无监督学习:包括降维和聚类任务,几乎任何东西都可以当作输入,但输出往往很模糊。有监督学习:包括分类和回归任务,因为需要人工标注,可以当作输入的信息要少很多强化学习:和前面两类不同,强化学习适合做的是行为控制。其能够接触到的信息最少,甚至算法要通过和环境交互才能获得更多信息。有监督学习是目前实用性最强的方法,但是无监督学习和强化学...原创 2018-11-08 00:49:04 · 549 阅读 · 0 评论 -
validation accuracy vs train accuracy
训练时validation accuracy和train accuracy之间没有差距,本义为这是一个还不错的曲线,但是今天讨论时有人评论说这种情况说明网络参数不足,因为在参数充足的情况下多多少少会有过拟和,所以正常情况下train accuracy会高于validiation accuracy,似乎很有道理!...原创 2018-11-18 23:00:08 · 6361 阅读 · 0 评论 -
softmax_loss梯度推导
softmax_loss的真正名字应该是softmax cross entropy loss。因为softmax的定义是f(zi)=softmax(zi)=ezi∑jezjf(z_i)=softmax(z_i)=\frac{e^{z_i}}{\sum_je^{z_j}}f(zi)=softmax(zi)=∑jezjezi, softmax loss的定义是L=−1N∑i=0NLi=...原创 2018-11-18 02:54:50 · 1212 阅读 · 0 评论 -
batch norm反向公式推导
输入Xi=(xi0,xi1,...,xi(n−1))X_i=(x_{i0},x_{i1},...,x_{i(n-1)})Xi=(xi0,xi1,...,xi(n−1)) i∈[0,m−1]i \in [0,m-1]i∈[0,m−1] batch-size等于m,特征维度n输出Yi=(yi0,yi1,...,yi(n−1))Y_i=(y_{i0},y_{i1},...,y_{i(n-1...原创 2019-01-05 16:35:28 · 953 阅读 · 0 评论 -
训练集,验证集和测试集
要明确train/validation/test三个集合需要先了解什么是hyperparameter。机器学习中模型的参数有的可以通过训练获得最优的值,而有些无法通过训练获得,只能通过人工设置,这部分需要人工设置的参数就是hyperparameters,比如KNN中的K值,神经网络中的网络层数,结构,SVM中的C值等。三个集合在训练中的使用途径如下给定hyperparameters,trai...原创 2018-10-17 18:11:24 · 663 阅读 · 0 评论 -
dither
参考dither是为了降低颜色量化时引入的信息损失,利用有限的颜色数目,生成一个视觉上和支持更多颜色数目的图相似的近似图。loyd–Steinberg dithering是比较早期的dither算法,但也是应用最为广泛的算法,以下是其伪码。背后的思想是把量化误差按照固定比例扩散到相邻的后续几个像素上for each y from top to bottom for each x fro...翻译 2018-10-17 23:12:02 · 3665 阅读 · 0 评论 -
注意力机制入门
重点attention mechanism可以和很多现有模型结合,插入两层之间:attention model接手前一层的输出,以及一个上下文参数(这个上下文是注意力机制的关键),经过注意力模型,从前一层的输出中筛选出和上下文相关的一部分(没必要直接删减,可以采用加权平均的方式筛选)作为注意力模型的输出,这个输出作为下一层的输入,从而让下一层关注于局部信息,下图是一个示意图 image ...翻译 2018-07-23 22:17:29 · 10205 阅读 · 0 评论 -
kaggle竞赛中关于预处理的知识
已知一批数据,希望利用这些数据做预测或分类,应该从哪里开始入手? 直接把数据送给某个模型做训练吗? NO! 下面给出了一些需要在训练之前考虑的事情处理缺失数据三种常用的方法 * 直接用均值填充 * 分析一下属性的含义, 做针对性的转换 * 定义一个新的二值属性,表示这一项是否缺失 考虑删除方差较低的特征方差较低的特征带来的信息量不大,可以考虑利用CV判断其...原创 2018-06-03 23:01:05 · 1090 阅读 · 0 评论 -
对隐马尔科夫模型HMM的一点理解
本文重点一个HMM模型是否可以处理任意长度的序列?HMM训练如何支持多序列?为什么要有隐马尔科夫模型?有了马尔科夫模型,为什么还要有隐马尔科夫模型? 二者都可以用三元组表示 (π,S,T)(π,S,T)(\pi, S, T) 其中SSS是状态集合, ππ\pi是状态初始概率分布, TTT是状态转移矩阵. 应用马尔科夫模型时...原创 2018-05-24 23:08:18 · 847 阅读 · 0 评论 -
softmax和softamxLoss求导公式推导
Softmax定义f(xi)=exi∑jexjf(xi)=exi∑jexjf(x_i) = \frac{e^{x_i}}{\sum_{j}e^{x_j}}求导df(xk)dxi=exi∑jexj+exi−1(∑jexj)2exi=f(xi)−f(xi)2=f(xi)(1−f(xi)) if k=idf(xk)dxi=exi∑jexj+exi−...原创 2018-06-07 19:00:39 · 1849 阅读 · 0 评论 -
从FocalLoss到hardsample
Focus Loss何凯明大神在2017年的论文中提出Focus loss 论文 Focus Loss是一种处理深度学习中正负样本不均衡的方法. 它并没有固定形式,应该算是一种思路: 降低non-hard-sample的loss, 提高hard-sample的loss. 以二分类cross entropy loss为例 L(y,y0)=−log(Py)L(y,y0)=−log(Py...原创 2018-06-01 15:54:49 · 3123 阅读 · 2 评论 -
命令式编程 vs 符号式编程
重点命令/符号式编程的定义并不明确,CXXNet/Caffe因为依赖于配置文件,配置文件看作计算图的定义,也可以被当作符号式编程源源网址什么是symblic/imperative style编程使用过python或C++对imperative programs比较了解.imperative-stype programs在运行时计算.大部分python代码都是impe...翻译 2018-07-01 13:14:32 · 4407 阅读 · 0 评论 -
拉格朗日插值
重点拉格朗日插值可以用来填充缺失的数据,数据清洗中的一步解决问题给定NNN个点(xi,yi)(xi,yi)(x_i,y_i),求取函数f(x)f(x)f(x), 满足f(xi)=yif(xi)=yif(x_i) = y_i. 利用这种插值方法,可以填充缺失的数据. 拉格朗日插值对上述问题的给出的解有如下形式: f(x)=∑Nj=0yifi(x)f(x)=∑j=0Nyi...原创 2018-06-20 00:55:41 · 1967 阅读 · 0 评论 -
BP反向传播公式推导
重点界定一个节点的输入和输出 zzz是激励函数的输出Backpropagation算法(BP)是深度学习的基础,没有BP算法就没有神经网络,也不会有现在如火如荼的深度学习. BP算法并不仅仅适用于神经网络,对于任意系统,抽象成输入/输出/参数三个部分,如果输出对每个参数的导数已知,那么可以用BP算法把该系统调节到最优. 当然上述结论只在理论上成立,实践中会遇到各种问题,比如梯度爆炸/...原创 2018-07-02 22:30:29 · 652 阅读 · 0 评论 -
池化层反向传播公式推导
重点根据不同类型,上采用上层反向传入的梯度信息池化层反向传播公式推导池化层在深度学习网络架构中的作用包括: * 减少计算量 减少特征图尺寸,减少后面的层的计算量提高多尺度信息 如果存在多个池化层,就相当于网络中构造了一个多尺度特征金字塔,多尺度金字塔有利于提高检测/识别的稳定性 上述是池化层的优势,但是随着研究的深入,池化层的劣势也逐渐被发现,比如有实验发...原创 2018-07-03 01:23:48 · 2204 阅读 · 0 评论 -
深度学习中的优化策略
SGDw=w−lr∗∂ww = w - lr*\partial ww=w−lr∗∂w 其中lrlrlr是学习速率∂w=∂loss∂w\partial w = \frac{\partial loss}{\partial w}∂w=∂w∂losssgd_momentumv=mu∗v−lr∗∂wv=mu*v-lr*\partial wv=mu∗v−lr∗∂ww=w+vw = w + vw=...原创 2019-01-05 19:50:53 · 751 阅读 · 0 评论