
机器学习
文章平均质量分 87
changyuanchn
这个作者很懒,什么都没留下…
展开
-
深度学习之autoencoder
1)autoencoderautoencoder是一种无监督的学习算法,他利用反向传播算法,让目标值等于输入值。如图所示:Autoencoder尝试学习一个 的函数。也就是说autoencoder尝试逼近一个恒等函数,使得输出接近于输入 。当然为了使这个函数有意义,需要加入一些限制条件(比如说限制隐藏神经元的数目),就可以发现一些有意义的结构。Autoencoder可原创 2013-11-12 22:00:02 · 68775 阅读 · 13 评论 -
LVQ聚类算法
LVQ算法LVQ是learning vector quantization的简称,是一种被称之为学习向量量化的算法。其算法思想是通过找到一组原型向量来代表聚类的中心。而与其他的聚类算法不同,LVQ假设每个样本是有标签的,LVQ通过这些假设的标签来辅助聚类。LVQ算法实现给定样本集{(x1),(x2),...,(xN)}{(x1),(x2),...,(xN)} \left \{ ...原创 2018-05-23 23:08:28 · 12274 阅读 · 0 评论 -
层次聚类
引言前面,我们介绍了一些聚类的方法,像k-means啊,密度聚类,LVQ啊,不管怎么样,都要首先随机指定k个中心点,然后用这些中心点逐步迭代找到最终的中心点。这就有问题了,如果随机选取的点不好,不具有代表性,那么就会很糟糕,轻则只是聚类慢,重则会导致聚类效果比较差。本节我们引入层次聚类,它不需要提前指定随机的中心点,能够有效的对初始样本进行聚类。层次聚类本质上讲,层次聚类是自底向上...原创 2018-06-28 22:58:46 · 3476 阅读 · 0 评论 -
密度聚类
引言其实对于所有的聚类问题,都有一个核心点,那就是以什么样的规则来划分两个点是不是同一类。密度聚类,本质上就是基于一种密度的概念来进行聚类。而密度的定义本质上也是来自于两点的距离,所以其实对于聚类的算法来看,大家本质上都差不多,谁也别笑话谁。下面我们来总结介绍一种叫做DBSCAN的密度算法。DBSCANDBSCAN 的全称是 Density-Based Spatial Cluste...原创 2018-06-28 23:02:17 · 11646 阅读 · 0 评论 -
极大似然估计与贝叶斯估计
引言在机器学习任务中,最最经常遇到的一个问题就是给定一组训练样本,学习到生成这组样本的模型的参数,这也是统计学习的根本任务。我们知道统计学上分频率学派和贝叶斯学派,那么自然的,对这个问题的解决就有两种模型,一种是频率学派推崇的极大似然估计,一种是贝叶斯学派主张的贝叶斯估计,下面我们就来介绍下这两种估计极大似然估计频率学派认为给定一个模型,她的参数是一个固定值,因此可以直接根据训练数...原创 2018-06-28 23:03:32 · 1382 阅读 · 2 评论 -
决策树
引言决策树是一种树模型,本质上讲就是利用特征对空间进行划分的一种方法。在计算机的数据结构里面我们有二叉树等等模型,在思想上,决策树与他们是一样的。决策树是一种最简单的机器学习算法,甚至某种程度上把它当做机器学习算法有点别扭。对于决策树算法来说,主要包括两点:以什么样的规则选择根节点剪枝防止过拟合常见的决策树算法有ID3,C4.5,CART等算法,我们下面来一一介绍决策树模...原创 2018-06-28 23:06:09 · 426 阅读 · 0 评论 -
典型相关分析(CCA)
CCA是数据挖掘中重要的算法,可以挖掘出数据间的关联关系的算法。基础知识如何衡量两个变量之间的相关性呢?我们有相关系数,如下所示:ρ(X,Y)=cov(X,Y)DX√DY√ρ(X,Y)=cov(X,Y)DXDY \rho(X, Y) = \frac{cov(X,Y)}{\sqrt{DX}\sqrt{DY}}值ρ(X,Y)ρ(X,Y) \rho(X, Y)的绝对值越接近1,说明X...原创 2018-07-30 23:14:03 · 35604 阅读 · 2 评论 -
LDA线性判别分析
算法思想LDA是经典的有监督的降维方法。而我们的降维方法,一般都是将样本数据进行投射。LDA的思想就是将样本投射到一条直线上,使同类的样本点尽可能的接近,而异类的样本点尽可能的远离。如下图所示:算法推导假设我们的样本数据是D={(x1,y1),...,(xm,ym)}D={(x1,y1),...,(xm,ym)}D = \left \{ (x_1,y_1), ..., (x_m,y...原创 2018-07-30 23:15:50 · 464 阅读 · 0 评论 -
多维缩放算法(MDS)
算法思想MDS算法思想很简单,一句话就是保持样本在原空间和低维空间的距离不变。因为距离是样本之间一个很好的分离属性,对于大多数聚类算法来说,距离是将样本分类的重要属性,因此当我们降维后,保持距离不变,那么就相当于保持了样本的相对空间关系不变。MDS算法假设mmm个样本在原始空间中的距离矩阵为D∈Rm∗mD∈Rm∗mD \in R^{m*m},distijdistijdist_{...原创 2018-07-30 23:16:31 · 3957 阅读 · 0 评论 -
adaboost提升算法
引言俗话说得好,三个臭皮匠赛过诸葛亮。更主要的是三个臭皮匠好找,一个诸葛亮太难找了。在机器学习里面也是一样的。我们可以设计出各种分类器,然而分类器的效果确实不一而同的,相对而言,效果较差的分类器比效果很好的分类器更好设计,后者很多时候可遇而不可求。那么是否有什么方法能够将一系列的弱分类器组合,使其能够提示分类效果呢?这就是机器学习里面的提升学习。而且后来Schapire证明强可学习与弱可学习是...原创 2018-07-30 23:17:45 · 788 阅读 · 0 评论 -
朴素贝叶斯算法
引言bayes在统计学上是一个非常重要的概念,直接导致了一个流派的诞生,本章我们首先回顾一下bayes公式,以及其在统计学上的一些概念,然后将其引入到机器学习中,引出朴素贝叶斯算法。朴素贝叶斯算法在垃圾邮件过滤等问题上应用广泛,是一个很简单且很实用的算法。Bayes定理在数学上,我们用贝叶斯定理表示随机事件的条件概率,即P(A|B)P(A|B) P(A|B) 表示事件B发生的情况...原创 2018-05-23 23:07:34 · 619 阅读 · 0 评论 -
模糊聚类
引言前面我们讲了k-means, k-means属于一种硬聚类的方法,也就是说一个样本属于哪个类了后,他就是哪个类别的了,非此即彼,来不得半点马虎。但是现实生活中,哪有这么多的确定的事啊,身不由己经常发生,因此引入了模糊聚类,英文名Fuzzy c-means clustering, 模糊聚类意味着样本不再是刚性的属于某一类别了,而是给出其属于各个类别的概率。因此称之为模糊聚类。模糊聚类...原创 2018-05-23 23:05:59 · 14211 阅读 · 1 评论 -
KNN算法
K近邻算法K近邻算法全名为k-nearest neighbor,简称KNN,是一种思想非常简单的监督学习方法。 其核心思想就是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。也就是说给定有label的训练样本,新的待分类样本需要计算与所有训练样本的距离,然后排序选择最近的K个样本,这K个样本属于哪个类别的多,那么此待分...原创 2018-05-17 23:48:00 · 443 阅读 · 0 评论 -
机器学习之神经网络
引言在机器学习领域,主要存在着两大流派,一派是统计学习方法,一派就是神经网络。统计学习方法大多具有严谨的数学推理,模型都有很完备的数学解释,像是SVM,就是通过核把非线性问题映射到高维空间变为线性问题。而神经网络则不然,一直没有找到合理的数学解释,迄今为止都属于实验推动,虽然说是思想来源于人类的神经元的模拟,但是没有数学解释垫背,终究没有那么大的底气。神经网络在1943年就已经被提出了,然...原创 2018-05-15 23:27:19 · 962 阅读 · 0 评论 -
早期深度神经网络的问题
引言在神经网络最开始被提出来的时候,人们设计的网络大多是这个样子的一个输入层,一个输出层,一个隐藏层,用这样的网络能够解决很多实际的问题。但是一层隐藏层的网络能够学习到的东西毕竟是有限的,自然而然的人们就想到将网络进行扩展,给神经网络多增加隐藏层,那么神经网络就应该能够学习到更加复杂的模型,就如下所示:人们发现对于很多问题,增加了一层隐藏层,效果有提升哎,那就就自然而然的继续增...原创 2018-05-15 23:48:34 · 1165 阅读 · 0 评论 -
神经网络之代价函数的选择
引言上一章节,我们介绍了神经网络,同时在后面的扩展遗留了几个问题。其中一个问题就是代价函数的选择。常规的机器学习算法中,我们都是选取的二次函数作为代价函数,这个没有什么大的问题,但是本章我们分析一下二次代价函数,看下二次代价的性质,同时看下是否有其他更好的代价函数可供我们选择。二次代价函数上一章节的神经网络中,我们选择了二次代价函数与sigmoid激活函数作为例子,引出介绍了神经网...原创 2018-05-15 23:51:21 · 3144 阅读 · 0 评论 -
神经网络之softmax神经元
引言在之前的内容里,我们采用的是sigmoid函数作为输出层神经元。这里我们介绍一种softmax函数作为新的输出层。softmax函数softmax本质上是一种归一化的过程,假设神经元的带权输入为: zLj=∑kwLjkaL−1k+bLjzjL=∑kwjkLakL−1+bjL z_j^L= \sum_k w_{jk}^La^{L-1}_k + b_j^L 定义输出神经元的激...原创 2018-05-15 23:52:17 · 1501 阅读 · 0 评论 -
机器学习之过拟合
引言什么是过拟合呢?所谓的过拟合实际上就是分类器或者函数过度的拟合了训练数据,在训练数据上表现良好,但是在其他的数据上泛化能力非常差。如下图所示:(plus:其实从这张图中也可以得出一个不严谨的结论,函数越简单,其拟合能力可能越好。这里面其实也蕴含了一些哲学道理与生活哲理,极简生活哲学,扯远了。。。。)我们试图学习分开红点和蓝点的一个分类器(本质上就是学习一个函数),可以看到绿色的...原创 2018-05-15 23:54:08 · 833 阅读 · 0 评论 -
遗传算法与进化算法
引言1858年7月1日C.R.达尔文与A.R.华莱士在伦敦林奈学会上宣读了进化论的论文,至此进化理论深入人心,为广大吃瓜群众开辟了一个思想的新的天地。而我们的机器学习大师们向来喜欢从生物学家那里找灵感,神经网络的灵感据说来自于人体的神经元,而根据进化论的思想,我们的大师们提出了遗传算法和进化算法。(其实我觉得我们的大师们只是给自己发明的东西找个勉强站得住脚的理由吧,哈哈。)遗传算法...原创 2018-05-15 23:56:38 · 46418 阅读 · 5 评论 -
k-means算法
引言通常来说,机器学习根据训练数据是否有标签可以分为两类,一类是监督学习,也就是训练数据有标签,即给定输入,我们知道他属于哪一类,另外一种就是无监督学习,我们不知道他的标签是什么,对于数据应该怎么分类也所知不多。对于监督学习,有很多算法,包括神经网络啊,支持向量机啊等等。对于无监督学习,目前的手段并不多,主要是聚类,通过数据内部结构,将数据自动聚成几个类别,k-means就是聚类的代表算法之一...原创 2018-05-23 23:04:12 · 718 阅读 · 0 评论 -
提升树,bagging与随机森林
提升树是一种以分类树或者回归树为基本分类器的提升方法。对于分类树只需将adaboost算法中的基函数设置为二分类二叉树即可。而回归树则是根据残差来训练下一个分类器的回归二叉树。下面主要介绍一下回归提升树的算法。回归提升树回忆一下,回归树就是将输入空间分割成MMM个不相关的区域R1,...,RMR1,...,RMR_1,...,R_M,即回归树为f(x)=∑Mm=1cmI(x∈R...原创 2018-07-30 23:18:40 · 2535 阅读 · 0 评论