- 博客(519)
- 资源 (83)
- 收藏
- 关注
转载 隐马尔科夫模型HMM自学
崔晓源 翻译我们通常都习惯寻找一个事物在一段时间里的变化规律。在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等。一个最适用的例子就是天气的预测。首先,本文会介绍声称概率模式的系统,用来预测天气的变化然后,我们会分析这样一个系统,我们希望预测的状态是隐藏在表象之后的,并不是我们观察到的现象。比如,我们会根据观察到的植物海藻的表象来预
2017-06-20 15:27:24 802
原创 卷积神经网络反向传播理论推导
本文首先简单介绍CNN的结构,并不作详细介绍,若需要了解推荐看CS231n课程笔记翻译:卷积神经网络笔记。本文只要讲解CNN的反向传播,CNN的反向传播,其实并不是大多所说的和全连接的BP类似,CNN的全连接部分的BP是与它相同,但是CNN中卷积--池化、池化--卷积部分的BP是不一样的,仔细推导,还是有很多细节地方需要思考的,比如1、在前向传播的过程中,卷积层的输入,是通过卷积核与前一层的输出特
2017-06-08 10:44:25 17361 20
原创 人工神经网络
一、神经网络的模型:图1 两层全连接神经网络模型 这个是一个带有两个全连接层的神经网络,神经网络,一般不把输入层算在层数之中。1、神经元:图2 神经元的数学模型 从单个神经元来看,每个神经元可以看做是一个感知机,可以用来做决策,从图中可以看出,根据输入的线性组合,经过函数f来预测,比如Sigmoid函数,当输出值大于0.5的时候可以判定为正类,当输出
2017-05-24 23:45:16 7520
原创 numpy.transpose()
numpy.transpose()是对矩阵按照所需的要求的转置,比较难理解,现以例子来说明:import numpy as npa = np.array(range(30)).reshape(2, 3, 5)print ("a = ")print (a)print "\n=====================\n"print ("a.transpose() = ")pr
2017-05-22 15:39:15 17470 7
原创 线性分类器-KNN、多类SVM、Softmax
本文只是记录一下实现的代码,具体的思想还请看cs231n的课程笔记,其讲解的非常好,智能单元翻译的也很不错。一、CIFAR-10数据集:图1 CIFAR-10示例二、KNN图2 KNN分类器示例 如图所示,K的取值不同得出来的分类结果也可能是不同的,因此需要对k进行寻参,找出在训练机上最好的k,来进行测试。 求两幅图片的相似性,KNN使用的是距离度量,但
2017-05-11 16:22:52 2913 1
原创 python nditer---迭代数组
迭代对象nditer提供了一种灵活访问一个或者多个数组的方式。单个数组的迭代(Single Array Iteration):迭代器最基本的任务的可以完成对数组元素的访问,迭代器接口可以一个接一个地提供的每一个元素。例如:a = np.arange(6).reshape(2, 3)for x in np.nditer(a): print x, " "0 1 2 3
2017-05-06 20:47:23 8921 1
原创 numpy.random
1、numpy.random.rand(d0, d1, ....dn): 生成指定形状的数组,其元素值是在均匀分布[0, 1]之间随机生成,其中d0, ...dn表示的是数组的大小,如果不指定大小,默认返回一个随机数值。数组默认的返回类型是float.例如:w0 = np.random.rand()print w0, "\n"w00 = np.random.rand(2,
2017-05-06 19:05:15 742
原创 Python 爬虫笔记(2)
我们如何使用Python而不是浏览器,利用有道翻译,来翻译文本? 我们首先打开有道,右键,点击“检查”,或者“审查元素”,我们可以看到网页的源代码,如图1所示: 我们点击network,如图2: 找到translate?....如图3,然后点击: 然后在点击preview,如图4,我们可以看到我们要翻译的语句,和翻译的结果。 我
2017-03-30 00:03:38 900
原创 Python 爬虫笔记(1)
import urllib.request访问网址,打开网页,方法:urllib.request.urlopen(url,data=None, [timeout, ]*, cafile=None, capath=None,cadefault=False, context=None)其中url,可以是一个字符串string(也就是网址),也可以是一个Request对象
2017-03-29 23:41:47 820
原创 Python 画二维和三维散点同心圆
我们利用Python先画二维的散点圆: 我们的圆上的点,采取圆的参数方程来取。我们根据取theta的步长来决定圆上的散点的松散度。import numpy as npimport matplotlib.pyplot as pltr = 1.0a, b = (0., 0.)theta = np.arange(0, 2*np.pi, 0.3)x = a + r * np.cos
2017-03-29 23:13:03 4993
原创 开关电灯(济南联通面试题)
今天有个同学面试联通问了我一个面试题,貌似这个题当过很多面试题,不难,随手记录一下吧。题目描述: 有N个灯放在一起,从1到N依次顺序编号,有N个人也从1到N依次编号。1号将灯全部熄灭,2号将,凡是2的倍数的灯打开;3号将凡是3的倍数的灯作相反处理(该灯如为打开,则将他关闭;如果关闭,则将它打开)。以后的人都和3号一样,将凡是自己编号倍数的灯作相反处理。编程实现:第N个人操作后
2017-03-16 22:48:27 850
原创 支持向量机(SVM)(四)----SMO
我们前几节说了线性可分,以及在低维线性不可分,但是在高维是线性可分的。还有一种情况,如下图: 这种因奇异点而造成的划分平面不合理的移动,不是我们所想的,或者因为个别奇异点导致线性不可分,其余的大部分的点都是线性可分的,如果因此 就映射到高维来解决,那么也不值当,如下的情况: 这些情况因为outliers而造成了线性不可分,或者导致划分超平面不是很明确。同样为了降
2017-03-07 01:07:02 1435
原创 支持向量机(SVM)(三)----核函数及正则化
上一节最后我们说到我们根据求得的,可求得,,然后求出决策函数,但是我们知道:是的函数,我们也许不必把带入上式来求解,我们直接把上式带入决策函数可有: 假如我们已经求得最优的,在作出预测的时候,我们可以只进行输入数据x与训练样本的内积即可。在转化为对偶条件的时候,我们知道要满足KKT条件,KKT条件中有一个是:其中: 由此可以
2017-03-07 01:06:16 7524
原创 支持向量机(SVM)(二)----对偶
============================================== 本文根据Andrew NG的课程来梳理一下svm的思路。如有错误,欢迎指正。============================================== 上小节,我们说到如何求该凸优化问题,高数中我们学过,可以利用拉格朗日乘子法,来求解有约束的问题。原问题为
2017-03-07 01:04:28 971
原创 支持向量机(SVM)(一)----介绍SVM
========================================= 本文根据Andrew NG的课程来梳理一下svm的思路。如有错误,欢迎指正。============================================== 支持向量机(Support Vector Machine,SVM)是一个有监督的学习模型,通常用来进行模式识别、分类以及回
2017-03-07 01:01:23 967
原创 KNN算法及其实现
K-邻近算法(k-NearestNeighbor,KNN),存在某一样本集,已经知道样本和对应的类别,当输入一个没有类别标识的数据时,找出与其“最相似”的K个样本,在这k个样本中,哪个类别的样本个数最多,我们就把该未知数据的类别归为此类。其中的相似性,可以利用距离来度量,而衡量距离的方法,可以是欧氏距离,闵可夫斯基距离,曼哈顿距离等等。 KNN算法步骤: 1,与处理数据
2017-03-04 22:55:20 1894
转载 python sort、sorted高级排序技巧
这篇文章主要介绍了python sort、sorted高级排序技巧,本文讲解了基础排序、升序和降序、排序的稳定性和复杂排序、cmp函数排序法等内容,需要的朋友可以参考下Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用s
2017-03-04 22:42:23 788
原创 主成分分析(PCA)
当我们研究某个问题的时候,该问题有很多个变量,而且某些变量与变量之间存在一定的相关关系,如果两个变量存在相关关系,那么这两个变量之间存在着重叠信息,而这就造成了数据的冗余。比如一群学生,Boy和Girl,他们的性别我们可以用二维数组来表示,对于某个学生,Boy 可表示成:[1][0],Girl可表示为[0][1],其实不必,我们可以用一维数组来表示,男生为1,女孩为0。我们为了除去一组变量的相关性
2017-03-03 22:55:52 730
原创 反向传播算法(BackPropagation,BP)
本文参考《神经网络和深度学习》,旨在说明BP算法是怎样的一个过程。在一个多层的神经网络中,反向传播算法就是不断的学习这个网络的权值和偏值,采用梯度下降法使得该神经网络的输出值与真实的目标值之间的误差最小。 1,那么为什么更新权值和偏值可以使得代价函数最小化呢? 2,以及如何更新权值和偏值呢? 由于该算法使用了很多的符号,这里需要解释一下各个符号的意义。 表示第层的第k个神经
2017-02-20 11:45:00 8778 1
转载 什么是P问题、NP问题和NPC问题
这或许是众多OIer最大的误区之一。 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是N
2017-01-10 20:42:33 649
原创 动态规划之详细分析0-1背包问题
题目: 有 N 件物品和一个容量为 V 的背包。第 i 件物品的费用是 w[i],价值是 p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 本文按照动态规划的标准模式解析:http://blog.csdn.net/hearthougan/article/details/53749841 0-1背包问题,表示的是每个物品只有一件,每件物品不能分割...
2016-12-26 01:50:32 35604 14
原创 动态规划总结
动态规划(Dynamic Programming, DP)思想启发于分治算法的思想,也是将复杂问题化解若干子问题,先求解小问题,再根据小问题的解得到原问题的解。但是DP与分治算法不同的是,DP分解的若干子问题,往往是互相不独立的,这时如果用分治算法求解,那么会对重叠子问题重复进行求解,从而使得浪费大量的时间。那么如果我们保存已经计算过的子问题的解,这样当再次计算该子问题时,可以直接使用,这样可...
2016-12-20 04:00:18 7708
原创 Logistic Regression-逻辑回归
logistic回归分类的主要思想:根据现有的数据对分类边界线建立回归公式,以此分类,这里“回归”源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时就是寻找最佳拟合参数。 Sigmoid函数: Sigmoid函数的输入记为z,且,向量W就是我们要寻找的参数,向量X是分类器的输入数据。 为了实现logistic回归分类器,我们可以在每个特征上乘以一个回归系数W,再把所有的相乘
2016-11-06 21:10:55 1109 3
原创 极大似然估计
首先看两个例子: 例1:天上有乌云,问那么下雨的概率是多少?这是一个条件概率,也称为后验概率;如果现在正在下雨,那么天上有乌云的概率是多少?这就是似然,由结果去找原因。 例2:有两个人去打一只正在吃草的鹿,一个是猎手,另一个是菜鸟,砰一声,鹿死了,那么谁最有可能打死这只鹿?这就是极大似然估计(MLE),找出导致这个结果的最有可能的原因。 最大似然估计(Maximun Like...
2016-11-06 12:10:18 1110
原创 ID3decision tree-ID3决策树实现
创建简单的数据集:根据下图创建数据集: 图表的意思是:表中5个海洋动物,特征包括两个:1、不浮出水面是否可以生存,2、是否有脚蹼。我们可以将这些动物分成两类: 鱼类和非鱼类。#create data set and lebelsdef CreateDataset(): dataset = [[1, 1, 'yes'], [1, 1,
2016-11-03 14:12:14 1610
原创 K-Means聚类算法原理及实现
由于个人理解有限,难免有错误之处,欢迎指正。k-means 聚类算法原理: 1、从包含多个数据点的数据集 D 中随机取 k 个点,作为 k 个簇的各自的中心。 2、分别计算剩下的点到 k 个簇中心的相异度,将这些元素分别划归到相异度最低的簇。两个点之间的相异度大小采用欧氏距离公式衡量,对于两个点 T0(x1,y2)和 T1(x2,y2),T0 和 T1 之间的欧氏距离为
2016-10-26 11:54:49 10827
原创 Python基础语法笔记--xrange()与range()的区别、map、filter、reduce分析、lambda表达式
xrange与range的区别 在for循环中使用xrange与range函数,利用help函数,查的他们的用法如下:range:range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containin
2016-10-13 12:44:13 1234
转载 Google 开源项目风格指南--C++ 风格指南
文档转自:http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming/6. 命名约定最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的处理这些
2016-09-13 15:25:19 720
转载 vs debug 调试 快捷键
F1:在线帮助Ctrl+F:查找与替换F3: 查找下一个Shift+F3: 查找上一个F4:属性Ctrl+F4:关闭当前窗体F6: 生成解决方案Ctrl+F6: 生成当前项目F7: 查看代码Shift+F7: 查看窗体设计器F5: 启动调试Ctrl+F5: 开始执行(不调试)Shift+F5: 停止调试Ctrl+Shift+F5: 重
2016-08-05 11:17:49 3106 1
原创 Windows下PING程序实现
跟着网上的代码试着敲了一遍,熟悉Ping的过程。Ping.h//Ping.h//Define the header of IP and ICMP#pragma pack(1)#define ICMP_ECHOREPLY 0#define ICMP_ECHOREQ 8typedef struct tagIPHDR//the header of IP{ u_char VIHL;
2016-06-12 14:33:24 3783 2
原创 端到端可用带宽变化范围估计
论文出处:http://download.csdn.net/detail/hearthougan/9504057 以往测量可用带宽只是估计平均可用带宽,却忽略了这种度量方式在不同时间范围内的会有显著的变化。而该算法思想展示了如何在用户规定的时间范围内估计某一可用带宽的分布。如果两个估计的可用带宽所占的百分比覆盖了大部分的分布(例如10%至90%),那么用户可以得到可用带宽变化范围的有效估计
2016-06-12 14:13:28 1524
转载 TCP、UDP、IP 协议分析
互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图 所谓的协议就是双方进行数据传输的一种格
2016-05-24 14:07:52 839
转载 #if, #elif, #else, #endif 使用
有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。(一)条件编译方法 条件编译是通过预编译指令来实现的,主要方法有:1、#if, #
2016-05-18 13:33:37 1727
转载 std::string用法总结
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便: string类的构造函数: string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作: const char &operator[](int n)const;
2016-05-17 09:11:14 668
原创 HTTP报文
HTTP报文三个组成部分:对报文描述的起始行、包含属性的首部块、包含数据的主体(body)。HTTP规范中说明起始行和首部以CRLF表示终止。报文的语法: 所有HTTP报文都可以分成两类:请求报文(request message)和响应报文(response message)。请求报文会向Web服务器请求一个动作,响应报文会将请求的结果返回给号客户端。请求报文和响应报文的基本报文
2016-05-04 17:00:43 3803
原创 套接字原理----socket
运行在不同机器上的进程彼此通过向套接字发送报文来进行通信。每个进程好比是一座房子,进程的套接字就好比是一个门。套接字是应用进程和TCP之间的门,应用程序开发者可以控制套接字的应用层那一侧所有的东西,但是不能控制运输层那一侧。 服务器为了能对客户机程序发起连接作出响应,应满足: 第一、服务器程序不能处于休眠状态; 第二、服务器程序必须有某种套接字。socket通信流
2016-04-28 17:19:48 18402 2
原创 网络层(1)
转发和选路路由器的主要作用:便是将数据报从入链路转发到出链路。网络层的作用是:将分组从一台发送主机移动到一台接收主机。为此需要两种重要的网络层功能:转发:将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。选路:分组从源到目的地时,决定端到端路径的网络范围的进程。每台路由器都具有一张转发表(forwarding table):路由器通过检查到达分组首部
2016-04-25 17:38:01 6529
原创 TCP拥塞控制原理
TCP拥塞控制原理:TCP使用的是端到端的拥塞控制而不是网络辅助的拥塞控制,因为IP曾不想端系统提供显示的网络拥塞反馈。TCP采用的方法是让每一个发送方根据所感知到的网络拥塞的程度,来限制其能向连接发送流量的速率。这种方法有三个问题: 一个TCP发送方是如何限制向连接发送流量的速率? 一个TCP发送方是如何感知它到目的地之间的路径上存在拥塞的呢?
2016-04-24 00:16:46 10373 1
原创 学习心得-------计算机网络基础(1)
从复试结束之后就忙于奔波,甚是乏累,从沈阳来到北京就忙于找工作,少于看书,昨天终于决定入职,入职之后,做的方向是网络质量检测,APM,应用性能管理,给我的产品说明,只是寥寥几个字,各种术语,百度网络质量的指标,一顿云里雾里,看的一头雾水,于是决定从新学习计算机网络,学习各种协议。先将昨天的知识贴下来:网络质量的指标,主要有以下几个:带宽(throughput):网络的吞吐率,端
2016-04-21 17:37:18 3603 2
原创 hdu 2035 人见人爱A^B
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2035人见人爱A^BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25435 Accepted Submission(s
2015-01-14 01:03:57 753
从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
2018-11-19
word2vec系列资料
2018-11-19
word2vec 中的数学原理详解
2018-11-01
CRF++0.58-Linux+Windows
2018-09-29
npp++32位+NPPTextFx.dll
2018-09-27
李航-《统计学习方法》高清完整版(带书签)
2018-09-17
Stanford NLP note - Christopher Manning教授-完整吧
2018-08-08
Stanford NLP note - Christopher Manning教授
2018-08-08
21天学通Java-第7版-超清带书签.pdf
2018-07-27
计算机统计自然语言处理PDF
2018-07-26
Tensorflow 实战Google深度学习框架-清晰-带书签
2018-01-17
TensorFlow Machine Learning Cookbook.pdf
2018-01-17
最大熵模型与自然语言处理
2017-09-01
cudnn 5.1 for CUDA 8.0 Linux
2017-07-05
李宏毅 一天搞懂深度学习.ppt版下载
2017-02-23
机器学习实战(中文带书签+英文+源代码)
2016-10-26
《机器学习》----[Tom M. Mitchell]--带书签
2016-10-16
《统计学习方法》李航-带书签高清完整PDF版
2016-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人