自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(60)
  • 收藏
  • 关注

转载 Maven项目中pom文件分析

pom英文全称:projectobjectmodel1、概述pom.xml文件描述了maven项目的基本信息,比如groupId,artifactId,version等。也可以对maven项目的远程仓库,打包形式,资源依赖关系等进行配置。一个最简单的pom.xml文件至少需要包含四个元素:modelVersion,groupId,artiffactId和version...

2016-02-01 15:08:00 187

转载 隐马尔可夫模型(HMM)原理

本文主要讨论隐马尔科夫模型的三大要素,三大假设和三大问题。1、引入  隐马尔可夫模型是一个关于时序的概率模型,它描述了一个由隐藏的马尔可夫链生成状态序列,再由状态序列生成观测序列的过程。其中,状态之间的转换以及观测序列和状态序列之间都存在一定的概率关系。隐马尔可夫模型主要用来对上述过程进行建模。为了方便后面的讨论,我们先定义一些符号:  设共有N个隐藏状态,状态集合可以表示为...

2015-08-15 17:22:00 511

转载 LDA 线性判别分析

LDA, Linear Discriminant Analysis,线性判别分析。注意与LDA(Latent Dirichlet Allocation,主题生成模型)的区别。1、引入  上文介绍的PCA方法对提取样本数据的主要变化信息非常有效,而忽略了次要变化的信息。在有些情况下,次要信息可能正是把不同类别区分开来的分布方向。简单来说,PCA方法寻找的是数据变化的主轴方向,而判别...

2015-08-12 16:29:00 237

转载 PCA主成分分析方法

PCA: Principal Components Analysis,主成分分析。1、引入  在对任何训练集进行分类和回归处理之前,我们首先都需要提取原始数据的特征,然后将提取出的特征数据输入到相应的模型中。但是当原始数据的维数特别高时,这时我们需要先对数据进行降维处理,然后将降维后的数据输入到模型中。  PCA算法是专门用来对高维数据进行降维而设计,通过将高维数据降维后得到...

2015-07-31 20:56:00 167

转载 拟牛顿法 分析与推导

  针对牛顿法中海塞矩阵的计算问题,拟牛顿法主要是使用一个海塞矩阵的近似矩阵来代替原来的还塞矩阵,通过这种方式来减少运算的复杂度。其主要过程是先推导出海塞矩阵需要满足的条件,即拟牛顿条件(也可以称为拟牛顿方程)。然后我们构造一个满足拟牛顿条件的近似矩阵来代替原来的海塞矩阵。  另外,在满足拟牛顿条件的基础上如何构造近似的海塞矩阵,这有很多种方法,比如:DFP算法,BFGS算法,L-B...

2015-07-27 17:17:00 209

转载 牛顿法

牛顿法法主要是为了解决非线性优化问题,其收敛速度比梯度下降速度更快。其需要解决的问题可以描述为:对于目标函数f(x),在无约束条件的情况下求它的最小值。其中x=(x1,x2,..,xn)是n维空间的向量。我们在下面需要用到的泰勒公式先在这写出来。牛顿法的主要思想是:在现有的极小值估计值的附近对f(x)做二阶泰勒展开,进而找到极小点的下一个估计值,反复迭代直到函数的一阶导数...

2015-07-26 21:49:00 118

转载 最大熵模型 推导

1、似然函数  概率和似然的区别:概率是已知参数的条件下预测未知事情发生的概率,而似然性是已知事情发生的前提下估计模型的参数。我们通常都是将似然函数取最大值时的参数作为模型的参数。  那么为何要取似然函数取最大值的参数作为模型的参数?我们基于这样的假设:对于已经发生的事情,在同样条件下再次发生的概率就会很大。假如模型的参数固定,然后用这个参数固定的模型来预测已经发生的事情,这时我...

2015-07-23 22:58:00 130

转载 逻辑回归模型分析

本文主要分两个部分进行讨论,首先介绍最简单的线性回归模型;接着对逻辑回归进行分析1、线性回归-->最小二乘法对于线性回归问题,我们根据自变量的个数将其分为一元线性回归和多元线性回归,本部分先详细介绍一元线性模型,然后将其推广到多元线性模型1)一元线性模型当输入只有一个自变量时,我们称之为一元线性模型。(最简单)设样本集合为:(xi,yi),i=1,2,…,...

2015-07-21 20:40:00 309

转载 卷积神经网络误差分析

  卷积神经网络中的权值更新也是使用误差的反向传播算法。损失函数一般使用最小平方误差函数。由于卷积网络中存在两部分区域:卷积区和全连接区,它们在计算损失时有所不同我们将其分开进行讨论。1、全连接网络的权值更新  这一部分与经典的人工神经网络不同之处在于多了一个偏置值。我们主要对多出的这个偏置值的更新进行分析即可,其他的权值变化和人工神经网络的方法类似。  对于全连接区的第l层...

2015-07-20 19:32:00 939

转载 深度学习之卷积神经网络

由于在看这类文章时专业名词较多,所以在正式开始前,我先介绍一些同义专业名词,各名词具体含义以及之间的关系在文中介绍。卷积层 = C层采样层 = 池化层(pooling层),S层平面 = 特征图(feature map),通道,map卷积核 = 权向量,滤波器神经元 = 特征,结点,单元,像素点,patch局部感受野的大小 = 滤波器的大小1、 引入  在人...

2015-07-19 21:17:00 502

转载 多层神经网络BP算法 原理及推导

  首先什么是人工神经网络?简单来说就是将单个感知器作为一个神经网络节点,然后用此类节点组成一个层次网络结构,我们称此网络即为人工神经网络(本人自己的理解)。当网络的层次大于等于3层(输入层+隐藏层(大于等于1)+输出层)时,我们称之为多层人工神经网络。1、神经单元的选择  那么我们应该使用什么样的感知器来作为神经网络节点呢?在上一篇文章我们介绍过感知器算法,但是直接使用的话会存...

2015-07-12 18:00:00 1055

转载 人工神经网络之感知器算法

感知器作为人工神经网络中最基本的单元,有多个输入和一个输出组成。虽然我们的目的是学习很多神经单元互连的网络,但是我们还是需要先对单个的神经单元进行研究。感知器算法的主要流程:  首先得到n个输入,再将每个输入值加权,然后判断感知器输入的加权和最否达到某一阀值v,若达到,则通过sign函数输出1,否则输出-1。为了统一表达式,我们将上面的阀值v设为-w0,新增变量x0=1,...

2015-07-10 21:52:00 942

转载 GB和GBDT 算法流程及分析

1、优化模型的两种策略:1)基于残差的方法  残差其实就是真实值和预测值之间的差值,在学习的过程中,首先学习一颗回归树,然后将“真实值-预测值”得到残差,再把残差作为一个学习目标,学习下一棵回归树,依次类推,直到残差小于某个接近0的阀值或回归树数目达到某一阀值。其核心思想是每轮通过拟合残差来降低损失函数。  总的来说,第一棵树是正常的,之后所有的树的决策全是由残差来决定。...

2015-07-09 19:44:00 735

转载 提升树算法 详解

提升树是以决策树为基分类器的提升方法,通常使用CART树。针对不同问题的提升树学习算法,主要区别在于使用的损失函数不同。1)分类问题:指数损失函数。可以使用CART分类树作为AdaBoost的基分类器,此时为分类提升树。2)回归问题:平方误差损失函数。3)决策问题:一般损失函数。1、提升树算法提升树采用线性模型+前向分步算法+CART树(基函数)。提升树的加法模...

2015-07-06 20:45:00 246

转载 AdaBoost 算法原理及推导

AdaBoost(Adaptive Boosting):自适应提升方法。1、AdaBoost算法介绍AdaBoost是Boosting方法中最优代表性的提升算法。该方法通过在每轮降低分对样例的权重,增加分错样例的权重,使得分类器在迭代过程中逐步改进,最终将所有分类器线性组合得到最终分类器,Boost算法框架如下图所示:图1.1 Boost分类框架(来自PRML)2、A...

2015-07-05 15:46:00 322

转载 随机森林 算法过程及分析

简单来说,随机森林就是Bagging+决策树的组合(此处一般使用CART树)。即由很多独立的决策树组成的一个森林,因为每棵树之间相互独立,故而在最终模型组合时,每棵树的权重相等,即通过投票的方式决定最终的分类结果。随机森林算法主要过程:1、样本集的选择。  假设原始样本集总共有N个样例,则每轮从原始样本集中通过Bootstraping(有放回抽样)的方式抽取N个样例,得到一个...

2015-07-03 21:41:00 424

转载 Bagging和Boosting 概念及区别

  Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。1、Bagging (bootstrap aggregating)Bagging即套袋法,其算法过程...

2015-06-30 20:22:00 825

转载 CART分类与回归树 学习笔记

CART:Classification and regression tree,分类与回归树。(是二叉树)CART是决策树的一种,主要由特征选择,树的生成和剪枝三部分组成。它主要用来处理分类和回归问题,下面对分别对其进行介绍。1、回归树:使用平方误差最小准则训练集为:D={(x1,y1), (x2,y2), …, (xn,yn)}。输出Y为连续变量,将输入划分为M个区域,...

2015-06-18 19:18:00 382

转载 决策树 学习笔记

1、熵及信息增益本节介绍:熵,条件熵,信息增益,信息增益比的概念。1)熵:表示随机变量不确定性的程度。假设随机变量X的概率P(X=xi)=pi,(i=1,2,…,n),则该随机变量的熵为:若pi=0,则0log0=0。熵只依赖X的分布,而与X的取值无关。故而X的熵H(X),写成H(p)更准确。熵越大代表变量的不确定性就越大。2)条件熵 ...

2015-06-07 19:18:00 75

转载 朴素贝叶斯算法 推导

朴素贝叶斯算法主要用来解决分类问题,比如通常的二分类,多分类。1、数学知识:贝叶斯定理:特征条件独立:1、朴素贝叶斯输入空间:输出空间:y={C1,C2,…,CK}。训练集:T={(x1,y1),(x2,y2),…,(xN,yN)}。对于每个实例,其P(X,Y)独立同分布。在进行分类之前,需要先将计算先验概率和条件概率然后据此计算出后验概率。1...

2015-06-02 11:03:00 120

转载 TF-IDF算法 笔记

TF-IDF:Term Frequency-Inverse Document Frequency(词频-逆文档频度):主要用来估计一个词在一个文档中的重要程度。符号说明:文档集:D={d1,d2,d3,..,dn}nw,d:词w在文档d中出现的次数{wd}:文档d中的所有词的集合nw:包含词w的文档数目1、词频 TF的计算公式如下:2、逆文档频率ID...

2015-05-28 21:38:00 103

转载 zMPLS的安装与配置

1、zmpls的安装1.1安装环境ubuntu 12.04 kernel 2.6.35 (对原来的内核进行了替换)1.2 下载链接文件zMPLS-0.95-alpha.tar.gz的下载地址为:http://sourceforge.net/projects/zmpls/files/latest/download?source=files1.3安装过程$...

2015-01-16 20:12:00 209

转载 linux系统安装iprouter

在上文中将mpls编译进了linux内核,现在需要安装iprouter,安装过程如下:1) 下载两个文件iproute2-2.6.39.tar.gz和iproute2-v2.6.39-mpls.patch。iproute2-2.6.39.tar.gz下载地址:http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2....

2015-01-12 22:01:00 400

转载 将MPLS编译进linux内核中

系统环境:linux kernel 2.6.35。(此环境是上一篇文章中将ubuntu内核替换后的环境)编译过程如下:1)首先需要下载patch文件:linux-kernel-v2.6.35-mpls1.980.patch。下载链接:http://ftp.jaist.ac.jp/pub/sourceforge/m/project/mp/mpls-linux/mpls-linu...

2014-12-20 21:49:00 90

转载 ubuntu系统内核替换

此处将内核由高版本替换成低版本。替换前的系统为ubuntu 12.04 kernel 3.8.0. 替换后的内核版本为2.6.35.首先下载需要替换的内核文件,下载链接:https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.gz下载完成后开始进行解压$ sudo tar -zxf linux-2.6.3...

2014-12-16 10:59:00 283

转载 shell编程基础

本文主要对shell中基本的语法进行简要记录,以备查用!1、shell变量在定义变量名时不加美元符号$,只在使用变量时需要在变量名前添加美元符号。如1 name=”lw”2 echo ${name} #或者$name,但建议加上大括号注:在对变量进行赋值时,等号“=”的两边不能有空格变量的命名遵循一下规则:  1)首个字符必须为字母(a-z,A...

2014-11-19 15:55:00 58

转载 使用python爬取MedSci上的期刊信息

使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子。主要过程如下:首先,通过分析网站http://www.medsci.cn/sci的交互过程。可以使用谷歌或火狐浏览器的“审查元素-->Network”,然后就可以看到操作页面就可以看到网站的交互信息。当在网页上点击“我要查询”时,网页会发送一个POST消...

2014-11-18 22:45:00 241

转载 JAVA控制台输入输出方法总结

java的控制台输入输出有很多方法,此文分别对其进行介绍。1、控制台的输入关于控制台的输入主要介绍三种方法,第一种方法使用BufferedReader获得控制台输入的数据,此方法是传统的输入方法,使用起来比较繁琐,输入效率也不高,其次是使用System.in作为输入,感觉此方法不是很灵活。最后,使用Scanner作为输入,这种方法使用起来非常的方便好用,并且功能强大。...

2014-11-15 21:38:00 174

转载 JAVA文件的两种读取方法和三种写入方法

在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能。此文对常用的读写方法进行了整理,以备不时之需。1、文件的读取主要介绍两种常用的读取方法。按行读取和按字符块读取。1.1 一次读取一行作为输入//按行读取文件内容 public static String Read1(String infile) throws Exception...

2014-11-15 16:00:00 251

转载 ubuntu下常用的apt-get 命令参数

apt-cache search package 搜索包  apt-cache show package 获取包的相关信息,如说明、大小、版本等  sudo apt-get install package 安装包  sudo apt-get install package - - reinstall 重新安装包  sudo apt-ge...

2014-11-12 15:48:00 66

转载 红黑树删除的实现

在将红黑树中某个节点删除时,分几个步骤,首先找到该节点的位置,然后删除该节点,最后调整红黑树。本文代码还存在一个问题没有解决,当连续删除到第3个节点时会出现问题,现在暂时还没找出问题,以后有空慢慢研究。1、找出要删除的节点TREE rb_delete_find(TREE r, int d) // find the node that need deleted{ N...

2014-11-06 10:20:00 87

转载 红黑树的删除(算法导论)

红黑树的删除分两个部分介绍,第一个部分介绍节点的删除;第二部分介绍在将节点删除后对红黑树的调整,使得其能符合红黑树的性质。1、节点的删除 假如要删除的节点为z,这时,有三种情况: 1)节点z没有孩子节点,这时直接将z节点删除,然后判断节点z是否为黑色的,若z为黑色的,则在删除后会导致黑高不相等。于是需要对红黑树进行调整,见第二部分。...

2014-11-05 15:10:00 167

转载 红黑树的插入(算法导论)

红黑树是一棵二叉搜索树,它在每个节点增加了一个存储位来表示节点的颜色。一颗红黑树是满足下面红黑性质的二查搜索树:1)每个节点或是红色的,或是黑色的2)根节点是黑色的3)每个叶节点(NIL)是黑色的4)如果一个节点是红色的,则它的两个子节点都是黑色的5)对每个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。 对一颗...

2014-11-01 22:40:00 197

转载 KMP算法深入解析

本文主要介绍KMP算法原理。KMP算法是一种高效的字符串匹配算法,通过对源串进行一次遍历即可完成对字符串的匹配。1、基础知识的铺垫 字符串T的前k(0 =< k <=tlen)个连续的字符串称为T的前缀(假如T的长度为tlen),则当k<tlen时,其前缀称为真前缀。同理,字符串T的后k个连续的字符串称为T的后缀,k<tlen时...

2014-10-31 23:49:00 84

转载 KMP算法之查找模式串在源串中出现的次数

问题描述:给定两个字符串T, P。查找字符串P在字符串T中出现的次数。解决方法:典型的KMP算法的题目,在此使用的KMP算法为算法导论上介绍的算法。下一篇文章将详细介绍KMP算法的计算过程。题目链接:http://hihocoder.com/problemset/problem/1015源代码如下:#include <stdio....

2014-10-30 23:27:00 441

转载 快速排序算法分析

关于快速排序算法,由于其有着很好的平均时间复杂度而得到了广泛的应用。快排的思想:每次从数组中取出一个元素出来,然后将该元素放置到一个合适的位置,使得该元素前面的数都小于或等于该元素,其后面的数都大于或等于该元素。然后在对该元素左右两边的数组进行同样的操作,直到左右两边的元素为空。比如:有数组:53826.取出一个数5,然后将数组中小于或等于5的数放到5的左边,大于等于...

2014-10-17 19:50:00 59

转载 排序算法的稳定性分析(转)

本文转载自:http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html首先,排序算法的稳定性通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。(1)冒泡排序冒泡排序就是...

2014-10-17 10:13:00 58

转载 动态规划之最优二叉搜索树(算法导论)

1、一些概念二叉搜索树:在二叉树中,对任意的节点X其左子树的所有节点都不大于X.key,其右子树的所有节点都不小于X.key。满足此条件的二叉树称为二叉搜索树。对二叉搜索树进行中序遍历将会得到一个单调递增的数列。最优二叉树:在二叉树中,不同的节点都有不同的访问频率。为了减少查找某个节点所需要遍历的次数,通过将访问频率最高的节点放在离根节点近的位置,这样就可以减少平均遍历次...

2014-10-15 21:09:00 637

转载 动态规划之最长公共子序列(算法导论)

1、一些概念子序列:就是将原序列中的0个或多个元素去掉之后得到的序列。子序列不一定在原序列中连续。比如:X={A,B,D,A,B,C}中的一个子序列可以为:{A,D,B},也可以是: {B,D,B,C}。2、问题描述现有两个序列分别为:X={x1,x2,...,xm}和Y={y1,y2,...,yn}.求X和Y的长度最大的公共子序列。3、问题解析...

2014-10-14 20:19:00 96

转载 动态规划原理(算法导论)

适合动态规划求解的最优化问题应该具备两个要素:最优子结构和子问题重叠。1、最优子结构要使用动态规划算法,首先要具有最优子结构的性质,即原问题的最优解包含子问题的最优解。通过逐步求解子问题,最终得到原问题的最优解。在寻找最优子结构的过程中,需要做出一些假设,比如在第一次做出选择时,需要假设已经知道了哪种选择会得到最优解,于是,在获得最优解的选择后,分析通过这次选择...

2014-10-13 16:31:00 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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