自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 资源 (3)
  • 收藏
  • 关注

转载 计算广告——广告定向实践

计算广告学涉及到很多的不同的学科知识,包括大规模搜索,文本分析,机器学习,信息检索以及经济学等等。在计算广告中,其核心问题是在给定的环境下,找到用户和广告之间的最佳匹配,在斯坦福大学的计算广告学中如下的定义:Computational advertising = A principled way to find the “best match” between a user in a

2017-06-30 15:15:09 588

转载 梯度下降优化算法综述

本文翻译自Sebastian Ruder的“An overview of gradient descent optimization algoritms”,作者首先在其博客中发表了这篇文章,其博客地址为:An overview of gradient descent optimization algoritms,之后,作者将其整理完放在了arxiv中,其地址为:An overview of g

2017-06-30 15:13:11 941

转载 优化算法——坐标上升法

一、坐标上升法算法原理坐标上升法(Coordinate Ascent)每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。假设需要求解的优化问题的具体形式如下:maxαW(α1,α2,⋯,αm)其中,W是向量α⃗ 的函数。更新过程为每次固定除αi以外的参数,求得满足条件的αi,直到算法收敛,具体的算法过程如下所示: (图

2017-06-30 11:12:20 753

转载 优化算法——截断梯度法(TG)

一、L1正则的表达形式   在机器学习中,几乎无人不知无人不晓L1正则与L2正则,L1正则与L2正则都有参数控制的作用,对模型起到约束的作用,防止过拟合。但是L1正则与L2正则也有区别,L1正则更容易产生稀疏解,使得某些参数等于0,而L2正则却没有这样的优势,只能使得参数趋近于0。利用这样的优势可以使得L1具有特征选择的作用,若某些特征的系数为0表示该维特征对于模型没什么作用,故此可以丢弃

2017-06-30 11:11:46 969

转载 非常好的理解遗传算法的例子

遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各    个主要执行步骤。       例:求下述二元函数的最大值:    (1) 个体编码           遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种       符号串。本题中,用无符号二进制整数来表示。     

2017-06-30 11:10:20 788

原创 优化算法——拟牛顿法之L-BFGS算法

一、BFGS算法    在“优化算法——拟牛顿法之BFGS算法”中,我们得到了BFGS算法的校正公式:利用Sherman-Morrison公式可对上式进行变换,得到令,则得到:二、BGFS算法存在的问题    在BFGS算法中,每次都要存储近似Hesse矩

2017-06-30 10:50:20 3394 2

原创 优化算法——拟牛顿法之BFGS算法

一、BFGS算法简介    BFGS算法是使用较多的一种拟牛顿方法,是由Broyden,Fletcher,Goldfarb,Shanno四个人分别提出的,故称为BFGS校正。    同DFP校正的推导公式一样,DFP校正见博文“优化算法——拟牛顿法之DFP算法”。对于拟牛顿方程:可以化简为:令,则可得:

2017-06-30 10:49:44 2140 1

原创 优化算法——拟牛顿法之DFP算法

一、牛顿法    在博文“优化算法——牛顿法(Newton Method)”中介绍了牛顿法的思路,牛顿法具有二阶收敛性,相比较最速下降法,收敛的速度更快。在牛顿法中使用到了函数的二阶导数的信息,对于函数,其中表示向量。在牛顿法的求解过程中,首先是将函数在处展开,展开式为:其中,,表示的是目标函数在的梯度,是一个向量。,表示的是目标函数在处的Hesse矩阵

2017-06-30 10:48:48 1661

原创 优化算法——遗传算法(好复杂)

与遗传算法的第一次接触遗传算法的基本概念基本定义遗传算法的基本流程遗传算法过程中的具体操作参数的编码二进制编码Gray编码实数编码有序编码初始群体的设定适应度函数的计算遗传操作设计选择selection交叉crossover变异mutation控制参数的设定求解优化问题的实例问题描述问题分析算法设计个体编码适应值函数选择策略杂交算子变

2017-06-30 10:40:53 2773 2

原创 优化算法——模拟退火算法

模拟退火算法原理模拟退火算法模拟退火算法过程模拟退火算法流程模拟退火算法的Java实现Java代码最后的结果模拟退火算法原理爬山法是一种贪婪的方法,对于一个优化问题,其大致图像(图像地址)如下图所示:  其目标是要找到函数的最大值,若初始化时,初始点的位置在C处,则会寻找到附近的局部最大值A点处,由于A点出是一个局部最大值点,故对于爬

2017-06-30 08:54:36 885

原创 优化算法——凸优化的概述

一、引言   在机器学习问题中,很多的算法归根到底就是在求解一个优化问题,然而我们的现实生活中也存在着很多的优化问题,例如道路上最优路径的选择,商品买卖中的最大利润的获取这些都是最优化的典型例子,前面也陆续地有一些具体的最优化的算法,如基本的梯度下降法,牛顿法以及启发式的优化算法(PSO,ABC等)。二、凸函数凸函数如下图所示:一个函数是凸函数是它存在最

2017-06-30 08:37:04 557

转载 优化算法——差分进化算法(DE)

一、差分进化算法的介绍   差分进化算法(Differential Evolution, DE)是一种基于群体差异的启发式随机搜索算法,该算法是由R.Storn和K.Price为求解Chebyshev多项式而提出的。DE算法也属于智能优化算法,与前面的启发式算法,如ABC,PSO等类似,都属于启发式的优化算法。DE算法是我在一篇求解盒子覆盖问题论文中使用的一种优化算法。二、差分进化算法

2017-06-29 17:08:14 14055

原创 优化算法——牛顿法(Newton Method)

一、牛顿法概述    除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。牛顿法的基本思想是利用迭代点处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小值。牛顿法的速度相当快,而且能高度逼近最优值。牛顿法分为基本的牛顿法和全局牛顿法。二、基本牛顿法1、基本牛

2017-06-29 17:07:13 1086

原创 优化算法——粒子群算法(PSO)

一、粒子群算法的概述    粒子群算法(PSO)属于群智能算法的一种,是通过模拟鸟群捕食行为设计的。假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了

2017-06-29 17:05:12 1414

原创 优化算法——人工蜂群算法(ABC)

一、人工蜂群算法的介绍    人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法属于群智能算法的一种。二、人工蜂群算法的原理    1、原理        标准

2017-06-29 16:36:46 1002

原创 优化算法——梯度下降法

一、优化算法概述    优化算法所要求解的是一个问题的最优解或者近似最优解。现实生活中有很多的最优化问题,如最短路径问题,如组合优化问题等等,同样,也存在很多求解这些优化问题的方法和思路,如梯度下降方法。    机器学习在近年来得到了迅速的发展,越来越多的机器学习算法被提出,同样越来越多的问题利用机器学习算法得到解决。优化算法是机器学习算法中使用到的一种求解方法。在机器学习,我们需

2017-06-29 16:21:00 513

原创 原创性博文导航

2015年8月21号开始了我的第一篇博文,也开始了我的研究生生涯。怀着对机器学习和计算机视觉等等领域的懵懂,从一个电子材料的领域跨入这个高速发展的人工智能领域。从开始的因无知而惊慌,因陌生而乏力,到一步步的成长。这过程的知识积累也都大部分反映在这个博客上面了。感谢这个平台促使自己去总结去坚持去进步。也感谢这个平台给我带来了和大家交流的机会。借此博文总结自己过去与未来可能散乱的博文。在此也谢谢大家一

2017-06-29 15:44:03 537

原创 机器学习(周志华西瓜书) 参考答案 总目录

机器学习(周志华西瓜书)参考答案总目录从刚开始学习机器学习到现在也有几个月了,期间看过PDF,上过MOOC,总感觉知道一点了又不是特别明白,最后趁某东买书大减价弄了几本相关的书来看看,其中一本就是西瓜书。一口气看了前10章,感觉每章内容都很少,看完感觉还是和以前一样。每章的习题都只是挑了几个简单的看看,没做认真的分析,现在回过头认真做做每章的习题。别的不说了,希望可以坚持到全部做完。

2017-06-29 15:40:45 2347 1

转载 深度学习(一)深度学习学习资料

原文地址:http://blog.csdn.net/hjimce/article/details/45421595作者:hjimce一、学习清单1、综合类(1)收集了各种最新最经典的文献,神经网络的资源列表:https://github.com/robertsdionne/neural-network-papers  里面包含了深度学习领域经典、以及最新最牛逼的

2017-06-29 15:38:28 389

原创 利用word2vec对关键词进行聚类

继上次提取关键词之后,项目组长又要求我对关键词进行聚类。说实话,我不太明白对关键词聚类跟新闻推荐有什么联系,不过他说什么我照做就是了。按照一般的思路,可以用新闻ID向量来表示某个关键词,这就像广告推荐系统里面用用户访问类别向量来表示用户一样,然后就可以用kmeans的方法进行聚类了。不过对于新闻来说存在一个问题,那就量太大,如果给你十万篇新闻,那每一个关键词将需要十万维的向量表示,随着新闻

2017-06-29 14:58:32 815

转载 机器翻译重要过程(4)---估计概率构造短语翻译表

经过第三步抽取短语后,获得基于短语系统使用的翻译短语对,而接下来的第四步就是短语翻译表概率估计,它的作用是对翻译短语对的正确性进行合理的评估。        在上一节,我们得到了短语对集合,如下图所示:        在这里,我们估计概率主要进行四个分数的计算,即双向短语翻译概率(正向:“源语言->目标语言”方向;反向:“目标语言->源语言”方向 )、双向词汇化权重。首

2017-06-29 14:28:32 568

转载 机器翻译重要过程(3)---抽取短语

上一步通过GIZA++进行词语对齐,我们得到了对应的中英文词对,在此基础上我们就可以进行第三个重要过程了,即抽取短语。短语抽取是短语翻译表构造的第一步,而短语翻译表是翻译系统解码器的要使用到的最重要组件之一,所以抽取短语这一步意义非常大。示例:       上图展示了从含有词对齐信息的双语平行句对(上方图所示)中抽取的短语对(中下方的“示例短语”所示)。从图

2017-06-29 14:28:07 791

原创 机器翻译重要过程(2)---词语对齐

在上一步预处理完成之后,平行句对中的中文部分都被切分成了相应的短语,而英文的大小写、格式、相应的空格也都加上了,在这之后就可以完成词语对齐的过程了。词语对齐的目标是得到中英文词或短语的对齐信息,便于翻译系统做解码时寻找相应的phrase。      词语对齐这一步一般都采用开源工具完成,比如现在用的最多的GIZA++,但是在平行语料数据量大的情况下,可能其完成整个词语对齐的过程耗时较长。现

2017-06-29 14:27:36 3929

原创 机器翻译重要过程(1)---数据预处理

目前有如之前基于统计的开源翻译系统介绍中提到的许多开源统计翻译系统,在由原始平行语料到形成最后的翻译系统的整个过程中,它们有一些相同的处理步骤,从这次的文章开始,陆续介绍几个最重要的过程做法及其意义。       一般在我们得到双语平行语料之后,在构建双语统计翻译系统之前,都会有一个双语数据预处理的过程,为后续例如词对齐处理提供分好词且格式恰当的双语数据。这里以汉英双语数据举例。

2017-06-29 14:20:55 1798 1

转载 剑指Offer——编程题的Java实现

声明:我写这个的意图是我在看书的过程中,就我掌握的内容做一个笔记,没有抄袭的意图。再次说明一下,我找工作的过程中并不顺利,没有像那些牛人们拿到一大把的Offer,我只是希望通过我自己的努力,不断提高自己。想要真正掌握这些还是得买本书好好读一下。注:还没有完结,先放出来,不断更新1、面试题3:二维数组中的查找题目大致为:    一个二维数组,每一行按照从左到右递增,每一列

2017-06-28 14:32:08 384

原创 StringBuffer的用法

1、StringBuffer对象的初始化StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。例如:StringBuffer s = new StringBuffer();这样初始化出的StringBuffer对象是一个空的对象,就是我犯的错误。如果需要创建带有内容的Strin

2017-06-28 14:15:06 682

转载 美团面试的两道算法题

美团的两道算法题前天去美团面试,一面和二面问了各问了一道算法题,博主在这里和大家分享一下。1.二叉树想必大家都了解,对于只有一个节点的二叉树,只会有一种结构,对于有两个节点的二叉树,那么会有2种可能的结构,那么问题来了,对于有n个节点的二叉树,一共有几种可能的情况?当时直接就想列一下3,4,5个节点分别有多少种可能,然后看能不能找到规律,可是当去遍历4个节点时,发现遍历不住

2017-06-28 10:25:41 5911

转载 教你如何迅速秒杀掉:99%的海量数据处理面试题

原文链接:http://blog.csdn.NET/v_july_v/article/details/7382693前言   一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结

2017-06-27 21:23:00 358

原创 排序算法理论与总结

1. 前言排序和查找是计算机科学中非常重要的一个课题,也是处理事务时常遇到的问题。可以说排序和查找是程序员必须掌握的基础知识。当前排序算法所要处理的问题特点:(1)数据量大(2)数据分布不集中2. 排序的基本思想一个优秀的排序算法必须遵循的思想:分而治之(Divide-Conquer-Merge)首先对数据进行分块(Divide),然后对每一块排序(Sort),

2017-06-27 21:03:01 404

原创 算法分析O(n), O(nlogn)...

1. 定义大O符号(Big O notation)是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。2. 说明f(n) = 2n^2 + 3n + 1f(n) = O(n^2)orf(n) ∈ O(n^2)为什么可以这么去描述?lim( f(n) / n^2) = a ( n--> 0,

2017-06-27 20:54:47 5051 1

转载 关于typedef的用法总结

在C还是C++代码中,typedef都使用的很多,在C代码中尤其是多。typedef与#define有些相似,其实是不同的,特别是在一些复杂的用法上,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,加上自己的一个分析。基本定义:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这

2017-06-27 20:43:50 266

原创 AlexNet原理及Tensorflow实现

AlexNet的出现点燃了深度学习的热潮,下面对其进行介绍,并使用tensorflow实现.1. AlexNet网络结构图片来源:AlexNet的论文整个网络有8个需要训练的层,前5个为卷积层,最后3层为全连接层.第一个卷积层输入的图片大小为:224*224*3第一个卷积层为:11*11*96即尺寸为11*11,有96个卷积核,步长为4,卷积层后跟ReLU,

2017-06-27 18:56:21 631

原创 Tensorflow实现卷积神经网络

如果不明白什么是卷积神经网络,请参考:计算机视觉与卷积神经网络 下面基于开源的实现简单梳理如何用tensorflow实现卷积神经网络.实现卷积神经网络加载数据集# 加载数据集import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read

2017-06-27 18:55:34 407

转载 caffe调参经验资料文章

调参是个头疼的事情,Yann LeCun、Yoshua Bengio和Geoffrey Hinton这些大牛为什么能够跳出各种牛逼的网络?下面一些推荐的书和文章:调参资料总结Neural Network: Trick of the TradePractical Recommendations for Gradient-based Training of Deep Archite

2017-06-27 16:22:06 374

转载 团队项目推荐:基于社交网络的自动音乐推荐系统——by ZhongXia

来到微软亚洲研究院不知不觉已近两个月,大家都在慢慢适应这紧凑的研究氛围,常听师兄提及的高级软件工程(ASE)也如期开始。上周课后我们完成了组队,而经过初步的调研与思考,我推荐“基于社交网络的自动音乐推荐系统”作为我们团队项目的题目。  音乐是我们生活中重要的一部分,工作中,我们可能需要轻音乐让自己静下心来保持专注;下班后,我们可能需要舒缓的音乐全方位的放松身心。开心时,我们乐于听到一些欢快

2017-06-25 21:41:10 1498 1

转载 Tensorflow入门-实现神经网络

学习tensorflow一段时间了,感觉非常的好用,在使用时,有时候最重要的是想好神经网络的结构,这样就可以随意的在神经网络中加如隐含层了,特别主要的是矩阵的维度相乘的问题,下面将使用tensorflow实现神经网络,做一下自己的理解.实现无隐含层的神经网络下面以手写数字识别的例子作为说明.读入数据import tensorflow as tffrom tensorf

2017-06-25 21:23:17 393

原创 Caffe学习-手写数字识别

1. Caffe训练方法综述caffe非常简单,训练时只需写prototxt文件即可,其大致的步骤为:Resize图片,转换存储格式(LMDB/LevelDB)定义网络结构(编辑prototxt)定义solver(编辑另一个prototxt)一行命令开始训练(可以基于已有的权重赋值)如下图所示,其训练的过程,关于卷积神经网络(CNN)可以参考:计算机视觉与卷积神经网络

2017-06-25 21:18:59 477

原创 linux(ubuntu)下安装深度学习框架caffe

本文所使用的的ubuntu的环境为16.04,为了安装的顺利,请先安装opencv,详见:Linux下安装OpenCV 3.01. 安装依赖项建议不要一次安装这么多,以免出错可以排除错误:sudo apt-get install gitsudo apt-get install libprotobuf-dev libleveldb-dev sudo apt-get insta

2017-06-25 20:57:20 423

原创 Linux下安装OpenCV 3.0

opencv的安装简直让人头疼,注意是一些依赖包的原因,刚开始使用的是Centos找软件真是欲生欲死,有点包含没有,因此转头Ubuntu的怀抱,用过都懂的。这里说下自己用的是16.04的LTS版本。 下面说一安装过程:1. 安装依赖项// 这里如果有版本或拼写问题,可以用tab去补全,查看要安装哪一个// 建议不要一次安装这么多,这样可以看到哪里出错了sudo apt-

2017-06-25 20:56:11 1214

原创 基于OpenCV批量处理文件夹中的图片的方法

在进行图像处理等问题是面临的一个问题是如何批量的处理图片,这些图片存在在一个文件夹中,如何对这个文件夹中的数据进行批处理是非常重要的,下面介绍几种常用的方法。1. sprintf()函数法这种方法最为简单,他是将路径的名字存放在一个数组中//input为输入文件夹的路径,i为第几幅图像//图像的命名格式都是1.jpg,2.jpg,...sprintf(filename, "

2017-06-25 20:34:40 1145

Distributed Computing.pdf

分布式计算英文版教程分布式计算英文版教程

2020-03-05

YaleB人脸数据库

人脸识别中常用的一个数据库,Extended YaleB,文件中是已经裁好的图片,网上资源并不多,所给网址也打不开,所以方便大家,资源共享。

2017-09-12

connection。jar

connection.jar包下载,很多项目中都需要导入其中才能运用

2015-12-17

空空如也

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

TA关注的人

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