
机器学习
zxhohai
学生党,学习提升ing
展开
-
隐马尔科夫(HMM)模型
隐马尔科夫(HMM)模型隐马尔科夫(Hidden Markov model)模型是一类基于概率统计的模型,是一种结构最简单的动态贝叶斯网,是一种重要的有向图模型。自上世纪80年代发展起来,在时序数据建模,例如:语音识别、文字识别、自然语言处理等领域广泛应用。隐马尔科夫模型涉及的变量、参数众多,应用也很广泛,以至于很多人不明白模型到底在做什么,模型能够做什么。HMM中hidden&Markov首先需要原创 2017-10-17 21:42:23 · 9988 阅读 · 1 评论 -
机器学习系列(三)——误差(error),偏差(bias),方差(variance)
训练机器学习模型时,我们希望得到一个泛化性能优异的模型。在上一篇博客回归模型中,当我们采用多项式回归,并不断增加多项式的次数时,模型越来越复杂,但是在测试集上的误差并没有逐步降低。 这表明一个复杂的模型并不总是能在测试集上表现出更好的性能,那么误差来自哪里呢?泛化误差(error)我们知道,算法在不同训练集上学得的结果很可能不同,即便这些训练集是来自于同一个分布。以回归任务为例,对测...原创 2018-06-10 21:44:57 · 14328 阅读 · 4 评论 -
RapidMiner教程
最近接触到一款强大的数据挖掘软件平台RapidMiner,RapidMiner是世界领先的数据挖掘解决方案,通过在图像化界面拖拽建模,轻松实现了数据准备、机器学习和预测模型部署,无需编程,简单易用。下图展示了其工作流程: 其具有如下优势:统一的平台。一个平台,一个用户界面,一个系统,支持从数据准备,模型部署到正在进行的模型管理的完整工作流程。可视化工作流设计。 快速易学和方便使用的拖放方...原创 2018-06-29 21:03:32 · 57591 阅读 · 2 评论 -
机器学习系列(四)——规则化(Regularize)
机器学习中,我们一直期望学习到一个泛化能力(generalization)强的函数,只有泛化能力强的模型才能很好地适用于整个样本空间,才能在新的样本点上表现良好。但是训练集通常只是整个样本空间很小的一部分,在训练机器学习模型时,稍有不注意,就可能将训练集中样本的特性当作了全体样本的共性,以偏概全,而造成过拟合(overfitting)问题,如何避免过拟合,是训练机器学习模型时最亟待解决的绊脚石。 ...原创 2018-07-09 20:59:11 · 11579 阅读 · 2 评论 -
机器学习系列(五)——训练集、测试集、验证集与模型选择
在机器学习过程中,为了找到泛化性能最好的那个函数,我们需要确定两方面的参数:1、假设函数参数,也就是我们通常所说的www和bbb,这类参数可以通过各种最优化算法自动求得。2、模型参数,比如多项式回归中的多项式次数,规则化参数λλ\lambda等,这些参数被称为超参数,一般在模型训练之前通过手工指定(当然也可以采用网格法等算法进行寻优)。确定模型超参数的过程称为模型选择。模型选择借用吴恩...原创 2018-07-12 15:57:25 · 48783 阅读 · 7 评论 -
机器学习系列(六)——梯度下降解释及其技巧
在训练机器学习模型寻找最优函数时,梯度下降(Gradient Descent)是最常用的优化(optimization)方法。在给定一组初始参数θ0θ0\theta^0时,梯度下降算法能够顺着损失函数下降最快的方向逐步逼近最低点,也就是最佳参数θ∗θ∗\theta^*的位置。那梯度下降算法为什么work呢?为什么梯度的反方向就是损失函数下降最快的方向呢?梯度下降算法解释首先回顾一下梯度下降...原创 2018-07-30 20:25:12 · 5255 阅读 · 0 评论 -
机器学习系列(七)——分类问题(classification)
这一篇博客将介绍机器学习中另一个重要的任务——分类(classification),即找一个函数判断输入数据所属的类别,可以是二类别问题(是/不是),也可以是多类别问题(在多个类别中判断输入数据具体属于哪一个类别)。与回归问题(regression)相比,分类问题的输出不再是连续值,而是离散值,用来指定其属于哪个类别。分类问题在现实中应用非常广泛,比如垃圾邮件识别,手写数字识别,人脸识别,语音识别...原创 2018-08-19 19:28:41 · 70914 阅读 · 0 评论 -
机器学习系列(八)——Logistic回归解决二分类问题
分类问题的本质是确定样本xxx属于类别cicic_i的概率p(Ci|x)p(Ci|x)p(C_i|x)。在上周整理的分类问题中,我们采用生成式方法,借助贝叶斯公式和极大似然估计,首先计算出p(x|Ci)p(x|Ci)p(x|C_i)和p(x,Ci)p(x,Ci)p(x,C_i),然后再计算出p(Ci|x)p(Ci|x)p(C_i|x)。以二分类为例: p(C1|x)=p(C1,x)p(x)=p(...原创 2018-08-31 18:15:01 · 9625 阅读 · 11 评论 -
CCF ADL97《图计算》整理
万物皆关联。作为表达和处理关联关系的最佳方式,图和图计算已经成为人们的关注重点和研究热点,广泛应用于金融分析、社交分析、智慧交通等诸多领域。作为大数据处理的一种典型模式,图计算不仅对计算机体系结构提出了严峻的挑战,也对系统软件、数据管理和处理模式提出了重大挑战。11.17-18有幸在武汉参加了CCF组织的ADL97《图计算》讲座,一共7位学术界和工业界的著名学者围绕大图处理的系统架构、表达存储方式...原创 2018-11-21 21:35:33 · 2474 阅读 · 0 评论 -
Gensim简介
Gensim(generate similarity)是一个简单高效的自然语言处理Python库,用于抽取文档的语义主题(semantic topics)。Gensim的输入是原始的、无结构的数字文本(纯文本),内置的算法包括Word2Vec,FastText,潜在语义分析(Latent Semantic Analysis,LSA),潜在狄利克雷分布(Latent Dirichlet Alloca...原创 2018-11-30 21:50:12 · 24189 阅读 · 2 评论 -
表示学习(Representation Learning)之局部表示(Local Representation)与分布式表示(Distributed Representation)
一个良好的表示是内容充分高效表达的基础,作为沟通计算机与现实世界的桥梁,计算机行业人员每时每刻都在研究事物的表示。比如:编程语言,早期的机器语言和现在的高级程序语言可以看作是指令的两种不同表示方式,从可读性方面评价,两者的表达能力相差甚远。再比如:数据结构,其研究的正是数据在计算机中的高效表达与存储,如下图所示,我们可以采用链表和红黑树两种不同的数据结构对有序表进行存储。在对有序表进...原创 2019-03-25 23:10:50 · 6313 阅读 · 1 评论 -
机器学习系列(九)之——模型参数估计(最小二乘估计、最大似然估计、最大后验估计)
给定模型与参数,我们就能对样本空间进行描述。大家很自然地会问,这个描述是不是最不好的呢?我们用什么评价标准判断这个描述的好坏呢?这篇博客将一起探讨这个问题。在统计学中,根据从总体中抽取的随机样本来估计模型未知参数的过程被称为参数估计(parameter estimation)。 常用的参数估计方法有:最小二乘估计,最大似然估计和最大后验估计,其中最小二乘估计用于函数模型的参数估计,最大似然估计和...原创 2019-04-05 20:03:57 · 12608 阅读 · 0 评论 -
主题模型(4)——LDA模型及其Gibbs Sample求解
之前关于主题模型整理了《文本建模之Unigram Model,PLSA与LDA》与《再看LDA主题模型》两篇博客,以及针对PLSA的求解整理了博客《主题模型(3)——PLSA模型及其EM算法求解》,这一篇博客将继续整理LDA(Latent Dirichlet Allocation)模型的Gibbs Sample求解方法。LDA回顾同样,首先回归下LDA模型的文档生成过程。我们知道,LDA在PL...原创 2019-05-19 16:32:16 · 1543 阅读 · 0 评论 -
不依靠第三方库(除了numpy)实现一个神经网络
现在各种机器学习、深度学习第三方库都有非常成熟高效的神经网络实现,借助这些第三方库,短短几行代码就能实现一个神经网络。但是对于一个机器学习/深度学习的入门者来说,这些代码封装得太过彻底,往往一行代码就能实现BP算法或者梯度下降算法,这导致很多初学者即使掌握了繁复的数学推导后,依旧对神经网络的工作流程没有一个直观的认知。在我看来,自己动手实现一个神经网络,包括BP算法,梯度下降算法等,是将理论应用于...原创 2019-05-07 22:05:04 · 3897 阅读 · 3 评论 -
机器学习系列(二)——回归模型
回归(Regression)模型是指机器学习方法学到的函数的输出是连续实数值,回归模型可以用于预测或者分类,这篇博客中主要整理用于预测的线性回归模型和多项式回归模型。线性回归按照机器学习建模的三个步骤,首先需要确定选用的模型,这里就是线性回归(Linear regression)模型,然后将其形式化表达: h(x)=w1x1+w2x2+⋯+wnxn+bh(x)=w1x1+w2x2+⋯+w...原创 2018-06-06 21:48:56 · 19442 阅读 · 8 评论 -
机器学习系列(一)——机器学习简介
前前后后接触机器学习也有一年时间,但一直没有系统整理总结过。从本篇博客开始,将记录下我的学习内容与参考资料,系列按照李宏毅的机器学习课程,吴恩达的机器学习课程和周志华的西瓜书为主线。发展历程\quad人类一直试图让机器具有智能,也就是人工智能(Artificial Intelligence)。从上世纪50年代,人工智能的发展经历了“推理期”,通过赋予机器逻辑推理能力使机器获得智能,当时...原创 2018-06-05 21:33:46 · 249658 阅读 · 23 评论 -
数据降维之LDA&PCA
数据降维之LDA&PCA我们都知道机器学习算法的性能受到样本数据的特征维数的影响,特征维数越多,需要的训练数据也越大,机器学习算法所消耗的时间也越多,甚至成指数爆炸增长。同时过多的特征维数之间也可能存在相互关联的特征和一些噪声。因此,在训练机器学习算法之前,通常我们会对样本数据进行预处理,数据降维就是通常需要完成的一步。线性判别分析(LDA)线性判别分析属于有监督学习算法,也就是对于每一个给定的n维原创 2017-10-06 16:24:10 · 9139 阅读 · 5 评论 -
Logistic回归与Softmax回归
Logistic回归与Softmax回归Logistic回归和Softmax回归属于机器学习和深度学习中比较经典和基础的两个算法,许多优秀的模型中都使用到了这两个算法。所以这周打算整理和介绍一下Logistic回归和Softmax回归。线性回归既然这两个算法中都有“回归”二字,因此我们有必要先复习一下回归(regression)问题。回归问题的形象表述如下,假设我们有一批带标记的样本数据{(x(1)原创 2017-10-24 17:56:33 · 1887 阅读 · 0 评论 -
初读GoogLeNet《Going Deeper with Convolutions》
初读GoogLeNet《Going Deeper with Convolutions》最近研一上,正在上《神经网络》这门课程,老师推荐我们去阅读关于GoogLeNet的文章,GoogLeNet是2014年ImageNet挑战赛(ILSVRC2014)的冠军,《Going Deeper with Convolutions》是GoogLeNet系列的第一篇(论文地址),本人最近刚好阅读完这篇论文,在此记原创 2017-11-14 23:06:30 · 695 阅读 · 0 评论 -
DenseNet---《Densely Connected Convolutional Networks》
DenseNet—《Densely Connected Convolutional Networks》这学期数字图像处理课程要求在课堂做一次presentation,于是选择了CVPR2017最佳论文《Densely Connected Convolutional Networks》。这篇论文的第一作者是两位中国学生,黄高和刘壮,简直是佩服。论文中作者创新性的提出了一种新的卷积神经网络架构,并将源代原创 2018-01-02 21:36:44 · 2915 阅读 · 0 评论 -
反向传播(BP)算法
反向传播(BP)算法我们知道反向传播(BP)算法的发明促成了神经网络的第二次发展浪潮,到目前为止BP算法依旧是训练神经网络的首选算法。但是对于如此重要的一个算法,我们大多数人只是记住算法的计算公式,或者在程序中直接调用,对算法的来龙去脉知之甚少,这篇博客将从数学上推导出BP算法的计算公式。损失函数最小化和梯度下降法几乎所有的机器学习算法的训练目标都是找到使损失函数最小的参数。具体到原创 2017-10-12 08:55:58 · 4754 阅读 · 1 评论 -
基于决策树和朴素贝叶斯算法对Adult数据集分类
基于决策树和朴素贝叶斯算法对Adult数据集分类1、数据集介绍机器学习算法需要作用于数据,数据的属性和特征决定了机器学习算法是否适用,同时,数据质量的好坏也直接决定算法表现的好坏。这篇博客选择在Adult数据集上进行实验。Adult数据集该数据从美国1994年人口普查数据库中抽取而来,因此也称作“人口普查收入”数据集,共包含48842条记录,年收入大于50k$的占比23.9原创 2018-01-17 14:23:08 · 27898 阅读 · 81 评论 -
文本建模之Unigram Model,PLSA与LDA
LDA(Latent Dirichlet Allocation)是一个优美的概率图模型,可以用来寻找文本的主题。最近系统的学习了一下这个模型,主要参考了《LDA八卦》和July的博客《通俗理解LDA主题模型》。本文主要对文本建模进行梳理,其中的涉及的数学知识将在另外的博客中讲解。1、Unigram Model1.1、频率学派Unigram Model是最简单的文本模型,认为一篇...原创 2018-03-08 22:14:39 · 3605 阅读 · 0 评论 -
使用sklearn简单进行SVM参数优选
SVM简单回顾支持向量机(SVM)方法建立在统计学VC维和结构风险最小化原则上,试图寻找到一个具有最大分类间隔的超平面,支持向量(Support Vector)是支持向量机训练的结果,在进行分类或者回归时也只依赖支持向量。因此SVM具有良好的鲁棒性,对未知数据拥有很强的泛化能力,特别是在数据量较少的情况下,相较其他传统机器学习算法具有更优的性能。 对于样本数据线性不可分的情况,通常采用核方法...原创 2018-03-22 16:56:50 · 20727 阅读 · 3 评论 -
奇异值分解与LSA潜在语义分析
传统的向量空间模型(Vector Space Model)中,文档被表示成由特征词出现频率(或概率)组成的多维向量,然后计算向量间的相似度。向量空间模型依旧是现在很多文本分析模型的基础,但向量空间模型无法处理一词多义和一义多词问题。Scott Deerwester,Susan T. Dumais等人在1990年提出了LSA(Latent Semantic Analysis,潜在语义分析)又称LSI...原创 2018-04-12 19:40:49 · 6569 阅读 · 6 评论 -
SenticNet情感词典介绍
在进行情感分析时,一个好的情感词典能够让我们的工作事半功倍,较为出名的情感词典有SentiWordNet,General Inquirer等,这篇博客将介绍另外一个出色情感词典,SenticNet。简介当谈论SenticNet时,我们正在谈论概念层面的情感分析,即通过语义和语言学来完成极性探测、情感识别等任务,而不是单纯的依靠词共现频率。SenticNet可以看作是以下其中一种: 1...原创 2018-04-13 12:07:19 · 11635 阅读 · 1 评论 -
层次主题模型——Hierarchical LDA
在LDA主题模型提出后,其在很多领域都取得了很成功的应用,如生物信息、信息检索和计算机视觉等。但是诸如LDA之类的主题模型,将文档主题视为一组“flat”概率分布,一个主题与另一个主题之间没有直接关系,因此它们能够用于挖掘语料中蕴含的主题,但是无法发现主题之间的关联和层次。对于每一篇文档,主题层次是显而易见的,是一个由粗到细,由宽泛到具体逐渐层层递进,逐渐细化。于是,LDA的作者Blei教授在LD...原创 2019-07-05 12:07:45 · 6842 阅读 · 7 评论