Machine Learning
文章平均质量分 85
Hearthougan
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
隐马尔科夫模型前向后向算法
本文是自己学习隐马尔科夫模型的一个总结,为了自己以后方便查阅,也算作是李航老师的《统计学习方法》的一个总结,若有疑问,欢迎讨论。推荐阅读知乎上Yang Eninala写的《如何用简单易懂的例子解释隐马尔可夫模型?》,写的非常好。我会联系两者,来作为自己的一篇学习笔记。隐马尔可夫模型: 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个原创 2017-09-13 12:09:56 · 4536 阅读 · 0 评论 -
彻底理解样本方差为何除以n-1
设样本均值为,样本方差为,总体均值为,总体方差为,那么样本方差有如下公式: 很多人可能都会有疑问,为什么要除以n-1,而不是n,但是翻阅资料,发现很多都是交代到,如果除以n,对样本方差的估计不是无偏估计,比总体方差要小,要想是无偏估计就要调小分母,所以除以n-1,那么问题来了,为什么不是除以n-2、n-3等等。所以在这里彻底总结一下,首先交代一下无偏估计。无偏估计 以例子来说明,假如你原创 2017-09-06 00:10:35 · 212202 阅读 · 103 评论 -
如何理解用信息熵来表示最短的平均编码长度
之前弄明白了信息熵是什么,由于信息熵来源于信息论,要怎么才能跟编码联系起来呢?这个问题当时没有想明白,今天查了一下资料,理解了一下,做笔记整理一下,如有错误欢迎指正。如果信息熵不明白的请看这里:http://blog.csdn.net/hearthougan/article/details/76192381首先给出结果:最短的平均编码长度 = 信源的不确定程度 / 传输的表达能力。其中信源的不确定原创 2017-09-01 23:27:31 · 12877 阅读 · 5 评论 -
一文总结条件熵、交叉熵、相对熵、互信息
条件熵:H(Y|X)表示在已知随机变量X的条件下,随机变量Y的不确定性,H(Y|X)定义为:举个例子:有一堆西瓜,已知这堆西瓜的色泽,以及每种色泽对应好瓜和坏瓜的个数,如下所示,设X表示色泽,Y表示好瓜或者坏瓜。则:这个例子就是计算条件熵的一个过程,现在证明条件熵公式:有很多书上的条件熵是这么定义的,如果继续化简就可以得到我们上面定义的条件熵,接着化简:得证!信息增益:,表示X出现后随机变量Y的不原创 2017-09-07 22:13:40 · 5639 阅读 · 1 评论 -
最大熵模型
本篇博客只是最近两天看最大熵模型的一个理解和简单总结,只为了阐述清楚最大熵模型,不涉及公式推导。为了怕很快忘记,特意综述一下,如有不正确之处欢迎指正。 最大熵原理 熵:某种意义上说,概率是度量随机事件的确定性,熵是度量随机事件的不确定性。对于随机变量的概率分布来说,随机变量的分布越均匀,其熵越大。最大熵原理:我们构建一个概率模型对某个随机变量的分布进行预测时,发现有很多概率模型...原创 2018-08-09 16:39:32 · 1034 阅读 · 1 评论 -
奇异值分解(SVD)小结
目录阵的简单理解矩阵作用于向量用矩阵的表达一个实体特征值和特征向量奇异值分解Hermitian矩阵共轭转置酉矩阵谈谈《数学之美》对SVD的理解阵的简单理解矩阵从我的理解来看,可以从两个角度来看。一个是矩阵是作用于向量,一个是矩阵表达一个实体。矩阵作用于向量对于线性空间中,对向量的变换就是通过矩阵对向量的作用来实现的,矩阵本身就表示着一种变换。假设...原创 2018-08-15 16:06:33 · 2477 阅读 · 1 评论 -
白话EM算法
EM算法其实就是一种函数的近似求解方法,它是一种迭代算法,在很多算法中都有着重要的应用,比如HMM的学习问题,GMM,语音识别中的MM-GMM以及主题模型PLSA等等,所以掌握EM的求解方式还是很必要的。本文参考李航博士的《统计学习方法》,但前提是需要了解EM以及高斯混合分布的基本概念,我不从最基础说起,希望能说的明白。EM算法可以解决极大似然估计参数的求解方法,只不过当问题的分布包含一个隐藏...原创 2018-09-04 21:31:14 · 667 阅读 · 0 评论 -
通俗理解LDA主题模型
转自:https://blog.csdn.net/v_july_v/article/details/412095150 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解LDA 的基础,但如果没有人帮助初...转载 2018-09-06 21:59:20 · 900 阅读 · 0 评论 -
详细展示RNN的网络结构
下面简单介绍一下RNN的结构,如果简略地去看,RNN结构很简单,根本没有CNN那么复杂,但是要具体实现,还是需要仔细思考一下,希望本篇博客能把RNN结构说的明白。循环神经网络(Recurrent Neural Network,RNN)DNN以及CNN在对样本提取特征的时候,样本与样本之间是独立的,而有些情况是无法把每个输入的样本都看作是独立的,比如NLP中的此行标注问题,ASR中每个音素都和前...原创 2018-09-17 20:27:54 · 17251 阅读 · 11 评论 -
数据挖掘面试笔试题(附答案)
一、单选题(共80题)1、( D )的目的缩小数据的取值范围,使其更适合于数据挖掘算法的需要,并且能够得到和原始数据相同的分析结果。A.数据清洗 B.数据集成C.数据变换 D.数据归约2、某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 ...转载 2018-09-18 09:40:35 · 121262 阅读 · 3 评论 -
图示Softmax及交叉熵损失函数
Softmax函数Softmax是将神经网络得到的多个值,进行归一化处理,使得到的值在之间,让结果变得可解释。即可以将结果看作是概率,某个类别概率越大,将样本归为该类别的可能性也就越高。Softmax就如下图(借鉴李宏毅老师的课件)SoftMax为了更加清晰的看清整个过程,我将其制作成gif,如下图所示:Softmax的工作过程交叉熵:假设和是关于样本集的两个分布,其...原创 2018-09-14 22:21:18 · 25277 阅读 · 10 评论 -
CRF++在Windows下以及Linux下的安装及测试方法
Windows与Linux下CRF++有两种不同的版本,很多时候官网无法下载,你如果需要下载CRF++,你可以点击这里下载这两个版本。Windows首先说一下Windows的安装方法(其实无需安装),以及简单的使用方法。1、解压,进入crf++-0.58,你可以看到2、你需要把红色方框内的文件复制到example\chunking文件夹下。3、打开cmd,找到刚刚的...原创 2018-09-29 15:59:43 · 2042 阅读 · 0 评论 -
朴素贝叶斯分类器
分类器就是根据某一事物一系列特征来判断该事物的类别,。其实原理很简单,并不需要什么复杂的训练结构,复杂只是计算量,这个交给计算机即可,所以懂了原理,朴素贝叶斯分类器也就掌握了。先不写理论,以例子开始,希望能说的浅显易懂。一、西瓜的好坏这里是要借鉴周志华老师书中西瓜的例子,这个例子也是我所看到的,讲解贝叶斯分类问题最好的例子。现简化如下:现已知7个西瓜的好坏,西瓜的特征有三种:色泽{青绿原创 2017-07-27 15:26:12 · 2148 阅读 · 0 评论 -
白话信息熵
距离有近有远,时间有长有短,温度有高有低,我们知道可以用米或者千米来度量距离,用时分秒可以来度量时间的长短,用摄氏度或者华氏度来度量温度的高低,那么我们常说这个信息多,那个信息少,那么信息的多少用什么度量呢?熵!信息量是了解一个未知事物需要查询的原创 2017-08-04 03:19:58 · 4703 阅读 · 1 评论 -
极大似然估计
首先看两个例子: 例1:天上有乌云,问那么下雨的概率是多少?这是一个条件概率,也称为后验概率;如果现在正在下雨,那么天上有乌云的概率是多少?这就是似然,由结果去找原因。 例2:有两个人去打一只正在吃草的鹿,一个是猎手,另一个是菜鸟,砰一声,鹿死了,那么谁最有可能打死这只鹿?这就是极大似然估计(MLE),找出导致这个结果的最有可能的原因。 最大似然估计(Maximun Like...原创 2016-11-06 12:10:18 · 1110 阅读 · 0 评论 -
Logistic Regression-逻辑回归
logistic回归分类的主要思想:根据现有的数据对分类边界线建立回归公式,以此分类,这里“回归”源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时就是寻找最佳拟合参数。 Sigmoid函数: Sigmoid函数的输入记为z,且,向量W就是我们要寻找的参数,向量X是分类器的输入数据。 为了实现logistic回归分类器,我们可以在每个特征上乘以一个回归系数W,再把所有的相乘原创 2016-11-06 21:10:55 · 1109 阅读 · 3 评论 -
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 阅读 · 0 评论 -
反向传播算法(BackPropagation,BP)
本文参考《神经网络和深度学习》,旨在说明BP算法是怎样的一个过程。在一个多层的神经网络中,反向传播算法就是不断的学习这个网络的权值和偏值,采用梯度下降法使得该神经网络的输出值与真实的目标值之间的误差最小。 1,那么为什么更新权值和偏值可以使得代价函数最小化呢? 2,以及如何更新权值和偏值呢? 由于该算法使用了很多的符号,这里需要解释一下各个符号的意义。 表示第层的第k个神经原创 2017-02-20 11:45:00 · 8778 阅读 · 1 评论 -
主成分分析(PCA)
当我们研究某个问题的时候,该问题有很多个变量,而且某些变量与变量之间存在一定的相关关系,如果两个变量存在相关关系,那么这两个变量之间存在着重叠信息,而这就造成了数据的冗余。比如一群学生,Boy和Girl,他们的性别我们可以用二维数组来表示,对于某个学生,Boy 可表示成:[1][0],Girl可表示为[0][1],其实不必,我们可以用一维数组来表示,男生为1,女孩为0。我们为了除去一组变量的相关性原创 2017-03-03 22:55:52 · 730 阅读 · 0 评论 -
KNN算法及其实现
K-邻近算法(k-NearestNeighbor,KNN),存在某一样本集,已经知道样本和对应的类别,当输入一个没有类别标识的数据时,找出与其“最相似”的K个样本,在这k个样本中,哪个类别的样本个数最多,我们就把该未知数据的类别归为此类。其中的相似性,可以利用距离来度量,而衡量距离的方法,可以是欧氏距离,闵可夫斯基距离,曼哈顿距离等等。 KNN算法步骤: 1,与处理数据原创 2017-03-04 22:55:20 · 1894 阅读 · 0 评论 -
支持向量机(SVM)(四)----SMO
我们前几节说了线性可分,以及在低维线性不可分,但是在高维是线性可分的。还有一种情况,如下图: 这种因奇异点而造成的划分平面不合理的移动,不是我们所想的,或者因为个别奇异点导致线性不可分,其余的大部分的点都是线性可分的,如果因此 就映射到高维来解决,那么也不值当,如下的情况: 这些情况因为outliers而造成了线性不可分,或者导致划分超平面不是很明确。同样为了降原创 2017-03-07 01:07:02 · 1435 阅读 · 0 评论 -
支持向量机(SVM)(二)----对偶
============================================== 本文根据Andrew NG的课程来梳理一下svm的思路。如有错误,欢迎指正。============================================== 上小节,我们说到如何求该凸优化问题,高数中我们学过,可以利用拉格朗日乘子法,来求解有约束的问题。原问题为原创 2017-03-07 01:04:28 · 971 阅读 · 0 评论 -
支持向量机(SVM)(三)----核函数及正则化
上一节最后我们说到我们根据求得的,可求得,,然后求出决策函数,但是我们知道:是的函数,我们也许不必把带入上式来求解,我们直接把上式带入决策函数可有: 假如我们已经求得最优的,在作出预测的时候,我们可以只进行输入数据x与训练样本的内积即可。在转化为对偶条件的时候,我们知道要满足KKT条件,KKT条件中有一个是:其中: 由此可以原创 2017-03-07 01:06:16 · 7524 阅读 · 0 评论 -
卷积神经网络反向传播理论推导
本文首先简单介绍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 · 7521 阅读 · 0 评论 -
浅谈全概率公式和贝叶斯公式
一、条件概率公式条件概率由文氏图出发,比较容易理解:表示B发生后A发生的概率,由上图可以看出B发生后,A再发生的概率就是,因此:由:得:这就是条件概率公式。假如事件A与B相互独立,那么:注:相互独立,两个事件表示成文氏图,也可以画成上图形式,相互独立:表示两个事件发生互不影响,因此可以同时发生(这就可能出现相交)。而互斥:原创 2017-07-15 16:25:56 · 39118 阅读 · 21 评论 -
线性分类器-KNN、多类SVM、Softmax
本文只是记录一下实现的代码,具体的思想还请看cs231n的课程笔记,其讲解的非常好,智能单元翻译的也很不错。一、CIFAR-10数据集:图1 CIFAR-10示例二、KNN图2 KNN分类器示例 如图所示,K的取值不同得出来的分类结果也可能是不同的,因此需要对k进行寻参,找出在训练机上最好的k,来进行测试。 求两幅图片的相似性,KNN使用的是距离度量,但原创 2017-05-11 16:22:52 · 2913 阅读 · 1 评论