machine learning
文章平均质量分 52
qiusuoxiaozi
取法乎上
展开
-
怎么让git clone到本地的库更新到github上的版本
最保险的做法如下:# 第一句话,切换到master branchgit checkout master# 第二句话,新建一个branch来备份本地现有的“旧库”,因为一旦git fetch之后本地的数据都会被覆盖git branch new-branch-to-save-current-commits# 第三句话和第四句话就是更新到最新的库(与github上的远程库同步)git fe...原创 2018-03-13 22:08:57 · 5565 阅读 · 1 评论 -
Article on 梯度消失/Ensemble Modeling/Batch Normalization
一篇文章,关于神经网络梯度消失的解释,不错!40 Questions to ask a Data Scientist on Ensemble Modeling Techniques (Skilltest Solution),其中包含了dropout的考察,有助于理解。莫烦关于BN(Batch Normalization)的教学视频原创 2017-02-16 12:01:15 · 354 阅读 · 0 评论 -
贝叶斯决策与贝叶斯参数估计
1/11/2017 11:02:08 PM 考试结束了重新看了一下贝叶斯参数估计(极大似然参数估计思想很简单,不用多说了),感觉贝叶斯参数估计真是内涵很深啊! 下面两张ppt务必完全每一行都看懂(刘老师的PPT确实做得好啊) 第二张PPT讲得很清楚了,关于贝叶斯参数估计的基本条件和步骤。 需要注意的的是p(x|θ)表示的是参数θ给定时,x(也就是数据)的一般分布;而p(D|θ)则表示实际上生成手上原创 2017-01-12 13:12:44 · 4905 阅读 · 0 评论 -
EM 算法
这个算法李航在《统计学习方法》上说的比较好: “EM算法是一种迭代算法,用于含有隐变量的概率模型产生的极大似然估计,或极大后验概率估计。”Q函数:完全数据的对数似然函数logP(Y,Z|θlogP(Y,Z|\theta)关于在给定观测数据Y和当前参数θi\theta^i 下对未观测数据Z的条件概率分布P(Z|Y,θi)P(Z|Y,\theta^i)的期望称为Q函数,即 Q(θ,θi)=EZ[l原创 2016-03-16 17:17:04 · 700 阅读 · 2 评论 -
RNN与反向传播算法(BPTT)的理解
RNN是序列建模的强大工具。 今天主要搬运两天来看到的关于RNN的很好的文章:Anyone Can Learn To Code an LSTM-RNN in Python (Part 1: RNN) 这个博客相当赞,从Toy Code学习确实是个很好的方法(便于理解抓住核心)!。David 9的博客,有上面的译文,还有一些包括GAN(生成对抗网络)的Toy code.RNN反向传播算法(BP原创 2017-01-09 10:37:11 · 10147 阅读 · 0 评论 -
【CS231n winter2016 Lecture 7 (Convolutional Neural Network)】
讲的贼特么好!!lecture6主要讲的是一般的NN的一些technique/trick本讲关于CNN的基本知识讲得很清晰,不过先前自己已经有了一些学习。但是有一些细节讲的很好,比如说:为什么filter的大小一般是3x3/5x5/7x7这样的奇数大小,原因是可以很公平的“顾及”到specific point周边的点,比如3x3正好就是关键点前后左右各一个,5x5前后左右各两个。讲到了利用pad原创 2016-12-29 19:25:06 · 840 阅读 · 0 评论 -
图像特征点匹配(Matching feature points) to be continued..
LIFT应该没有开源匹配的源码,今早霍老师要求做一下匹配,那就做一下吧,顺便学一学,争取今晚给他一个结果。优达学城上计算机视觉概论讲到了Matching feature points(在SIFT讲完之后),所以下面先把视频中提到的内容归纳一下: 1. Exhaustive Nearest Neighbor(computationally expensive) 2. Approximate Nea原创 2016-12-25 17:37:48 · 2702 阅读 · 0 评论 -
Python的命令行解析工具argparse
一篇cnblog 一篇简书足矣!原创 2016-12-23 22:07:44 · 434 阅读 · 0 评论 -
SIFT
Very good blog for the introduction of SIFT原创 2016-12-23 19:31:15 · 329 阅读 · 0 评论 -
ubuntu16.04+NVIDIA官方驱动=login loop+...
万恶的login loop, 自从装了NVIDIA的官方驱动,已经有好几天没有看见桌面是什么模样了。 然而,就在几分钟前,这篇博客救我于万劫不复之中,重新看到久违的桌面后,我的心情简直。。。十!分!平!静! 因为,在尝试无数的方法并失败之后,我已经麻木了。。另外,上一篇博客中引用的一篇博客分析了在虚拟机中使用CUDA,调用NVIDIA显卡的可行性,结论是“虚拟机中运行 CUDA 需要硬件和软件的配原创 2016-12-14 10:14:48 · 3560 阅读 · 0 评论 -
Ubuntu16.04+CUDA8.0+Theano0.8.2+OpenCV3.1
CUDA和Theano的安装在昨晚完成了,并且测试了example,成功使用Theano调用了GPU。今天主要是安装OpenCV,下载了OpenCV3.1,按照官网的教程一步步来,首先cmake的时候会有一个坑,出现 ippicv的HDM5码不合问题,解决办法网上有很多,可以参考这个博文,然后cmake就成功了。 后面make也有一个坑,原因是CUDA8.0太新了(比OpenCV3.1晚发布),所以原创 2016-12-14 23:51:06 · 995 阅读 · 0 评论 -
Win7+CUDA8.0+VS2015+Theano0.8配置GPU加速环境
今天感觉至少做成了一件事,心情不错!Nvidia官网给出的兼容性情况:大致来说: Theano0.8的安装通过Anaconda然后pip install theano,细节参照Theano的官方文档Installation of Theano on Windows ,只要能import theano成功就可以了(或者把文档中的一个sample跑通也可以)。CUDA直接在Nvidia官网下载,照着官原创 2016-12-04 01:13:05 · 6131 阅读 · 0 评论 -
【CS231n winter2016 Lecture 6 (Training Neural Networks Part 3,update schemes/dropout and so on..)】
lecture 6 Neural Networks Part 3 Intro to ConvNets hdoutline:SGD performes not so good in practice.Momentum update ,物理解释很不错Nesterov Momentum updateand so on…二次优化的方法,Hessian矩阵要求逆,尤其是高维的时候,所以impratical改进原创 2016-11-29 18:09:02 · 633 阅读 · 0 评论 -
Cross Validation for Ensemble Learning(Stacking!!)
Collect from k-fold Cross validation of ensemble learning原创 2016-11-13 20:35:12 · 731 阅读 · 0 评论 -
【CS231n winter2016 Lecture 5 (Training Neural Networks Part 1)】
lecture 5课程前面回顾了从感知器到DL复兴的历史,讲的很仔细!sigmoid的三个缺点:tanh相比sigmoid好,但是还是有饱和问题Reluleaky ReluELUmaxout……Andrej Karpathy讲得很好! 对神经网络训练的trick很有内容,具体就不重复了(偷个懒)。 只把最后一张ppt放上来,总结的很好(可以有个整体的把握),如果想深入了解细节,可以回看视频或者sli原创 2016-11-21 22:34:33 · 500 阅读 · 0 评论 -
Cross-Validation: the right and the wrong ways
这一个月来都在忙着CCF的数据挖掘比赛, 一直深深困扰于线下10-fold交叉验证后的结果与线上的悬殊,下面链接的内容,完完全全,清清楚楚地解释了我的困惑,这是我比赛以来以及将来很长时间巨有价值的收获! http://stats.stackexchange.com/questions/193661/is-cross-validation-enough-to-prevent-overfitting原创 2016-11-07 01:37:05 · 479 阅读 · 0 评论 -
Caffe Tutorial in Brief
首先看 Blobs, Layers, and NetsCaffe stores, communicates, and manipulates the information as blobs: the blob is the standard array and unified memory interface for the framework. The layer comes next as t原创 2017-02-17 17:27:38 · 466 阅读 · 0 评论 -
LeNet Tutorial with Caffe
刚看完Caffe官网example中的LeNet Tutorial首先,搞清楚LeNet的结构,很简单,就是conv+pool+conv+pool+fc+fc In general, it consists of a convolutional layer followed by a pooling layer, another convolution layer followed by a p原创 2017-02-18 00:11:43 · 480 阅读 · 0 评论 -
caffe源码学习——1.熟悉protobuf,会读caffe.proto
要想学习caffe源码,首当其冲的要阅读的,就是caffe.proto这个文件。它定义了caffe中用到的许多结构化数据。caffe采用了Protocol Buffers的数据格式。那么,Protocol Buffers到底是什么东西呢?简单说: Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。更多有关Protocol Buffer原创 2017-03-10 16:38:13 · 5653 阅读 · 2 评论 -
码隆科技WebVision2017冠军模型思想
WebVision2017是一个半监督的任务,本文全部提取自码隆科技做的一个讲座ImageNet和WebVision数据集的对比: WebVision数据集: 第一个思想是:Data, model architecture, loss, training strategy都同等重要。 数据不均衡的问题,多的有10000+张,少的只有几百张: 主要的挑战在于noi...原创 2018-03-19 00:53:41 · 1382 阅读 · 1 评论 -
SSD代码中MatchBBox函数的理解
卧了个槽。。这个函数竟然看了我这么久。先把整个函数体摘抄如下:void MatchBBox(const vector<NormalizedBBox>& gt_bboxes, const vector<NormalizedBBox>& pred_bboxes, const int label, const MatchType mat...原创 2018-03-12 00:42:04 · 1656 阅读 · 1 评论 -
Semantic Segmentation: A thorough Review
语义分割可以划分到目标检测领域,不同的是,一般意义上目标检测只需要输出被检测物体的bounding box,而语义分割则需要输出一个mask,所以要求更高了。从技术上说,语义分割归根结底就是对context information的建模。研究意义语义分割(Semantic Segmentation)的目标是给定一张图片,对于图片中的每一个像素做分类。例如下中给出的原始输入图片,语义...原创 2018-03-15 14:25:07 · 1123 阅读 · 1 评论 -
图像数据的预处理,从'P','RGBA','RGB'多种mode的图像说起
‘P’,’RGBA’,’RGB’这是PIL Image读图可能出现的三种mode,每种mode的图片数据都有不同的组织形式,当训练/测试数据都是一堆图片时,尤其是那种没人帮你清洗的数据时,自己就要留神了,否则模型还没跑起来就给提前自己挖了个坑。首先,先容许我吐槽一下OpenCV的两个抽风,我用的python接口的(估计没怎么维护吧,所以有bug),用cv2.imread读图:对’RGBA’...原创 2018-03-15 09:23:38 · 10107 阅读 · 5 评论 -
SSD: Single Shot MultiBox Detector思想精要&技术细节
一、理解SSD:这大半个月来一直在捣弄SSD。一篇文章在handle一个task的时候,总是有其隐藏在其背后,独特的处理问题的思想,为了避免过目就忘,决定把SSD的思想提炼总结一下,原则就是简而精:往大了看,SSD其实就是由两个subtask构成的。这两个subtask绝大多数时候是相互独立的,各做各的事,自己优化自己,不存在交叉优化或者joint training,可以说是并不相关的。只有在最后t原创 2017-10-31 15:10:27 · 571 阅读 · 0 评论 -
深度学习炼丹师的养成之路之——How to subtract the mean value
今天这个文章题目的名字好啰嗦啊,其实主要是为了提醒自己要有“工匠精神”,在深度学习的修炼之路上学会有耐心,慢工出细活。如果到头来只会盲目地堆网络和试参数,这就背离了修炼的正轨了。好了,闲话不多说。今天主要写的是一个关于在transfer learning的时候,需要注意的问题。虽然是一个看似不起眼的细节,但是须知这些小小的细节有时候却能左右DL的learning过程,从而对最后的模型产生潜移默化的影原创 2017-11-02 21:45:15 · 2385 阅读 · 0 评论 -
NMS—非极大值抑制算法
概括NMS的思想(假定是人脸检测bbox NMS): 按照置信度将所有的bbox升序排列(或者降序也行,只是后面的操作都相应改一下)作为一个set,然后: 1. 选取set的最后一个bbox,并将该bbox加入pick集合 2. 将set中该bbox之前的所有bbox与其计算overlap,将那些overlap大于指定threshold的bbox(包括该bbox自己)从set中删除,更新set原创 2017-10-25 18:30:32 · 888 阅读 · 0 评论 -
理解Batch Normalization
一直以来对batch normalization的理解都是似懂非懂。在机器学习和深度学习炼丹师的修炼之路上,似懂非懂是一件很危险的事。今天,虽然还是没有能够把谷歌原始的论文好好研读一遍,但是看了一篇很不错的博客,不啰嗦了,也不重复造轮子,链接: https://r2rt.com/implementing-batch-normalization-in-tensorflow.html有一个一直的认识误原创 2017-09-15 22:18:24 · 2263 阅读 · 1 评论 -
Spatial Transfomer Networks
本着不重新造轮子的原则。。链接如下: Deep Learning Paper Implementations: Spatial Transformer Networks - Part I Deep Learning Paper Implementations: Spatial Transformer Networks - Part II原创 2017-08-29 15:17:34 · 408 阅读 · 1 评论 -
Deconvolution/Transposed convolution
老早就琢磨过deconvolution的问题,不过今天又想起这个,发现理解得还是比较模糊,具体就是还是不知道caffe或者tensorflow中实现deconvolution是怎么实现的,刚才看到下面这篇文章https://arxiv.org/ftp/arxiv/papers/1609/1609.07009.pdf里面的两张图一下子就把我的所有疑惑解开了:Fig.2描述的是卷积过程,caffe中的i原创 2017-08-16 20:01:46 · 5055 阅读 · 0 评论 -
2016CCF 大数据与计算智能大赛——搜狗用户画像(NLP)
2016 CCF搜狗用户画像队名:nice排名: 66(复赛)这个比赛本质上是一个自然语言处理(NLP)问题,或者更具体地就是文本分类(TC)问题。我们组的主要想法来自于自动化所宗成庆老师他们的一篇文章[Xia et al., 2012]以及网上一些博客的启发。Brief introduction of our methodConclusionBrief introduction of o原创 2016-12-29 12:22:09 · 7627 阅读 · 0 评论 -
语义分割中的训练策略和参数设置
下面主要总结一下语义分割和边缘检测中,使用VGG作为base network的论文中,训练参数和策略的情况:原创 2017-06-20 10:51:23 · 5978 阅读 · 1 评论 -
语义分割输出结果上采样过程中的zoom value问题
最早是在看dilated convets那篇文章,一直琢磨不懂,为什么predict的时候,作者通过双线性插值上采样过程中要令zoom=8,见下图(在VOC2012数据集上,传参时zoom是8,我试过在其他的数据集,比如cityscape,camvid等上面,zoom=8得到的结果也是效果更好,原因的话,后面就可以明白了):为了搞懂为什么选择8, 我特意给作者发了邮件,遗憾的是,石沉大海。。直到前两原创 2017-05-10 02:19:30 · 2367 阅读 · 0 评论 -
General Trainning Strategy in Caffe
首先祭出caffe.proto中对于solver.prototxt的一些参数定义: // The number of iterations for each test net. repeated int32 test_iter = 3; // The number of iterations between two testing phases. optional int32 test_原创 2017-06-04 14:32:31 · 404 阅读 · 0 评论 -
Ubuntu16.04+Caffe(CPU Only)
今天在Ubuntu上把Caffe配置好了,只不过只能按照CPU only的模式编译,因为自己的显卡是GT635M(computing capability<3),不能支持CuDNN,所以我就没考虑用GPU了。。(我觉得应该也可以试试,大不了不用CuDNN。。)闲话少说,基本上按照Caffe官网教程去装也行。我综合了许多博客和一些论坛资料,解决了一些坑后才装好,具体来说有:1.按照一个知乎专栏把dep原创 2017-02-16 21:19:40 · 455 阅读 · 0 评论 -
最大似然估计,最大后验估计和贝叶斯估计
reference: http://www.cnblogs.com/little-YTMM/p/5399532.html原创 2016-09-14 17:35:42 · 523 阅读 · 0 评论 -
台大林轩田·机器学习技法记要
台大林轩田·机器学习技法 记要6/1/2016 7:42:34 PM 第一讲 线性SVM 广义的SVM,其实就是二次规划问题把SVM问题对应到二次规划的系数这就是线性SVM,如果想变成非线性,只要把x变成phi(x)就可以了,在基石中讲过。题目:SVM蕴含正则化不同于PLA,SVM的VC维变小了考虑算法的VC维(注意,以前讨论的都是hypothesi原创 2016-06-25 18:42:04 · 9582 阅读 · 0 评论 -
生成模型与判别模型
首先摘抄一段Andrew的话,从思想上把握一下区别:Algorithms that try to learn p(y|x) directly (such as logistic regression),or algorithms that try to learn mappings directly from the space of inputs X to the labels {0, 1},原创 2016-03-07 00:06:09 · 641 阅读 · 0 评论 -
朴素贝叶斯算法(分类算法)
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没转载 2016-03-06 20:31:36 · 1347 阅读 · 0 评论 -
【CS229 lecture20】策略搜索
lecture20 强化学习最后一课 Agenda -POMDPs (partially observable MDPs) -Policy search (the main topic for today will be policy search algorithm, specificlly I’ll talk about two algorithms named Reinforced原创 2016-03-12 21:54:02 · 1632 阅读 · 0 评论 -
【CS229 lecture19】微分动态规划
首先声明一下,这节课基本没听懂,但是还是把课程笔记写下。lecture19 微分动态规划 继续强化学习算法的讨论 Agenda: 课程中段我曾讲过调试learning algorithm,今天再来将强化学习的部分: The motivating example is robotic control; first build a simulator… debugging a RL原创 2016-03-11 21:27:56 · 3403 阅读 · 4 评论