- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 强化学习笔记—马尔科夫决策过程(MDP)
写在前面最近刚接触强化学习,系统的学习资料感觉很少,不过好像最近有一本强化学习的书要出来,还是蛮期待的。结合师兄给的一些资料和网络资源进行“艰难”的摸索过程,任重道远。将学习过程中的一些知识记录在这里,加深印象,特别感谢这个专栏。强化学习强化学习目前越来越火,从AlphaGo到AlphaZero让大家见识到了强化学习的力量,有很多AI大牛也公开表示强化学习是改变未来重要的工具。这里就以
2017-12-28 15:41:59 25668 9
原创 python科学计算——pandas
写在前面pandas在数据处理分析上往往占据主要地位,其中实现了很多功能函数,可以使数据分析更加方便快捷,这里只是pandas中比较基础的总结,更加复杂高级的用法还需要参考官方文档。pandas中两个常用的对象是Series和DataFrame。Series对象series是pandas中最基本的对象,并定义了和numpy.ndarray的接口,可以用numpy的函数直接操作serie
2017-12-18 22:44:13 3733
原创 python科学计算——数据可视化(2) Seaborn
写在前面在前面的文章介绍了Matplotlib的可视化基本功能,seaborn是基于Matplotlib的基础上进行了封装,能够快速的绘制精美的图表,使用起来比matplotlib更为方便简洁,本文是参考seaborn的官方文档进行的总结。seaborn的样式控制先看一下利用Matplotlib的绘制图像:def sinp(flip=1): x = np.linspace(0,14,100)
2017-12-16 16:42:14 10109 1
原创 python科学计算——数据可视化(Matplotlib)
写在前面Matplotlib提供了大量实现数据可视化功能的模块,采用面向对象进行封装,在编写大型应用时通过面向对象方式将更加有效,这里只是对matplotlib的一些简单功能进行总结,需要更高级别的应用时,请多参考官方说明。pyplot绘图模块matplotlib的 pyplot模块提供了与Matlab类似的绘图闲数调用接口,方便用户快速绘制二维图表。先看一个比较简单的例子,绘制正弦和余弦函数图像。
2017-12-16 13:05:15 8912
原创 核密度估计 Kernel Density Estimation(KDE)
写在前面给定一个样本集,怎么得到该样本集的分布密度函数,解决这一问题有两个方法: 1.参数估计方法 简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型; 2.非参数估计 和参数估计不同,非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布
2017-11-16 23:16:14 162361 20
原创 python科学计算之scipy——optimize
写在前面SciPy的optimize模块提供了许多数值优化算法,下面对其中的一些记录。非线性方程组求解SciPy中对非线性方程组求解是fslove()函数,它的调用形式一般为fslove(fun, x0),fun是计算非线性方程组的误差函数,它需要一个参数x,fun依靠x来计算线性方程组的每个方程的值(或者叫误差),x0是x的一个初始值。"""计算非线性方程组: 5x1+3 = 0
2017-11-15 21:40:32 36311 5
原创 python科学计算之numpy——ufunc函数
写在前面ufunc是universal function的缩写,意思是这些函数能够作用于narray对象的每一个元素上,而不是针对narray对象操作,numpy提供了大量的ufunc的函数。这些函数在对narray进行运算的速度比使用循环或者列表推导式要快很多,但请注意,在对单个数值进行运算时,python提供的运算要比numpy效率高。四则运算numpy提供的四则ufunc有如下一些: n
2017-11-15 14:15:01 19038 1
原创 python科学计算之narray对象
写在前面最近在系统的看一些python科学计算开源包的内容,虽然以前是知道一些的,但都属于零零碎碎的,希望这次能把常用的一些函数、注意项整理下。小白的一些废话,高手请略过^ _ ^。文章中的函数仅仅是为了自己好理解,并没有按照官方文档上的函数声明形式记录。numpy.narray numpy.narray创建numpy.narray的构造方式挺多的,这里就不一一说明,因为一般情况下,在进行科学
2017-11-14 11:45:51 7715
原创 机器学习—经验风险最小化
写在前面本文是Andrew Ng的机器学习公开课的总结,其中涉及到偏差方差分析在PRML中有过比较严谨的数学分析,详见文章PRML——偏差方差分析。而吴老师的课上以一种更直接和相对较为通俗的方式给出了这些概念,解决的问题有如下几个:(1). 如何形式化定义方差和偏差(针对机器学习算法)以方便对算法的讨论评价?(2). 用训练误差评估泛化误差是否合理?(3). 在什么条件下,我们能评估一个算法的好坏?
2017-10-16 23:42:51 3949
原创 从傅里叶级数到傅里叶变换
写在前面傅里叶变换这个东东是一块心病,记得刚接触计算机视觉那会儿,最先看的是冈萨雷斯的《数字图像处理》。当看到频率域滤波那章节的时候,首先就是傅里叶变换,当时看了两三遍愣是没懂。无奈之下,去问老师,而后被一句话“你只需要知道怎么用,现在不需要知道原理”打发了,好吧!我确实也放弃没在去纠结原理啥的,只知道怎么用code变换,然后进行滤波。后来某段时间又想起来,所以又去看了看,直到今天也不敢说是真正理解
2017-10-12 16:01:03 4682
原创 opencv读取图像数据的方式总结
引言opencv是计算机视觉中使用最广泛同时也是功能最全的一个开源库,为图像处理以及计算机视觉工作者提供了极大的方便,本文就opencv读取图像数据文件做一个总结,高年级同学以及大牛请无视。opencv中图像的结构图像的结构可以看作是一个2维矩阵,opencv在对图像的结构定义中也采用了这一方式。在总结之前,有必要对opencv中图像结构定义的一些成员变量意义进行说明,更详细的请参考opencv官方
2017-10-08 14:06:26 10153 1
原创 最短路径算法(Dijkstra、Floyd)总结
引言最短路径算法是图算法中比较重要的组成部分,在《算法导论》中有比较详细的阐述和证明。很长时间没在看过图算法的内容,在接触到增强学习后,复习了下A*算法,故对最短路径算法进行一下简单的总结,A*算法将会另外开一篇文章。Dijkstra和Floyd算法是最为经典的两个针对无向图进行最短路径求取的算法,本文先对这两个算法进行回顾和总结。Dijkstra算法Dijkstra算法在解决最短路径算法时有一定的
2017-10-04 16:28:16 3530 1
原创 模糊集在图像二值化与图像增强的运用
引言模糊理论说得直白一点就是表达不确定性,这个不确定性是用一个隶属度函数来衡量,该函数的取值为[0,1][0,1],隶属度函数值越大则趋于一致,当隶属度函数值为00时,表示相反。关于模糊理论的一般定义和表述可以参考Gonzalez《数字图像处理》。本文关注的是模糊集在数字图像处理的运用,包括图像二值化和图像增强两方面的运用,主要内容来自以下两篇论文:[1]. Image thresholding
2017-09-22 15:28:09 2916 1
原创 软权值共享
前言权值共享是一种减小深度网络中参数数量的方法,常见于卷积神经网络(CNN)。在CNN中每一个特征图是一组相同的参数对图像进行卷积中,每一组参数对应着图像每个局部的特征。这样的的权值共享叫做硬权值共享。而某些场景下,我们并不能这样使用同一组参数作,而使用相似的参数,这叫做软权值共享。软权值共享以一种正则化的形式给出。软权值共享我们常见的正则化形式是λwwT\lambda ww^T,如果将权值看作是符
2017-09-08 18:19:33 2240
原创 集成学习之Adaboost
写在前面在前面的文章集成学习中对集成学习的大致思想进行了概括性的说明,根据模型之间是否存在依赖可将集成学习分为串行和并行两种,前者依赖于上一次模型的预测结果,后者模型之间并不相互依赖,Adaboost是boosting的最为人所知的模型,既可以用作回归任务,也可用于分类任务。Adaboost框架原理前面的文章中,已经对boosting框架的原理进行了说明,这里我们不厌其烦的再次给出boosting的
2017-09-05 03:32:38 1383
原创 集成学习
写在前面在接触到kaggle案例后,见识到集成学习的威力,集成学习是一种”博众之长”的思想。例如一个项目,搞算法的、写代码的、做UI的等等均是不同的人,单独出来这些人都不能完成项目,把这些人聚集在一起,发挥自己的专长,则可以高质量的完成工作,而将这些人联系在一起的便是项目规划书。集成学习也是这样的一个思想。有时候单个的学习算法不足以解决问题,可能算法的结果不够准确。但将这些算法模型组合起来便可以得出
2017-09-02 05:33:43 798
原创 拉普拉斯近似
问题背景很多时候,无法确定一个概率分布的具体密度函数,因而在对这种分布进行后续操作(例如,作为贝叶斯学派求后验概率)时难度很大,无法进行。这时候则需要对这种无法精确知道分布函数的概率进行近似处理成已知的概率分布,从而方便计算或操作。拉普拉斯近似便是一种简单且广泛应用的近似方法,并且是很多采样方法的基础思想。拉普拉斯近似该方法的目的是找到一组定义在连续变量变量上的高斯近似,假设任一单一连
2017-08-26 17:18:52 9069 3
原创 PRML——偏差方差分析
引言偏差方差分析是机器学习中常用的来衡量模型对数据拟合好坏的度量方式,PRML中对这一个问题进行了数学理论上的分析。最好的回归函数对于回归问题的朴素方式是对输入的每一个样本xx,输出对真实回归值tt的一个估计y(x)y(x),这样做之后,会得一个估计值和真实值之间的损失L(y(x),t)L(y(x),t),则平均损失就是:E[L]=∫∫L(y(x),t)p(x,t)dxdtE[L]=\int\int
2017-08-19 16:31:44 2071
原创 RNN结构及反BPTT向传播算法
写在前面传统的人工神经网络(Artificial Neural Network,ANN)存在很多局限性,在不断发展中,出现了真对图像数据的卷积神经网络(Convolutional Neural Network,CNN),解决了图像数据大,权重参数过多难以训练的问题。以及针对有序序列数据的循环神经网络(Recurrent neural Network,RNN),不谋而合的是在这两种网络中都采用了权重共
2017-08-16 14:17:04 724
原创 【PRML】—— 共轭分布
写在前面《pattern recognition and machine learning,PRML》一直广受好评,全书从数学思想的方面介绍模式识别和机器学习,阅读之前需要一些数学只是,如果大学本科的数学(高等数学、概率和梳理统计、线性代数)还没完全忘记的话,阅读起来应该不是难事。另外一点,你需要静下心来慢慢读,细细品味(第一次读这本书的时候,读了几个章节就完全懵逼了 - -!)。这是第二次拿起来读
2017-08-14 15:18:23 1019
原创 提升方法之AdaBoost、提升树(GBDT)
引言提升方法是一种常用的学习方法(确切来说是一种基于统计的学习方法),并且广泛有效,基本思想是:不需针对学习任务(分类或者回归,为叙述方便,后文中以分类为例)直接学习出一个模型,而是先学习出一个模型,对样本进行分类,在该模型无法准确分类的样本上学习第二个模型,以此类推,直到所有样本都被准确的分类,最终的模型是将之前学习到的模型进行线性组合,可看做是“分而治之”的思想。AdaBoost强弱学习器强
2017-08-11 16:00:25 4370 3
原创 NLP——分词之正向(逆向、双向)最大
引言自然语言处理(Natural Language Processing,NLP)一直是个研究的热点,随着神经网络(Neural Network,NN)的再次兴起,以及深度学习(Deep Learning,DL)的迅速发展,NLP也开始起飞。由于计算机只认识数字符号,对于英文、汉字这类“高级语言”计算机还没考过1级证书。就像一个婴儿,你喂他吃饭,不能一开始就喂一些高难度的食物嘛,扔给他一只龙虾。“朋
2017-08-04 15:02:53 3126
原创 图像检索系统《Deep Learning of Binary Hash Codes for Fast Image Retrieval》
引言总结2015年CVPR论文《Deep Learning of Binary Hash Codes for Fast Image Retrieval》,论文主要内容是利用卷积神经网络(CNN)来构建图像相似度检测的深度学习方法。主要思想是讲卷积神经网络来提取图像特征,并将特征转化为二值量,根据二值向量来计算图像的相似度。传统方法图像检索的基础便是提取图像的特征信息,提取的特征信息越丰富,在进行检索
2017-08-04 10:56:35 1334
原创 局部敏感哈希 LSH
引言局部敏感哈希(Locality-Sensitive Hashing, LSH)是用来解决高维检索问题的算法。想象一下,现在有数量庞大的数据点,每个点的维度可能几千或几万,给定一个点p,在这数据点集中寻找到可p最近的点或者最近的k个点。思路很清晰,我们必须要计算p到每个点的距离,根据计算结果排序,选择最近的点或者前k个点,距离可以用L1或L2泛数计算。这样的线性搜索,时间复杂度极高,效率地下。LS
2017-08-03 17:30:42 2440
原创 隐马尔科夫模型(HMM)
隐马尔科夫模型(Hidden Markov Model,HMM)是一种概率图模型(PGM),概率图模型的定义及内容参看:概率图模型。必备的数学知识 随机过程(Stochastic Process)是一连续状态下随机变量的动态关系的定量描述。回想一下随机变量的数学定义,随机变量是描述一组实验的可能结果,所有的可能结果构成一个基本空间,随机过程可看做在随机变量的基础上附加了一个连续状态,比如时间。
2017-08-02 13:47:57 993
原创 非极大值抑制(Non-maximum suppression, NMS)
初次接触到非极大值抑制算法(Non-maximum suppression, NMS)是在CNN学习过程中,当时看到R-CNN SP-NET中都用到了该方法作为最后确定目标bounding box 。常常经过图像定位算法或者深度网络学习得出的bounding box不止一个,各个box会出现重叠交叉,如图1。 为了精确的定位到目标的在图像的位置,常常有三种方法:
2017-07-18 10:17:45 3411 1
转载 循环神经网络(RNN, Recurrent Neural Networks)介绍
循环神经网络(RNN, Recurrent Neural Networks)介绍 这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/,在这篇文章中,加入了一些新的内容与一些自己的理解。 循环神经网络(Recurrent
2017-05-19 09:40:56 853
转载 特征值分解(EVD)和奇异值分解(SVD)
两篇博文,写得很好:http://blog.sina.com.cn/s/blog_3f738ee00102val0.htmlhttp://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html
2016-11-22 14:53:28 6031 1
原创 leetcode --- 2 sum , 3 sum , 4 sum , k sum problem
K Sum ProblemLeetcode上有2 sum problem,3 sum problem, 4 sum problem,K sum problem等问题,为方便讨论,从最简单的2 sum入手,讨论到更一般的K sum problem,这类问题一般具有这样的形式:给定一个n长度的数组和一个target,在数组中寻找k个数,使这k个数的和等于target,并且不存在相同的结果集。
2016-10-02 16:18:40 1276
原创 leetcode --- Longest Common Prefix
最长公共前缀(Longest Common Prefix)题目:Write a function to find the longest common prefix string amongst an array of strings.题目链接:https://leetcode.com/problems/longest-common-prefix/ 给出一个字符串数组,找出数
2016-10-01 16:31:30 611
原创 Leetcode---Longest Palindromic Substring
最长回文字串(Longest Palindromic Substring)题目:Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one uniqu
2016-09-29 15:04:25 588
原创 LeetCode --- Median of Two Sorted Arrays
第一次在csdn上写备忘录,以前一直是在笔记本上写,主要是笔记本上可以随意写,只要自己能看懂,在网页上多少都受些限制,另外一方面也是想锻炼下写作能力,为以后的论文做基础吧!最近偶尔上leetcode练些题目,所以也就以这个为主题写一篇试试看,因为能力不足,理解或言辞上会有错误,还望访者不吝赐教,我定当万分感激。好了,废话也说完了,现在进入正题:题目:There are two so
2016-09-28 02:49:22 639
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人