shahuzi的博客

记录科研的点滴

EM算法的导出、收敛性证明

首先,把使用的符号声明一下。 Y:观测变量各分量iid,即P(Y)=P(y1,y2,...,yN)=∏i=1NP(yi)Y:观测变量 \quad 各分量iid,即P(Y)=P(y_1,y_2,...,y_N)=\prod_{i=1}^{N}P(y_i)Y:观测变量各分量iid,即P(Y)=P(y...

2019-07-19 18:15:26

阅读数 8

评论数 0

数组中的逆序对

此题来源于剑指offer 题目描述: 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 从直观上来看,可以使用一个O(N2)O(N^2)O(N2)的算法:顺序扫描整个数组,每扫描到一个数字时,逐个比较它与它后面数字的大小...

2019-07-16 20:52:40

阅读数 8

评论数 0

编辑距离系列题

编辑距离的概念此处不再概述,下面开始说和编辑距离相关的一系列题目,主要包括: 普通的编辑距离 要求记录操作各操作的数目 只有删除操作的编辑距离 不同操作代价不同的编辑距离 1.编辑距离 思路: 使用动态规划,dp[i][j]表示word1[0...i]变成word2[0...j]的最短距...

2019-07-15 21:06:03

阅读数 7

评论数 0

最长公共子序列

题目:最长公共子序列(子串) ---- LCS 解法:动态规划 思路:设dp[i][j]为以第一个字符串的前i个,第二个字符串的前j个字符构成的最长公共子串,设这两个字符串分别为A和B,则当A[i]==B[j]时,dp[i][j]=dp[i-1][j-1]+1;若A[i]!=B[j],则dp[...

2019-07-10 10:21:05

阅读数 35

评论数 0

最长上升子序列【动态规划,二分查找】

题目描述 给定一个无序的整数数组,找到其中最长上升子序列的长度。 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 解法一 动态规划 思路:dp[i]表示直到第i个元素的最长上升子序列的长度...

2019-07-09 14:53:32

阅读数 42

评论数 0

VIVO校招提前批算法工程师笔试题目 2019/6/4

总共有三道题: 很简单的一道题,给A,B两个数组,输出出现在A中而没有出现在B中的元素,遍历一遍就OK了。 反正链表的第M个至第N个元素 0-1 背包 先占坑,后面来填坑。 ...

2019-06-04 20:41:12

阅读数 137

评论数 0

tensorflow对sklearn中PCA的影响

最近在写论文,需要重新做一下之前的实验以确定结果无误。 论文对比了基于传统的PCA+LDA+SVM的方法和基于CNN的方法。 重新实验的是传统方法,之前分类准确率在70%-80%左右,但是在这次复现时发现稳定10%,一看预测结果全是某一个类别,我用脚趾头猜也知道是出错了,期间查了两天。 第一天,考...

2019-01-06 21:58:56

阅读数 175

评论数 0

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 论文阅读报告

摘要 神经网络训练过程是非常复杂的,这是因为随着训练的进行、前置层的参数的改变,导致每一层的输入分布在不断改变。这种现象使得我们需要使用更小的学习率和更仔细的进行权值初始化,而这又导致网络训练速度变慢,且使得在非线性饱和区内模型变得很难训练。作者把这种现象叫做内部协变量偏移(internal...

2018-12-16 17:02:19

阅读数 61

评论数 0

markdownpad2 行内公式

最近使用markdownpad做工作整理,发现markdownpad的行内公式无法显示,后来google发现了方法,记录如下: 一般的markdown行间公式如下: $ 此处写公式内容$ 效果如下:此处写公式内容此处写公式内容此处写公式内容 在markdownpad中,需要改一下: \\(此处写...

2018-12-12 16:54:17

阅读数 433

评论数 0

相位展开(phase unwrapping)

我在做科研项目时,遇到过使用相位信息,但是相位被折叠(wrapped)的情况,相位计算公式如下: Θ=arctan(ba)\Theta = arctan(\frac{b}{a})Θ=arctan(ab​) 其中b、a分别代表虚部和实部,由于反正切函数的区间是(−π2,π2)(-\frac{\p...

2018-10-13 14:17:19

阅读数 3452

评论数 3

representation learning 表示学习

representation learning Review 1 WHAT 2 WHY 3 WHAT MAKES A REPRESENTATION GOOD word emb...

2018-09-17 21:07:19

阅读数 470

评论数 0

tensorflow进行fine-tune

进行fine-tune的关键在于保存数据和重新读取数据,在tensorflow中有多种方法,下面介绍一种空间复杂度较低的方法。 首先,在训练阶段 saver = tf.train.Saver(var_list=tf.trainable_variables()) #只保存可训练变量 with ...

2018-07-31 12:47:24

阅读数 514

评论数 0

例解python装饰器执行顺序------由浅入深

一直以来只是单纯地使用装饰器,并没有深究过其执行过程,或者说之前没有死磕,这两天重拾python的基础学习,在这一块儿花了点功夫,把此时的理解记下。 仔细观察装饰器的结构,无非是在一个函数内部定义了另外一个函数,因此,先来说明这种内嵌函数的执行(调用)过程。 例1.内嵌函数例子 ...

2018-07-27 21:31:27

阅读数 1215

评论数 0

tensorboard多个events文件显示紊乱的解决办法

在使用tensorboard可视化网络参数时,当因多次训练产生多个events文件后,在tensorboard上显示会非常混乱,非常不易于观察。如下图所示,这张图只有两次实验的文件,已经比较混乱了。 我之前的解决办法是每次跑都将以前的文件删除,保证路径下只有当前产生的events文件,但这样...

2018-07-26 17:21:54

阅读数 3242

评论数 8

tensorboard同时显示训练曲线和测试曲线

在做网络训练实验时,有时需要同时将训练曲线和测试曲线一起显示,便于观察网络训练效果。经过很多次踩坑后,终于解决了。 具体的方法是:设置两个writer,一个用于写训练的数据,一个用于写测试数据,并且这两个writer分别存在train和test路径中,注意测试的writer不能加sess.gra...

2018-07-26 16:55:36

阅读数 4449

评论数 2

python学习之传递函数

在Python中,函数也是对象。所以函数是可以被引用的,也可以作为参数传入函数(想想装饰器),话不多说,上例子。(例子来源于《python核心编程第二版》) 例1.使用别名调用 def foo(): print('in foo()') bar = foo # 对函数对象新建...

2018-07-25 22:54:26

阅读数 1708

评论数 0

批输入任务中,数据长度无法整除batch_size的处理方法

在神经网络训练时,常常需要采用批输入数据的方法,为此需要设定每次输入的批数据大小batch_size,而当样本数量无法整除batch_size时,往往会丢弃掉后面的若干个样本。在实际做项目时,我曾经这么做过,对于样本数目多的数据集,这样做影响不大,但是当数据集太小时,多余的那些样本就无法用于学习更...

2018-07-25 21:23:36

阅读数 1483

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭