模式识别&机器学习
文章平均质量分 92
on2way
这个作者很懒,什么都没留下…
展开
-
决策树与回归树区别到底在哪
前面讲了几节决策树从底层的构造原理,更多的是面向分类的决策树,从树的用途上讲还有一种用途,那就是回归树,结构也是树,但是出来的结果是回归值。可能很多人不用回归树做任务的时候很少去管回归树,以至于有时候也不知道它们的区别,但是还是有必要掌握,因为牛逼的树算法,比如GBDT,xgboost的单棵树可不是分类树,是回归树。所谓分类树就是面向分类的,每个决策树最末端的叶子结点出来的是一个分类标签,不是0...原创 2019-03-19 21:01:03 · 28974 阅读 · 7 评论 -
深度学习系列(七):自编码网络与PCA特征学习的分类对比实验
上节我们看到自编码网络额隐含层可以用于原始数据的降维(其实也可以升维,不过把隐含层的单元设置的比输入维度还要多),换而言之就是特征学习,那么学习到的这些特征就可以用于分类了,本节主要试验下这些特征用于分类的效果。先以最简单的三层自编码网络为例,先训练自编码网络,在得到编码权值矩阵后,在后接SVM分类器,抽象出来就是如下两个步骤: 这里我们不断调整隐含层单元个数K,并观察最终的分类准确率。Ok第原创 2015-12-24 16:05:15 · 13443 阅读 · 11 评论 -
深度学习系列(六):自编码网络的特征学习
在第三节我们已经介绍了 简单网络的自编码学习 知道了自编码学习其实就是学习到了输入数据的隐含特征,通过新的特征来表征原始数据,本节将介绍如何使用这些隐含特征进行模式分类; 还是以前面的三层自编码网络: 抽象一下如下: 其中学习到的权值系数W1与W1’是不一样的,我们把W1叫做编码权值,W1’叫做译码权值,原始数据在编码权值下的新数据Y就可以视为学习到了新维度下的数据,这在第三节也说原创 2015-12-23 23:48:23 · 15642 阅读 · 0 评论 -
深度学习系列(五):一个简单深度学习工具箱
本节主要介绍一个深度学习的matlab版工具箱,DeepLearnToolbox该工具箱中的代码很简单,感觉比较适合用来学习算法。里面有常见的网络结构,包括深度网络(NN),稀疏自编码网络(SAE),CAE,深度信念网络(DBN)(基于玻尔兹曼RBM实现),卷积神经网络(CNN)等等。感谢该toolbox的作者。发现这个工具箱是在CSDN上另外一位博主的博客下发现的,该博主也很详细的介绍了该工具箱里原创 2015-12-23 21:57:18 · 19372 阅读 · 3 评论 -
深度学习系列(四):什么是稀疏编码
上节使用简单方法阐述了自编码问题与简单操作,本节将正式开始探索深度学习的相关问题,第一个问题就是稀疏编码。关于稀疏编码需要理解的几点: (1)什么是稀疏编码? (2)为什么要稀疏编码? (3)稀疏编码的实现途径。首先什么是稀疏编码?在这之前先看看稀疏表示。 从一个简单的例子说起,相信大多数人学过线性代数或者矩阵论之类的课程吧,再线性代数中,最初始的时候就会学到关于如何判断一大堆向量线性的相关原创 2015-12-23 21:48:21 · 29163 阅读 · 8 评论 -
深度学习系列(十):从卷积计算到卷积神经网络CNN
前面已经介绍了深度学习的一个模型框架:自编码器,那么从本节后来再来简单介绍一下深度学习的另一个模型框架:卷积神经网络CNN,关于CNN可能大家听说过的不能在多了,网上资源众多,各路大神总结的也是无比完美,在这里就不在copy了,重要的地方直接直接贴出那些优秀的文章,这里旨在记录一下整个思路过程以及一些简单的认识以求完整。首先贴一下网络上众多了讲解CNN的好资源吧: (1)综述性的:Deep Lea原创 2016-01-16 15:25:54 · 21442 阅读 · 0 评论 -
深度学习系列(九):详解工具箱参数及网络一种改进方式-dropout
本片主要介绍一种对于网络参数的改进方式,这也是大牛Hinton在前两年对深度网络的一个工作,主要的方法就是dropout,思想就是在训练网络的时候随机扔掉一些网络权值进行训练,其方法在前面的DeepLearnToolbox工具箱中也有集成,通过在这个工具箱中设置dropout参数可以直接实现网络中加入dropout的算法思想,本文旨在研究该工具箱时涉及到了dropout这块然后希望弄明白这块。关于d原创 2016-01-15 19:36:25 · 11050 阅读 · 1 评论 -
三大计算机视觉和机器学习库的算法汇总
主要包括有OpenCV、Weka和Matlab,另外其中包含LibSVM、Vlfeat和DeepLearnToolbox等。1.OpenCV主页:http://opencv.org/ 下载地址:http://opencv.org/downloads.html 编程环境:VS 版本:3.0.0 教程:doc\opencv_tutorials.pdf API接口:doc\opencv2refm转载 2015-09-15 11:26:18 · 6424 阅读 · 0 评论 -
Matlab转c与c++代码
作为一个强大的科学计算软件,matlab广泛运用于较多领域,以其简单的编程风格,便利的调试环境等等众多优点,在编写算法与测试的时候通常用到。然而很多的实际运用上matlab毕竟还不是很普及,相反还是c与c++更多。同时正版matlab这样一个昂贵的软件大家都懂得。有的时候我们在使用到国外许多人开发的matlab版的算法工具箱的时候想把它变成c与c++版本的很困难,那么所以如何将matlab程序编程c原创 2015-10-17 15:36:38 · 79889 阅读 · 9 评论 -
实战EM算法与图像分割
EM 算法是求参数极大似然估计的一种方法,它可以从非完整数据集中对参数进行估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据、截尾数据以及带有噪声等所谓的不完全数据,可以具体来说,我们可以利用EM算法来填充样本中的缺失数据、发现隐藏变量的值、估计HMM中的参数、估计有限混合分布中的参数以及可以进行无监督聚类等等。贴相关几个好文章:从最大似然到EM算法浅解混合高斯模型(Mixtu原创 2015-08-06 21:54:05 · 12349 阅读 · 12 评论 -
从贝叶斯理论到图像马尔科夫随机场
本节主要介绍马尔科夫的随机场模型以及其用于图像的分割算法中。基于马尔科夫的随机场(MRF)的图像分割是一种基于统计的图像分割算法,其模型参数少,空间约束性强,使用较为广泛。首先了解一下马尔科夫模型,纯粹的马尔科夫模型就是指一件事物的当前状态只与它之前的1个或者n个状态有关,而与再之前的状态没有关系,比如今天天气好坏只与昨天天气有关,而与前天乃至大前天都没有关系。符合这样的一种特性的事物认为其具有马尔原创 2015-08-06 01:21:36 · 24871 阅读 · 21 评论 -
深度学习系列(八):自编码网络多层特征学习
上节我们谈到了三层自编码网络的特征学习,并将其学习到的特征用于实际分类实验中,并与传统的PCA特征提取方法作了实验对比,发现在三层网络下自编码学习的特征能更好用于分类,达到分类准确率更高,本节我们将再一次探索自编码网络的特征学习问题,并且是深层网络的自编码学习。首先来探索四层网络的自编码问题,还是以手写体为例,网络抽象成下面这样子: 假设我们第一层隐含层用200个神经元,第二层K个(可以固定也可原创 2015-12-24 22:44:00 · 9734 阅读 · 13 评论 -
解密SVM系列(一):关于拉格朗日乘子法和KKT条件
写在之前 支持向量机(SVM),一个神秘而众知的名字,在其出来就受到了莫大的追捧,号称最优秀的分类算法之一,以其简单的理论构造了复杂的算法,又以其简单的用法实现了复杂的问题,不得不说确实完美。 本系列旨在以基础化的过程,实例化的形式一探SVM的究竟。曾经也只用过集成化的SVM软件包,效果确实好。因为众人皆说原理复杂就对其原理却没怎么研究,最近经过一段时间的研究感觉其原理还是可以理解,这原创 2015-08-17 18:53:39 · 79645 阅读 · 57 评论 -
“我爱智能”原创性博客索引
不知不觉,博客也写出了一点小体系,新的阶段已经开始,未来希望再接再厉继续补充这一体系,在成长中写博客,在博客中成长,在此先做一个小的梳理,谢谢大家的支持。一)关于深度学习系列深度学习系列-前言:深度学习的好教程 深度学习系列(二):从神经网络到深度学习 深度学习系列(三):简单网络的自编码学习 深度学习系列(四):什么是稀疏编码 深度学习系列(五):一个简单深度学习工具箱深度学习系列(六):原创 2015-08-29 22:07:53 · 5521 阅读 · 4 评论 -
决策树与随机森林与GBDT
本节简单介绍下随机森林。前面花了两节详细介绍过决策树的核心内容,这对于理解随机森林算法很重要。随机森林与SVM应该来说被视为传统机器学习效果最好的两大算法,是值得每个机器学习从业者深入了解的,从最底层的原理到上层的应用,内部的每个核心细节等等。关于SVM的每个细节,先前的文章有介绍,文末也有参考链接。回归正题,说完决策树,说说随机森林,我们知道决策树是单独的一棵树,是根据所有训练样本的所有特征...原创 2019-03-19 20:55:20 · 2124 阅读 · 0 评论 -
决策树:属性的选择(续)
接先前一节总结决策树的,还有一些问题。上节的参考:决策树:从特征的重要程度说起上节主要介绍了决策树的构造方法,以及非常重要一部分是对于每个节点的特征属性是怎么选择的,这是决策树的核心。比较原始的是基于信息熵与信息增益的方法做的,这也对应着最开始的ID3方法。为了改进ID3,出现了基于信息增益率的特征选择以及基于基尼系数的特征选择方法。对应起来就是:(1)信息增益 -> ID3(2)...原创 2019-03-19 20:52:07 · 1407 阅读 · 0 评论 -
arxiv上传latex文章的方法与坑
如果想在arxiv上挂出文章,通常可以挂pdf与latex两种格式的,如果pdf是由latex生成的话,一般只能上传latex源文件,不支持pdf的上传。arxiv上上传latex主要包括以下几个部分,尤其上传文件线上编译一步具有一些坑需要注意。第一步:注册账号,填写学校后缀邮箱,免去可能的上传权限审核;第二至六步:填写一些基本信息与设置,参考网上的图:新建提交:填写信息第七...原创 2019-01-06 18:20:17 · 28530 阅读 · 7 评论 -
《统计学习方法》python代码资料
分享一则资料,《统计学习方法》的python实现代码。《统计学习方法》是李航的一本书,是比较基础经典的一本书,书中更多的是对基础传统机器学习的理论介绍,没有任何代码,这算是对代码的补充。另外一本书《机器学习实战》,是包含部分理论与代码的书,也很经典,我看了下代码,网友整理的这个代码好多就是从这本书上来的,因为这两本书都是基础类的书,重叠部分还是很多的。但是整体来说《统计学习方法》理论东西更多,...转载 2018-12-23 20:57:44 · 2338 阅读 · 0 评论 -
决策树:从特征的重要程度说起
开始陆续介绍决策树与随机森林,理解原理与会用来做分类算法是其一,更重要的是要理解决策树构造的精髓并加以推广应用才是算融会贯通。先来看看所谓的树结构,其实很简单,就是从一个节点往下依次不断分裂节点的一种结构,比如下面这个图描述的是根据一个人的信息(包括职业、年龄、收入、学历)去判断他是否有贷款的意向的树结构图:可以看到,所谓的树结构其实就是一大堆有顺序的if-else条件判断语句的组合,如果职...原创 2018-12-23 20:48:39 · 11651 阅读 · 0 评论 -
吴恩达新书-Machine Learning Yearning 中英文版(全)
介绍一本吴恩达新书,说新也不新,出来也有好大半年了,也许你早就看过,如果没有可以看看。这是一本面向实战类的书,讲述的是吴恩达自己关于项目类的比较高认识的总结,吴恩达称:这本书的主题是“如何构建机器学习项目”。“这本书的重点不在于教授具体的机器学习算法,而在于如何使机器学习算法真正发挥作用。有一些技术类的人工智能课程会给你一个锤子;而这本书会教你如何使用这个锤子。如果你渴望成为人工智能领域的技术...转载 2018-11-06 09:28:59 · 4966 阅读 · 0 评论 -
机器学习之实战朴素贝叶斯算法
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类,而朴素贝叶斯分类可谓是里面最简单、入门的一种。首先关于贝叶斯定理,感觉简单而伟大,前些天一直在看吴军的数学之美(没看过的极力推荐)系列文章,看到自然语言处理从规则模型到统计模型转变的时候,语言的识别准确率上升好几个等级,以至于今天的语言识别到达很强大的地步,同时对于搜索引擎,网页搜索的准确率,也上升好多。这其中的最最重原创 2015-08-05 11:46:26 · 8685 阅读 · 9 评论 -
解密SVM系列(五):matlab下libsvm的简单使用:分类与回归
本节简单介绍一下libsvm的使用方法。关于libsvm似乎曾经使用过,那个时候主要用libsvm进行简单的人脸识别实验。当时还翻译过关于libsvm里面的matlab英文文档介绍与分类实验那么现在最新版本的libsvm为3.2.0,下载地址如下: http://www.csie.ntu.edu.tw/~cjlin/libsvm/下载下来的libsvm其实包含好多个平台的工具箱软件,c++,mat原创 2015-08-17 22:33:28 · 67866 阅读 · 22 评论 -
机器学习之白话与实战adaboost元算法
作为(曾)被认为两大最好的监督分类算法之一的adaboost元算法(另一个为前几节介绍过的SVM算法),该算法以其简单的思想解决复杂的分类问题,可谓是一种简单而强大的算法,本节主要简单介绍adaboost元算法,并以实例看看其效果如何。该算法简单在于adaboost算法不需要什么高深的思想,它的基础就是一个个弱小的元结构(弱分类器),比如就是给一个阈值,大于阈值的一类,小于阈值的一类,这样的最简单的原创 2015-08-21 18:18:44 · 8574 阅读 · 12 评论 -
解密SVM系列(二):SVM的理论基础
上节我们探讨了关于拉格朗日乘子和KKT条件,这为后面SVM求解奠定基础,本节希望通俗的细说一下原理部分。一个简单的二分类问题如下图: 我们希望找到一个决策面使得两类分开,这个决策面一般表示就是WTX+b=0W^TX+b=0,现在的问题是找到对应的W和b使得分割最好,知道logistic分类 机器学习之logistic回归与分类的可能知道,这里的问题和那里的一样,也是找权值。在那里,我们是根据每原创 2015-08-17 19:14:40 · 25254 阅读 · 42 评论 -
解密SVM系列(三):SMO算法原理与实战求解
上节我们讨论到解SVM问题最终演化为求下列带约束条件的问题: minW(α)=12(∑i,j=1Nαiyiαjyjxi∗xj)−∑i=1Nαis.t.0≤αi≤C∑i=1Nαiyi=0min\quad W(\alpha)=\dfrac{1}{2}(\sum_{i,j=1}^{N}\alpha_iy_i\alpha_jy_jx_i*x_j)-\sum_{i=1}^{N}\alpha_i\\s.t.原创 2015-08-17 19:39:47 · 31128 阅读 · 60 评论 -
解密SVM系列(四):SVM非线性分类原理实验
前面几节我们讨论了SVM原理、求解线性分类下SVM的SMO方法。本节将分析SVM处理非线性分类的相关问题。一般的非线性分类如下左所示(后面我们将实战下面这种情况): 可以看到在原始空间中你想用一个直线分类面划分开来是不可能了,除非圆。而当你把数据点映射一下成右图所示的情况后,现在数据点明显看上去是线性可分的,那么在这个空间上的数据点我们再用前面的SVM算法去处理,就可以得到每个数据点的分类情况原创 2015-08-17 20:28:45 · 19362 阅读 · 11 评论 -
详解matlab之简易2048制作
详解matlab之简易2048制作详解matlab之简易2048制作一制作之前1关于初始化2运行时出现2的位置问题3移动方向问题4关于数字合并5关于游戏怎么结束6其他还有什么就看着需要办吧二实现过程1关于空位置补充一个22关于移动后的操作三关于具体某个方向的操作1上操作2下操作3左操作4右操作四命令窗口模拟显示五关于matlab的GUI实现一):制作之前小游戏204原创 2015-05-11 15:09:28 · 10441 阅读 · 2 评论 -
最小二乘法与matlab拟合工具箱cftool
一)关于最小二乘法百度百科解释:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。用于数据拟合,直观的认识如下图所示:实际中你的数据可能是绿线所表示的那样(当然多数时候是离散的点),很明显,这样的数据没有规律也不光原创 2015-05-03 16:21:41 · 47147 阅读 · 7 评论 -
matlab之简单粒子群的函数寻优
沉寂了好久,再来CSDN,寻找那一片蔚蓝的天空;编辑环境变了呀,试一下Markdown编辑器一:关于粒子群算法粒子群算法是一种智能优化算法。关于智能,个人理解,不过是在枚举法的基础上加上了一定的寻优机制。试想一下枚举法,假设问题的解空间很小,比如一个函数 y = x^2 ,解空间在[-1,1],现在求这个函数的最小值,我们完全可以使用枚举法,比如在这里,在解空间[-1,1]上,取1000等分,也就原创 2015-03-28 10:35:45 · 12234 阅读 · 3 评论 -
理解矩阵特征值与特征向量
从线性空间的角度看,在一个定义了内积的线性空间里,对一个N阶对称方阵进行特征分解,就是产生了该空间的N个标准正交基,然后把矩阵投影到这N个基上。N个特征向量就是N个标准正交基,而特征值的模则代表矩阵在每个基上的投影长度。特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多。(1)应用到最优化中,意思就是对于R的二次型,自变量在这个方向上变化的时候,对函数值的影响最大,也就是该转载 2014-12-25 18:50:33 · 8142 阅读 · 0 评论 -
聚类分析笔记-K均值matlab算法(一)
一:介绍关于聚类分析算法,类型较多,用法也不同。先收集一些网上的相关博客,有兴趣可以看看:1.聚类分析综述:http://blog.csdn.net/assiduousknight/article/details/168319652.这个博主整了个聚类分析系列,很好呀,原理介绍部分棒,部分程序是用Java语言写的,熟悉的可以看看。 贴其中一个索引:http://blog.csdn原创 2014-12-09 20:12:02 · 22213 阅读 · 0 评论 -
主成分分析法-简单人脸识别(一)
一)主成分分析法 主成分分析法,即PCA算法,直观上来讲就是一种降维方法,例如某件事可能受到好多个因素的影响,假如有ABCDEFG这7个因素,但是呢其中有ABC三个因素对事件的影响基本上是相同的,那么就可以把ABC三个因素用其中的一个因素代替,或者把ABC组合一下用一个全新的因素H来代替,这样因素就降为了4个,实现了降维的过程。主成分分析最大的好处就是降维,使得数据的处理更容易,速度原创 2014-12-26 19:20:09 · 13783 阅读 · 0 评论 -
主成分分析-简单人脸识别(二)
一):人脸预准备(文章说明:正常的人脸识别时,需要的是足够多的样本来进行训练,以期达到准确率高的目的。这里,只是尝试运用PCA算法基本上实现人脸的识别。)那么我所使用到的人脸模板就是简单的12张处理过的人脸图像(很多是直接从网上下载的,有涉及到肖像权的请通知哈~_~!)。正常情况下,为了使算法更好,怎么也得好多个不同的人脸图片吧,对每张脸来说,怎么也得好几副不同的图像才可以达到很好的效原创 2014-12-27 10:36:43 · 10196 阅读 · 1 评论 -
局部二值模式LBP-简单人脸识别(三)
一)局部二值模式简介前面介绍过关于主成分分析法的识别方法,这个方法是选取的整幅图像的主成分分量来作为新的特征,从某种意义上说这是一种基于全局特征的方法。但是一般图像识别中,仅仅使用全局特征是不够的,获得的识别率较低,更多的时候,表征一副图像的特征也缺少不了局部特征。那么局部二值模式(LBP)就是这样一种表征局部特征的方法。介绍性原理的文章很多,这里贴个较好的:人脸识别经原创 2014-12-28 22:02:49 · 8920 阅读 · 0 评论 -
主成分分析-特征向量计算改进(1.1)
一)对PCA协方差的改进 这两天运行着人脸识别的相关程序发现,当数据量一大的时候,比如一个样本集合,随便的就有12*6750等等,在求这个矩阵的协方差与特征向量的时候,按照上一篇的介绍:主成分分析-简单人脸识别(二)使用到里面的Cell_all = PCA(img,k) 函数,会发现一般运行时间都会很久,其实正常在求取大矩阵的协方差特征值与特征向量的时候确实会很麻原创 2014-12-29 20:23:38 · 5856 阅读 · 0 评论 -
PCA实验人脸库-人脸识别(四)
一):人脸数据库AR人脸库(包含50位男性和50位女性每人26张人脸共2600张人脸图片 ):http://www.datatang.com/data/46195ORL人脸库(包含40个人的每人10张人脸的共400张人脸):http://www.cl.cam.ac.uk/Research/DTG/attarchive:pub/data/att_faces.tar.Z或者原创 2015-01-04 13:32:38 · 24877 阅读 · 23 评论 -
PCA+支持向量机-人脸识别(五)
一):实验准备 本篇可以接上篇:PCA实验人脸库-人脸识别(四)对于上篇中数据库ORL人脸库和AR人脸库(下载地址在上篇中有),在上篇中讨论的单纯的PCA算法对两个数据库进行了准确率计算,本篇为了提高识别准确率,特采用一种新方法,并结合PCA一起实现识别,实验结果发现该方法能明显提高两者数据库的识别率。二):关于支持向量机一直以来感觉支持向量机是一个神奇的算法,当然里面的原创 2015-01-08 16:40:01 · 9435 阅读 · 7 评论 -
图像滤波函数imfilter函数的应用及其扩展
一)认识imfilter函数 imfilter函数叫做实现线性空间滤波函数,主要功能可以实现多维数组的滤波,在图像领域就是对图像进行滤波。 滤波是一个统一的概念,在图像领域,图像的去除噪声点,图像提取边缘,图像平滑、模糊、增强等等都可以看成滤波。 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,…)原创 2015-07-02 09:46:57 · 10415 阅读 · 0 评论 -
图像分割之图割工具箱GCO3.0的使用(二)
一):之前之前在博客 matlab实现图割算法中的最大流最小割Max-flow/min-cut问题 中我们讲到了关于图中求取最小割最大流的一个软件包,并简单介绍了它在图像分割中的应用,但是并没有深入给出具体实例,这里我们再在最小割最大流原理基础上介绍同一个研究所出的另一种集成的软件包gco-v3.0,这个软件包则是直接可以对图像进行分割操作的,达到可以观测的效果。 关于软件包gco-v3.0原创 2015-07-03 16:00:37 · 15158 阅读 · 19 评论 -
Python下opencv使用笔记(十二)(k均值算法之图像分割)
k均值(kmeans)聚类是一种最为简单的聚类方法,直接根据数据点之间的距离(欧氏距离,几何距离等等)来划分数据是属于哪一类的,当所有数据点所属的类别不在变化的时候,聚类也就完成了。详细原理可索引下面一个博客:聚类分析笔记-K均值matlab算法(一)关于kmeans再谈几点认识:重要的一点:聚类数目的问题。有的聚类、分类问题已经限制好了要聚类成几类,也就是聚类数目一定,那么这种聚类通常简单些,直原创 2015-07-24 11:46:17 · 29819 阅读 · 10 评论