
机器学习
文章平均质量分 89
小村长
大学在校研究生一枚,关注方向:计算机视觉,数据结构,C希望和大家交流,共同提高
微博:http://weibo.com/u/2653613245 欢迎交流!
展开
-
机器学习实战笔记1(机器学习基础)
1:如何选择合适的算法2:python简介(1) python的优势:相对于matlab,matlab单个软件授权就要花费数千美元,也没有一个有影响力的大型开源项目。相对于c++/c/java,完成简单的操作就需要编写大量的代码;而如今我们应该花费更多的时间去处理数据内在的含义,而无需花费太多精力解决计算机如何得到数据结果(python简洁)(2) python原创 2014-07-16 22:00:14 · 4987 阅读 · 7 评论 -
奇异值分解及应用(PCA&LSA)
这里我省去了很多的数学知识,建议数学比较薄弱的读者可以先看看信息检索导论>第18章。主要的数学知识包括方阵的特征值、特征向量;方阵的对角化;一般矩阵的奇异值分解及低秩逼近矩阵。这里主要讲解奇异值分解的两个应用PCA(降维)和LSA(潜在语义结构分析)。PCA:之前有详细讲过PCA,http://blog.youkuaiyun.com/lu597203933/article/details/415445原创 2015-05-21 23:10:48 · 4286 阅读 · 0 评论 -
【机器学习系列】机器学习界大牛林达华推荐的书籍
Recommended BooksHere is a list of books which I have read and feel it is worth recommending to friends who are interested in computer science.Machine LearningPattern Recognition and M转载 2015-07-08 21:02:45 · 4560 阅读 · 0 评论 -
DeepLearning to digit recognizer in kaggle
DeepLearning to digit recongnizer in kaggle 最近在看deeplearning,于是就找了kaggle上字符识别进行练习。这里我主要用两种工具箱进行求解,并比对两者的结果。两种工具箱分别是DeepLearningToolbox和caffe。DeeplearningToolbox源码解析见:http://blog.youkuaiyun.com/lu5原创 2015-07-03 15:35:15 · 5212 阅读 · 3 评论 -
百度图像搜索探秘
昨天,百度上线了新的相似图(similarimage search)搜索,试了风景、人物、文字等不同类型query的效果,感觉效果非常赞。尤其对于人物搜索,返回的结果在颜色、以及姿态方面具有非常大的相似性。特别是在输入某个pose的美女图片时,会搜到一系列相近pose的美女图片,真的是宅男之福啊。本着娱乐精神,贴一个搜索结果供大家yy。我们知道这个产品底层的技术是余凯老师领导的转载 2015-05-27 09:28:28 · 2803 阅读 · 0 评论 -
机器学习实战笔记7(Adaboost)
1:简单概念描述 Adaboost是一种弱学习算法到强学习算法,这里的弱和强学习算法,指的当然都是分类器,首先我们需要简单介绍几个概念。1:弱学习器:在二分情况下弱分类器的错误率会高于50%。其实任意的分类器都可以做为弱分类器,比如之前介绍的KNN、决策树、Naïve Bayes、logiostic回归和SVM都可以。这里我们采用的弱分类器是单层决策树,它是一个单节点的决策树。原创 2014-08-18 21:26:57 · 11706 阅读 · 4 评论 -
理解矩阵及谱聚类小记
最近看了一些矩阵和谱聚类的知识,特在此简单记录一下。详细可以先看下参考文献。首先看到的是孟岩写的三篇.一:理解矩阵(一)1:传统书籍空间的定义:存在一个集合,在这个集合上定义某某概念,然后满足某些性质”,就可以被称为空间。孟的空间包含四点:(1). 由很多(实际上是无穷多个)位置点组成;(2). 这些点之间存在相对的关系;(3). 可以在空间中定义长度、角度;4.这个空间可以容纳运原创 2014-12-15 16:52:08 · 4990 阅读 · 1 评论 -
Ubuntu14.10+cuda7.0+caffe配置
Ubuntu14.10+cuda7.0+caffe配置一:linux安装Linux安装不说了,我这里安装的是ubuntu14.10 二:nVidia驱动和CUDA Toolkit的安装和调试(*.run方法)1: Verify You Have a CUDA-Capable GPU执行下面的操作,然后验证硬件支持GPU CUDA,只要型号存在于https://develop原创 2015-07-03 15:27:33 · 22914 阅读 · 4 评论 -
UFLDL教程笔记及练习答案六(稀疏编码与稀疏编码自编码表达)
稀疏编码(SparseCoding)sparse coding也是deep learning中一个重要的分支,同样能够提取出数据集很好的特征(稀疏的)。选择使用具有稀疏性的分量来表示我们的输入数据是有原因的,因为绝大多数的感官数据,比如自然图像,可以被表示成少量基本元素的叠加,在图像中这些基本元素可以是面或者线。稀疏编码算法的目的就是找到一组基向量使得我们能将输入向量x表示成这些基向量原创 2015-06-14 10:34:35 · 6312 阅读 · 1 评论 -
UFLDL教程笔记及练习答案二(预处理:主成分分析和白化)
首先将本节主要内容记录下来,然后给出课后习题的答案。笔记:1:首先我想推导用SVD求解PCA的合理性。 PCA原理:假设样本数据X∈Rm×n,其中m是样本数量,n是样本的维数。PCA降维的目的就是为了使将数据样本由原来的n维降低到k维(k<n)。方法是找数据随之变化的主轴,在Andrew Ng的网易公开课上我们知道主方向就是X的协方差所对应的最大特征值所对应的特征向量的原创 2015-06-09 10:51:11 · 6410 阅读 · 0 评论 -
UFLDL教程笔记及练习答案五(自编码线性解码器与处理大型图像**卷积与池化)
自动编码线性解码器自动编码线性解码器主要是考虑到稀疏自动编码器最后一层输出如果用sigmoid函数,由于稀疏自动编码器学习是的输出等于输入,simoid函数的值域在[0,1]之间,这就要求输入也必须在[0,1]之间,这是对输入特征的隐藏限制,为了解除这一限制,我们可以使最后一层用线性函数及a = z习题答案:SparseAutoEncoderLinerCost.mfunctio原创 2015-06-11 22:00:08 · 4018 阅读 · 2 评论 -
UFLDL教程笔记及练习答案四(建立分类用深度学习---栈式自编码神经网络)
此次主要由自我学习过度到深度学习,简单记录如下:(1)深度学习比浅层网络学习对特征具有更优异的表达能力和紧密简洁的表达了比浅层网络大的多的函数集合。(2)将传统的浅层神经网络进行扩展会存在数据获取、局部最值和梯度弥散的缺点。(3)栈式自编码神经网络是由多层稀疏自编码器构成的神经网络(最后一层采用的softmax回归或者logistic回归分类),采用逐层贪婪的训练方法得到初始的参数,这原创 2015-06-11 13:33:48 · 6750 阅读 · 9 评论 -
UFLDL教程笔记及练习答案三(Softmax回归与自我学习***)
1:softmax回归当p(y|x,theta)满足多项式分布,通过GLM对其进行建模就能得到htheta(x)关于theta的函数,将其称为softmax回归。教程中已经给了cost及gradient的求法。需要注意的是一般用最优化方法求解参数theta的时候,采用的是贝叶斯学派的思想,需要加上参数theta。习题答案:(1) 数据加载——————代码已给(2) %% STEP原创 2015-06-09 21:45:22 · 7326 阅读 · 2 评论 -
机器学习实战笔记之非均衡分类问题
通常情况下,我们直接使用分类结果的错误率就可以做为该分类器的评判标准了,但是当在分类器训练时正例数目和反例数目不相等时,这种评价标准就会出现问题。这种现象也称为非均衡分类问题。此时有以下几个衡量标准。(1) 正确率和召回率 如下图所示:其中准确率指预测的真实正例占所有真实正例的比例,等于TP/(TP+FP),而召回率指预测的真实正例占所有真实正例的比例,等于T原创 2014-08-18 22:01:17 · 6123 阅读 · 0 评论 -
信息检索的评价指标(Precision, Recall, F-score, MAP)
之前写过一篇blog叫做机器学习实战笔记之非均衡分类问题:http://blog.youkuaiyun.com/lu597203933/article/details/38666699其中对Precision和Recall及ROC都有所讲解,其中区别在于Precision,Recall, F-score, MAP主要用于信息检索,而ROC曲线及其度量指标AUC主要用于分类和识别,ROC的详细介绍见上面的b原创 2014-12-08 12:39:36 · 40116 阅读 · 2 评论 -
概念主题模型简记
概念主题模型(PTM, probabilitytopical model)在自然语言处理(NLP,natural language processing)中有着重要的应用。主要包括以下几个模型:LSA(latentsemantic analysis)、 PLSA(probability latent semantic analysis)、LDA(latentdirichlet allocati原创 2015-05-23 13:13:17 · 7878 阅读 · 1 评论 -
深度学习笔记1(卷积神经网络)
深度学习笔记1(卷积神经网络) 在看完了UFLDL教程之后,决定趁热打铁,继续深度学习的学习,主要想讲点卷积神经网络,卷积神经网络是深度学习的模型之一,还有其它如AutoEncoding、Deep Belief Network、Restricted Boltzmann Machine和sparse coding等。 在UFLDL教程中提到了针对大型图像的处理原创 2015-06-20 21:49:26 · 17361 阅读 · 6 评论 -
PCA降维简介
PCA全称为principal componentanalysis,即主成成分分析,用于降维。对数据进行降维有很多原因。比如: 1:使得数据更易显示,更易懂 2:降低很多算法的计算开销 3:去除噪声一:基本数学概念1:方差均值太简单了,不说了。方差是各个数据分别与其和的平均数之差的平方的和的平均数,用字母D表示。计算公式如下:原创 2014-11-27 13:09:39 · 47520 阅读 · 1 评论 -
UFLDL教程练习答案一(稀疏自编码器和矢量化编程实现)
最近想研究下深度学习,一开始就看UFLDL(unsuprisedfeature learning and deep learning)教程了,特将课后习题答案放在这里,作为一个笔记。笔记:1:自编码算法是一个无监督学习算法,它通过学习hw,b(x) = x,因此最后的outputlayer单元数与inputlayer单元数量相等,而中间的hiddenlayer可以很大,这是加个稀疏惩罚原创 2015-06-07 21:14:38 · 6076 阅读 · 5 评论 -
文本语言模型的参数估计-最大似然估计、MAP及贝叶斯估计
转自:http://blog.youkuaiyun.com/yangliuy/article/details/8296481以PLSA和LDA为代表的文本语言模型是当今统计自然语言处理研究的热点问题。这类语言模型一般都是对文本的生成过程提出自己的概率图模型,然后利用观察到的语料数据对模型参数做估计。有了语言模型和相应的模型参数,我们可以有很多重要的应用,比如文本特征降维、文本主题分析等等。本文主要介绍转载 2015-05-23 12:58:46 · 2413 阅读 · 0 评论 -
meanshift算法
meanshift主要用来做目标跟踪和图像分割。转载自:http://www.cnblogs.com/liqizhou/archive/2012/05/12/2497220.html记得刚读研究生的时候,学习的第一个算法就是meanshift算法,所以一直记忆犹新,今天和大家分享一下Meanshift算法,如有错误,请在线交流。Mean Shift算法,一般是指一个迭代转载 2013-11-30 17:07:18 · 4096 阅读 · 1 评论 -
机器学习实战笔记2(k-近邻算法)
1:算法简单描述 给定训练数据样本和标签,对于某测试的一个样本数据,选择距离其最近的k个训练样本,这k个训练样本中所属类别最多的类即为该测试样本的预测标签。简称kNN。通常k是不大于20的整数,这里的距离一般是欧式距离。2:python代码实现创建一个kNN.py文件,将核心代码放在里面了。(1) 创建数据#创造数据集def createDataSet():原创 2014-07-19 22:22:17 · 14529 阅读 · 14 评论 -
机器学习实战笔记6(SVM)
鉴于July大哥的SVM三层境界(http://blog.youkuaiyun.com/v_july_v/article/details/7624837)已经写得非常好了,这里我就不详细描述,只是阐述简单的几个概念。如果看SVM三层境界有困惑,我也愿意与大家交流,共同进步。简单概念描述:(1) 支持向量机(SVM, support vectormachine)就是通过最大化支持向量到分类超平原创 2014-08-12 20:33:00 · 4979 阅读 · 2 评论 -
机器学习实战笔记9(Apriori算法)
Apriori算法也属于无监督学习,它强调的是“从数据X中能够发现什么”。从大规模的数据集中寻找物品之间隐含关系被称为关联分析或者称为关联规则学习。这里的主要问题在于,寻找物品的不同组合是一项十分耗时的任务,所需的计算代价很高,蛮力搜索并不能解决这个问题。因此此处介绍使用Apriorio算法来解决上述问题。1:简单概念描述(1) 频繁项集:指经常出现在一块的物品的原创 2014-09-09 19:18:58 · 13076 阅读 · 3 评论 -
机器学习实战笔记5(logistic回归)
1:简单概念描述假设现在有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归。训练分类器就是为了寻找最佳拟合参数,使用的是最优化算法。基于sigmoid函数分类:logistic回归想要的函数能够接受所有的输入然后预测出类别。这个函数就是sigmoid函数,它也像一个阶跃函数。其公式如下:其中: z = w0x0+w1x1+….+wnxn,w原创 2014-08-10 11:12:59 · 25889 阅读 · 38 评论 -
VC维
有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念。在读《神经网络原理》的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料,又参考了一些网络上的资料(主要是这篇,不过个人感觉仍然没有抓住重点),重新思考了一下,终于理解了这个定义所要传达的思想。 先要介绍分散(shatter)的概念:对于一个给定集合S={x1, ... ,xd},如果一个假设类H能够原创 2015-04-13 20:54:23 · 3626 阅读 · 0 评论 -
机器学习实战笔记4(朴素贝叶斯)
前面介绍的kNN和决策树都给出了“该数据实例属于哪一类”这类问题的明确答案,而有时候的分类并不能给出明确的答案,本节讲解使用概率论进行分类的方法。1:简单概念描述概念比较简单,这里我摘抄自百度百科,很容易理解。朴素贝叶斯模型(NaiveBayesian classification)):----Vmap=arg max P( Vj | a1,a2...an)Vj属于V集合原创 2014-08-08 21:20:37 · 9771 阅读 · 14 评论 -
最小二乘法和最大似然估计
一:背景:当给出我们一些样本点,我们可以用一条直接对其进行拟合,如y= a0+a1x1+a2x2,公式中y是样本的标签,{x1,x2,x3}是特征,当我们给定特征的大小,让你预测标签,此时我们就需要事先知道参数{a1,a2}。而最小二乘法和最大似然估计就是根据一些给定样本(包括标签值)去对参数进行估计参数估计的方法>。 二:最小二乘法:基本思想:简单地说,最小二乘的思想就是要使得观原创 2015-04-13 21:46:22 · 17817 阅读 · 0 评论 -
最大熵模型简记
最近两天简单看了下最大熵模型,特此做简单笔记,后续继续补充。最大熵模型是自然语言处理(NLP, nature language processing)被广泛运用,比如文本分类等。主要从分为三个方面,一:熵的数学定义;二:熵数学形式化定义的来源;三:最大熵模型。注意:这里的熵都是指信息熵。一:熵的数学定义:下面分别给出熵、联合熵、条件熵、相对熵、互信息的定义。 熵:如果一个随机原创 2015-05-11 22:55:48 · 3175 阅读 · 0 评论 -
机器学习实战笔记8(kmeans)
前面的7次笔记介绍的都是分类问题,本次开始介绍聚类问题。分类和聚类的区别在于前者属于监督学习算法,已知样本的标签;后者属于无监督的学习,不知道样本的标签。下面我们来讲解最常用的kmeans算法。1:kmeans算法 Kmeans中文称为k-均值,步骤为:(1)它事先选定k个聚类中心,(2)然后看每个样本点距离那个聚类中心最近,则该样本就属于该聚类中心。(3)求每个聚类中心的样本原创 2014-09-09 13:22:19 · 7412 阅读 · 0 评论 -
机器学习实战笔记3(决策树与随机森林)
决策树的优势就在于数据形式非常容易理解,而kNN的最大缺点就是无法给出数据的内在含义。1:简单概念描述 决策树的类型有很多,有CART、ID3和C4.5等,其中CART是基于基尼不纯度(Gini)的,这里不做详解,而ID3和C4.5都是基于信息熵的,它们两个得到的结果都是一样的,本次定义主要针对ID3算法。下面我们介绍信息熵的定义。 事件ai发生的概率用p(ai原创 2014-07-21 21:26:44 · 15145 阅读 · 7 评论 -
贝叶斯网络
贝叶斯网络、马尔科夫随机场(MRF, Markov RandomField)和因子图都属于概念图,因此它们都归属于机器学习中的概念图模型(PGM,Probability Graphical Model).一:定义贝叶斯网络,又称信念网络(Belief Network, BN),或有向无环图模型,是由一个有向无环图(DAG,Directed acyclic graphical model原创 2015-05-16 10:23:34 · 8634 阅读 · 0 评论 -
CNN公式推导
CNN公式推导1 前言 在看此blog之前,请确保已经看懂我的前两篇blog【深度学习笔记1(卷积神经网络)】和【BP算法与公式推导】。并且已经看过文献[1]的论文【Notes on Convolutional Neural Networks】。因为本文就是讲解文献[1]论文前部分公式的推导过程这里有一个假设,或许公式是错误的,如有好的理解请留言>。2 CNN公式推导原创 2015-06-20 22:30:01 · 44043 阅读 · 5 评论 -
BP算法与公式推导
BP(backpropgationalgorithm ):后向传导算法,顾名思义就是从神经网络的输出(顶层)到输入(底层)进行求解。那么求解什么呢,求解的就是神经网络中的参数的导数,即参数梯度方向,从而就可以使用梯度下降等求解无约束问题(cost function的最值)的方法求得最终的参数。神经网络前向传播的过程比较简单,这里不做讲解(如果不了解,可以参看文献)。1.问题分析1.1 Co原创 2015-06-20 21:58:01 · 43177 阅读 · 3 评论 -
Lire源码解析一
Lucene image retrieval是以图搜图的java开源框架,这几天没什么事,就读了点源码,并写了点注释,特在这分享给大家。这里主要给出的是BOVWBuilder.java、Kmeans.java及Cluster.java。就是用词频对特征进行编码,用到是BOF(bag of feature)模型,原理就是提取N张图片的特征(比如sift),放在一起就可以得到矩阵,然后对矩阵进原创 2015-06-02 19:27:51 · 2924 阅读 · 0 评论 -
DeepLearnToolBox中CNN源码解析
DeepLearnToolbox是一个简单理解CNN过程的工具箱,可以在github下载。为了理解卷积神经网络的过程,我特此对CNN部分源码进行了注释。公式的计算可以由上一篇blog推导得出。 注意:代码中没有的subsampling进行设置参数,将subsampling层的参数w就设置为了0.25,而偏置参数b设置为0。卷积层计算过程为上一层所有feature map的卷积的原创 2015-06-20 22:36:34 · 43050 阅读 · 23 评论 -
【深度学习】caffe 中的一些参数介绍
转自 http://blog.youkuaiyun.com/cyh_24目录(?)[+]caffe 参数介绍solver.prototxtnet: "models/bvlc_alexnet/train_val.prototxt" test_iter: 1000 # test_interval: 1000 # base_lr: 0转载 2016-08-22 20:39:35 · 3901 阅读 · 0 评论