
机器学习
clvsit
人生不是戏剧,而我亦非主角
展开
-
EM 算法理解
EM 算法是一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。EM 算法的每次迭代由两步组成:E 步,求期望(expectation);M 步,求极大(maximization)。所以这一算法称为期望极大算法(expectation maximization algorithm),简称 EM 算法。本篇博客通过具体的案例来介绍关于 EM 算法的理解。原创 2020-06-18 20:42:38 · 537 阅读 · 0 评论 -
隐马尔可夫模型(上)基本概念
隐马尔可夫模型的介绍与基本概念整理,包括模型的基本概念,组成成分,以及各成分之间的计算过程,通过一个简单的例子带读者理解隐马尔可夫模型。原创 2020-06-02 22:05:22 · 945 阅读 · 0 评论 -
FP-growth
FP-growthFP-growth 算法能够更有效地挖掘数据,但不能用于发现关联规则。FP-growth 基于 Apriori 算法构建,但在完成相同任务时采用了一些不同的技术。Apriori:在每次循环的连接步中都要扫描数据集,来计算当前组合而成的项集的支持度。FP-growth:只需要对数据库进行两次扫描,并将数据集存储在一个特定的称作 FP 树的数据结构。这种做法能够使得算法的执...原创 2019-04-27 20:34:49 · 1850 阅读 · 0 评论 -
模型优化
优化是应用数学的一个分支,也是机器学习的核心组成部分。实际上,机器学习算法 = 模型表征 + 模型评估 + 模型优化。其中,模型优化所做的事情就是在模型表征空间(假设空间)中找到模型评估指标最好的模型。需要注意的是不同的优化算法对应的模型表征和评估指标不尽相同。先前,我很纠结是把损失函数放在模型评估中,还是放在模型优化这一篇博客中。准确地说,损失函数是用来作为模型评估的标准,不同的模型有不同的损...原创 2019-05-31 21:43:03 · 3920 阅读 · 1 评论 -
模型评估-评估方法
通常通过实验测试来对学习器的泛化误差进行评估并进而做出选择。为此,需要使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。【重要假设】:测试样本也是从样本真实分布中独立同分布采样而得。举个简单的例子,假设你要检验新研发的药对人的作用,你肯定是选择小白鼠,而不是红鲤鱼。因为红鲤鱼是鱼类,而小白鼠与...原创 2019-05-29 21:41:26 · 5112 阅读 · 0 评论 -
模型优化-动量方法
动量梯度下降(Gradient Descent With Momentum),简称为动量方法(Momentum),运行速度几乎总是快于标准的梯度下降算法,并且能够解决随机梯度下降所遇到的山谷震荡以及鞍部停滞问题,这部分内容请阅读上一篇博客梯度下降算法。根据梯度下降算法的参数更新公式:w=w−η∂L(w)∂ww = w - \eta\frac{\partial L(w)}{\partial w...原创 2019-06-02 18:05:11 · 2396 阅读 · 2 评论 -
模型优化-AdaGrad
在先前介绍的梯度下降算法以及动量方法都有一个共同点,即对于每一个参数都用相同的学习率(步长)进行更新。但是在实际应用中,各参数的重要性肯定是不同的,所以对于不同的参数要进行动态调整,采取不同的学习率,让目标函数能够更快地收敛。本篇博客主要借鉴 深度学习优化方法-AdaGrad 以及《百面机器学习》,若构成侵权则立即删除。【做法】:将每一个参数的每一次迭代的梯度取平方,然后累加并开方得到 r,最...原创 2019-06-02 20:53:25 · 6224 阅读 · 1 评论 -
模型优化-RMSprop
RMSprop 全称 root mean square prop 算法,和动量方法一样都可以加快梯度下降速度。关于动量方法的内容可以参考这篇博文模型优化-动量方法。动量方法借助前一时刻的动量,从而能够有效地缓解山谷震荡以及鞍部停滞问题。而 RMSprop 对比动量方法的思想有所不同,以 y = wx + b 为例,因为只有两个参数,因此可以通过可视化的方式进行说明。假设纵轴代表参数 b,横轴...原创 2019-06-02 22:54:41 · 16753 阅读 · 11 评论 -
模型优化-Adam
Adam(Adaptive Moment Estimation) 优化算法实质上是将 Momentum 和 RMSprop 进行结合。Momentum 具有保持惯性的优点,RMSprop 实际上根据参数来调整学习率的衰减,体现环境感知能力。Adam 结合 Momentum 和 RMSprop,因此同时拥有惯性保持和环境感知这两个优点,而这两个优点也是缓解山谷震荡和鞍部停滞的关键动力。简单地介绍了...原创 2019-06-03 17:10:33 · 2101 阅读 · 0 评论 -
决策树-ID3
ID3 算法由 Quinlan 在 1986 年提出,核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。关于决策树的内容可参考 。【具体方法】:从根结点(root node)出发,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为...原创 2019-06-03 21:54:52 · 507 阅读 · 0 评论 -
模型选择-决策树
决策树(decision tree)是一种基本的分类与回归方法。在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是 if-then 规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。【决策树组成】:根决策点:对应一个特征判断。决策节点:对应一个特征判断。叶子节点:对应决策结果。根决策点和决策节点又可统一用内部节点来表示。【分类过程】:从根节点开始,对实例的...原创 2019-06-03 22:25:52 · 6506 阅读 · 2 评论 -
基于 Wi-Fi 的室内定位系统
目前,随着国内外相关从业人员的研究,研究者们提出了众多室内定位技术的理论与方法。在此仅讨论基于 Wi-Fi 的室内定位技术。WI-FI室内定位近年来Wi-Fi技术飞速发展,城市中的公共场所如大型超市商场、学校、企业等都已经广泛部署Wi-Fi。Wi-Fi室内定位技术已经出现了很多具有代表性的研究成果,如RADAR系统、Nibble系统、Weyes系统等室内定位系统。2012年,Google把Wi...原创 2019-06-04 10:30:30 · 9218 阅读 · 9 评论 -
决策树-C4.5
C4.5 算法由 Quinlan 于 1993 年提出,核心部分与 ID3 算法相似,只是在 ID3 算法的基础上进行了改造——在特征选择过程以信息增益比作为选择准则。【具体方法】:从根结点(root node)出发,对结点计算所有可能特征的信息增益比,选择信息增益比最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很...原创 2019-06-04 12:31:33 · 524 阅读 · 0 评论 -
模型选择-朴素贝叶斯(上)
朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入 x,利用贝叶斯定理求出后验概率最大的输出 y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。实际上学习到生成数据的机制,所以属于生成模型。概率论基本知识联合概率:设 A,B 是两个随机事...原创 2019-06-04 19:56:39 · 775 阅读 · 0 评论 -
模型选择-朴素贝叶斯(下)
朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入 x,利用贝叶斯定理求出后验概率最大的输出 y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。实际上学习到生成数据的机制,所以属于生成模型。极大似然估计在朴素贝叶斯法中,学习意味着估计 P(...原创 2019-06-04 20:45:25 · 763 阅读 · 2 评论 -
决策树可视化
决策树相比其他算法的一个重要特性就是——可解释性,构建决策树的过程就相当于形成 if-then 规则集。如果我们能够将生成的决策树可视化,那么我们就可以对数据集与预测值之间的关系有清晰的认识。我们可以使用 graphviz 包来帮助我们可视化决策树模型,安装地址传送门。然后,选择适合操作系统的版本下载。下载完成后可以将 graphviz bin 目录路径添加到系统环境变量中,这样方便后续的操作...原创 2019-06-30 22:01:44 · 5171 阅读 · 0 评论 -
模型优化-梯度下降算法
梯度下降(Gradient Descent)算法是机器学习中使用非常广泛的优化算法。当前流行的机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。【思想】:要找到某函数的最小值,最好的方法是沿着该函数的梯度方向探寻,例如物理学上的加速度与速度的关系。当加速度为零时,此时速度可能是最大,也有可能是最小,这取决于函数曲线。【步骤】:随机取一个自变量的值 x0x_0x0;对应该自变量...原创 2019-05-31 21:39:11 · 3321 阅读 · 0 评论 -
特征选择-过滤式选择
过滤式方法先按照某种规则对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关,这相当于先用特征选择过程对初始特征进行“过滤”,再用过滤后的特征来训练模型。【某种规则】:按照发散性或相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,从而选择满足条件的特征。特征的发散性:如果一个特征不发散,例如方差接近于 0,也就是说样本在该特征上基本没有差异,那么这个特征对于样本的区分并...原创 2019-05-28 23:09:11 · 17143 阅读 · 5 评论 -
K-近邻算法
K 近邻法K 近邻法(k-nearest neighbors,KNN)是一种基本分类与回归方法,于 1968 年由 Cover 和 Hart 提出。【过程】:假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其 K 个最近训练实例的类别,通过多数表决等方式进行预测。如上图所示,绿色方块 w1、蓝色六角星 w2 分别代表训练集中的两个类别。图中与红色五角星最相近的 3(k=...原创 2019-04-07 21:04:40 · 1934 阅读 · 0 评论 -
多维缩放 MDS
多维缩放多维缩放(Multiple Dimensional Scaling,简称 MDS)是一种经典的降维方法,要求原始空间中样本之间的距离在低维空间中得以保持。推导过程假定 n 个样本在原始空间的距离矩阵为 D∈Rn×nD \in R^{n \times n}D∈Rn×n,其中第 i 行 j 列的元素 distijdist_{ij}distij 为样本 xix_ixi 到 xjx_jx...原创 2019-04-15 19:55:42 · 3443 阅读 · 4 评论 -
学习向量量化 LVQ
学习向量量化(Learning Vector Quantization,简称 LVQ)与 K 均值算法类似,也是试图找到一组原型向量来刻画聚类结构,但与一般聚类算法不同的是,LVQ 假设数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类。给定样本集 D={(x1,y1),(x2,y2),⋯ ,(xn,yn)}D = \{(x_1, y_1), (x_2, ...原创 2019-04-21 11:22:56 · 1621 阅读 · 8 评论 -
AGNES
AGNES(AGglomerative NESting 的简写)是一种采用自底向上聚合策略的层次聚类算法。【工作过程】:先将数据集中的每个样本看作一个初始聚类簇;然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并;步骤(2)不断重复,直至达到预设的聚类簇的个数。【关键】:如何计算聚类簇之间的距离。实际上,每个簇是一个样本集合,因此,只需采用关于集合的某种距离即可。最小距离:...原创 2019-04-22 20:46:04 · 5766 阅读 · 0 评论 -
主成分分析 PCA
主成分分析(Principal Component Analysis,简称 PCA)旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。【示例】:在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果我们用自然坐标系 x,y,z 三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果我们**通过坐标系旋转变换(获得新坐标系)**使得数据...原创 2019-04-19 16:21:57 · 1879 阅读 · 3 评论 -
特征归一化
特征工程俗话说“巧妇难为无米之炊”,在机器学习中,数据和特征便是“米”,模型和算法则是“巧妇”。没有充足的数据、合适的特征,再强大的模型结构也无法得到满意的输出。正如一句业界经典的话所说,“Garbage in, garbage out”。对于一个机器学习问题,数据和特征往往决定结果的上限,而模型、算法的选择及优化则是在逐步接近这个上限。【特征工程】:对原始数据进行一系列工程处理,将其提炼为特...原创 2019-05-19 22:31:06 · 694 阅读 · 0 评论 -
模型评估-性能度量(分类问题)
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure)。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。在预测任务中,给定数据集 D=(x1,y1),(x2,y2...原创 2019-05-30 12:28:36 · 6608 阅读 · 0 评论 -
特征选择
特征选择对一个学习任务来说,给定属性集,其中有些属性可能很关键、很有用,另一些属性则可能则可能没什么用,我们将属性称为“特征”(feature),对当前学习任务有用的属性称为“相关特征”(relevant feature)、没什么用的属性称为“无关特征”(irrelavant feature)。从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”(feature selection)。...原创 2019-05-26 22:46:34 · 879 阅读 · 0 评论 -
模型评估-性能度量(回归问题)
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure)。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。在预测任务中,给定数据集 D=(x1,y1),(x2,y2...原创 2019-05-30 22:05:18 · 4245 阅读 · 0 评论 -
模型评估
只有选择与问题相匹配的评估方法,才能快速地发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。知道每种评估指标的精确定义、有针对性地选择合适的评估指标、根据评估指标的反馈进行模型调整,这些都是机器学习在模型评估阶段的关键问题。首先,我们先来了解一下关于模型评估的基础概念。【误差(error)】:学习器的预测...原创 2019-05-30 22:24:53 · 6628 阅读 · 2 评论 -
特征选择-嵌入式选择
嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。基于惩罚项的特征选择法给定数据集 D={(x1,y1),(x2,y2),⋯ ,(xn,yn)}D = \{(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n)\}D={(x1,y1),(x2,y2),⋯...原创 2019-05-28 15:37:56 · 13696 阅读 · 5 评论 -
特征选择-包裹式选择
包裹式选择与过滤式选择不考虑后续学习器不同,直接把最终使用的学习器的性能作为特征子集的评价准则。换言之,包裹式选择的目的就是为给定学习器选择最有利于其性能、“量身定做”的特征子集。【与过滤式选择的区别】:包裹式选择方法直接针对给定学习器进行优化,因此,从最终学习器性能来看,包裹式选择比过滤式选择更好;但另一方面,由于在特征选择过程中需多次训练学习器,因此包裹式选择的计算开销通常比过滤式选择...原创 2019-05-28 21:18:00 · 8510 阅读 · 0 评论 -
决策树-CART(上)
CART(Classification And Regression Trees,分类回归树)算法是一种树构建算法,既可以用于分类任务,又可以用于回归。相比于 ID3 和 C4.5 只能用于离散型数据且只能用于分类任务,CART 算法的适用面要广得多,既可用于离散型数据,又可以处理连续型数据,并且分类和回归任务都能处理。CART 算法生成的决策树模型是二叉树,而 ID3 以及 C4.5 算法生成...原创 2019-06-05 21:40:46 · 6830 阅读 · 9 评论 -
决策树-CART(下)
承接上文 模型选择-CART(上),我们继续来讲 CART 算法的剪枝操作。树剪枝一棵树如果节点过多,则表明该模型可能对数据进行了“过拟合”。我们可通过降低决策树的复杂度来避免过拟合,最有效的手段是进行剪枝处理(pruning)。先前在函数 choose_best_split() 中的提前终止条件,实际上在进行一种所谓的预剪枝(prepruning)操作。另一种形式的剪枝需要使用测试集和训练...原创 2019-06-05 21:42:53 · 821 阅读 · 2 评论 -
机器学习笔记——感知机
感知机感知机(perceptron)是二类分类的线性分类模型,于 1957 年由 Rosenblatt 提出,是神经网络与支持向量机的基础,其输入为实例的特征向量,输出为实例的类别,取 +1 和 -1 二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面。【过程】:导入基于误分类的损失函数。利用梯度下...原创 2019-02-25 09:56:59 · 589 阅读 · 0 评论