机器学习
个人对机器学习中各个算法的理解
Lavender-csdn
这个作者很懒,什么都没留下…
展开
-
一文读懂逻辑回归(Logistic Regression)
逻辑回归其实是是一种广义的线性回归,虽然说是回归函数,但是它其实是处理分类问题,我们从其背景,损失函数两方面说清楚。背景参考周志华教授的《机器学习》和吴恩达大神的深度学习中的讲解,逻辑回归的起源是解决二分类问题,这里我们假设二分类中的类别是{0,1},我们想知道给定一个样本X,这个样本属于1类的概率是多少?也就是要求得的值,而线性回归模型产生的预测值是实值,但是要想得到概率值,输出的值必须...原创 2020-04-29 17:40:41 · 2430 阅读 · 0 评论 -
PyFlux--专用时间序列分析库
PyFlux是一个用于时间序列分析和预测的库,用户可以从一系列灵活的建模和推断选项中进行选择,并将输出用于预测和回顾,用户可以构建一个完整的概率模型,其中数据y和潜在变量(参数) 通过联合概率p(y,z)将z视为随机变量。概率方法的优势在于,它可以更完整地显示不确定性,这对于诸如预测之类的时间序列任务非常重要。 用户可以在同一统一API中简单地使用“最大似然”估计来提高速度。PyFlux中实现...原创 2020-04-14 15:13:04 · 2425 阅读 · 1 评论 -
Forecasting at Scale论文------Prophet预测模型
预测是一项常见的数据科学任务,可帮助组织进行容量规划,目标设置和异常检测。 尽管它很重要,但是要生成可靠的高质量预测仍面临着严峻的挑战,尤其是在存在各种时间序列且具有时间序列建模专业知识的分析师相对较少的情况下。 为了解决这些挑战,描述了一种实用的“大规模”预测方法,该方法将可配置模型与环路分析员绩效分析相结合。论文中提出了一种模块化回归模型,该模型具有可解释的参数,可以由具有分析能力的分析师直观...原创 2020-04-11 17:02:34 · 3215 阅读 · 0 评论 -
AR、MA、ARMA和ARIMA模型------时间序列预测
ARMA模型的全称是自回归移动平均模型,它是目前最常用的拟合平稳序列的模型。它又可以细分为AR模型、MA模型和ARMA三大类。都可以看做是多元线性回归模型。AR模型具有如下结构的模型称为阶自回归模型,简记为。 即在t时刻的随机变量的取值是前期的多元线性回归,认为主要是...原创 2020-04-10 17:01:41 · 37786 阅读 · 3 评论 -
时间序列模式
常用按时间顺序排列的一组随机变量来表示一个随机事件的时间序列,简记为;用或表示该随机序列的n个有序的观察值,称之为序列长度为n的观察值序列。时间序列在各个领域中都非常常见,就餐饮企业而言,其销售预测可以看做是基于时间序列的短期数据预测,预测对象为具体菜品销售量,在金融领域,尝尝使用历史股票数据来预测未来的股票价格,等等。时间序列预测主要就是使用已知的历史数据,来预测未来的数据,其关键就是抓...原创 2020-04-10 15:31:24 · 1856 阅读 · 0 评论 -
偏差与方差
“偏差-方差分解”是解释学习算法泛化性能的一种重要工具。偏差-方差分解试图对学习算法的期望泛化错误率进行拆解。算法在不同训练集上学到的结果很可能不同,即便这些训练集来自同一个分布。对于测试样本,令为在数据集中的标记,为的真实标记,为训练集D上学的模型在上的预测输出。以回归任务为例子,学习算法的期望预测为:使用样本数相同的不同训练集产生的方差为:噪声为其中期望输出与真实...原创 2020-03-19 16:44:25 · 278 阅读 · 0 评论 -
PCA学习----降维算法
主成分分析法(Principal Componebt Analysis,简称PCA)是常用的一种降维方法,可用于提取数据的主要特征分量,有助于缓解维度灾难问题。PCA主要就是通过向量矩阵计算将新样本投影到低维空间中。那么PCA是如何进行降维的呢?首先我们回顾一下线性代数中的“基”的概念。基我们如何确定确定一个向量的坐标,假设向量(3,2):实际上关于向量(3,2)的定义是以我们...原创 2020-03-19 15:54:12 · 1059 阅读 · 0 评论 -
聚类算法总结
关于聚类算法的总结,其实之前的博文只介绍了K-means和高斯混合聚类两种算法,因为这两种算法的公式推导都和EM算法有关联,其实还要一种基于密度聚类的算法为DBSCAN,大家可以看看https://www.cnblogs.com/pinard/p/6208966.html。这里面说的很详细。关于总结的话,我们可以看看下面这个图:各个聚类算法对于每种数据集的聚类效果以及算法使用的时间,在sk...原创 2020-03-15 15:13:52 · 167 阅读 · 0 评论 -
高斯混合聚类与EM算法
高斯混分聚类高斯混合(Mixture-of-Gaussian)聚类采用概率模型来表达聚类原型,我们先大概回忆一下高斯分布的概率密度函数,对于n维样本空间中的随机变量,如果服从高斯分布,其概率密度函数为:我们可以看到其中的高斯分布完全由和这两个参数确定。为了明确的显示高斯分布与相应参数的依赖关系,将概率密度函数记为。我们可以定义高斯混合分布为:上面这个式子就是多个高斯分布的概率密...原创 2020-03-15 15:03:55 · 1765 阅读 · 1 评论 -
K-means聚类算法-----------机器学习
k均值算法是我们学习聚类算法的第一种算法,前面我们介绍了聚类任务以及聚类任务的性能度量,但是还没有介绍具体的算法,今天我们从k均值算法开始说起,前面的博文中我们提到了EM算法,其实k均值算法中也带有EM算法的思想,我们一步一步来看。k均值算法给定样本集,那么k均值算法是如何将这些样本集划分为k个类别也就是k个簇,任何一种算法想达到某种效果,都需要有一个性能度量来衡量我这个算法最后聚类结果是...原创 2020-03-15 10:46:05 · 827 阅读 · 0 评论 -
聚类与性能度量----机器学习
前面介绍的算法基本是分类和回归任务,属于“监督学习”,这里我们说的聚类属于“无监督学习”,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。聚类任务聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。形式化的说,假定样本集包含m个无标记的样本,每个样本是一个n维特征向量,聚类的任务就是将样本集D划分为k个不相交的簇,其中各个...原创 2020-03-13 17:21:24 · 940 阅读 · 0 评论 -
GBDT(2)-梯度提升决策树(Gradient Boosting Decision Tree)
前面的博文中我们一起看了提升树,这一篇中我们正式来理解GBDT。理解GBDT算法关键是GB,也就是梯度提升(Gradient Boosting),那么这个和我们之前的提升树又有什么不一样呢?梯度提升之前介绍的提升树是用加法模型和向前分步算法实现学习的优化过程,其中误差函数也就是损失函数一般是平方损失和指数损失函数的时候,每一步优化比较简单,但是对于一般的损失函数来说,每一步优化就并不是那么...原创 2020-03-13 15:31:20 · 308 阅读 · 0 评论 -
GBDT(1)-梯度提升决策树(Gradient Boosting Decision Tree)
GBDT也是集成学习中的一种算法,我们之前已经讲了Boosting集成学习的思想,在了解GBDT之前,我们先了解一下提升树。提升树提升树是以分类树或者回归树为基本分类器的提升方法。采用加法模型(即基函数的线性组合)与向前分布算法,以决策树为基函数的提升方法称为提升树(boosting tree),对于分类问题其决策树是二叉分类树,对于回归问题决策树是二叉回归树。提升树的模型可以表示为:...原创 2020-03-13 14:33:44 · 752 阅读 · 0 评论 -
学习法Stacking-----机器学习
学习法前面的博文中我们介绍了Boosting和Bagging两种集成学习方法,这篇博文中我们继续学习其他的集成学习方法。当训练数据很多的时候,一种更为强大的结合策略是使用“学习法”,即通过另外一个学习器来进行结合。Stacking是学习的典型代表。在学习法中将个体学习器称为初级学习器,用于结合的学习器称为次级学习器或者元学习器。Stacking先从初始数据集中训练处初级学习器,然后“生成”...原创 2020-03-12 20:33:06 · 464 阅读 · 0 评论 -
Bagging与随机森林------机器学习
上一篇博文中我们介绍了串行训练基分类器的方法--Boosting以及它的代表性算法AdaBoost,接下来我们一起了解一下并行训练基分类器的方法---Bagging,这种方式中基分类器并没有依赖关系。BaggingBagging是并行式集成方式最著名的代表,它直接基于自助采样法。给定包含m个样本的数据集,我们使用有放回的采样方式进行m次采样,每次采样一个样本,这样经过m次我们还是得到了m个...原创 2020-03-12 17:12:48 · 400 阅读 · 0 评论 -
Boosting集成学习方法-----机器学习
Boosting之前的博文中我们提到过Boosting集成学习方法是个体学习器串行的序列化方法,这种方式中个体学习器存在强依赖的关系。该方法的工作机制:我们先从初始的训练集中训练出一个基学习器,然后根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此反复进行,直至基学习器数目达到了事先指定的值T,最...原创 2020-03-12 16:29:49 · 1512 阅读 · 0 评论 -
集成学习----机器学习
集成学习的方法在各个数据科学竞赛中备受青睐,翻看top1、2大佬的代码中,很多会用到随机森林、GBDT、Xgboost等等,并且确实取得了非凡的效果。个人觉得集成学习并不难理解。个体与集成个体:单个分类器集成:多个分类器结合起来。所以集成学习的关键就是如何我们选择怎么样的分类器,并且这些分类器如何结合起来完成任务。上面这张图应该是很清晰的给我们展示了集成学习的思想。其中的个体学...原创 2020-03-12 14:49:17 · 166 阅读 · 0 评论 -
极大似然估计与EM算法-----机器学习
极大似然估计极大似然估计是概率论与数理统计中的内容,个人对极大似然估计的印象是根据样本求参数,求样本符合哪种参数假设,所以极大似然估计是要假设数据的总体分布,要不然我们估计的到底是什么分布函数的参数呢。我们接下来举例子,用尽量通俗易懂的方式来理解。例子1:我们用扔硬币的方式来理解极大似然估计,一般来说,一枚硬币的两面“花”和“字”出现的次数都是相等的。现在我们做实验,我们扔了100次硬币,...原创 2020-03-11 22:27:15 · 441 阅读 · 0 评论 -
模型评估与选择
模型评估与选择1 留出法该方法最为简单粗暴,直接将数据集D划分为两个互斥的集和,其中一个作为训练集S,另外一个作为测试集T。该方法需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,并且即便在给定训练/测试集的样本比例之后仍然存在多种划分方式对数据集进行分割,这些不同的划分将会导致不同的训练/测试集,因此,模型评估的结果也会有差别。 所以在使用留出法的时候,一般要...原创 2020-03-08 16:03:26 · 293 阅读 · 0 评论 -
性能度量-----机器学习
性能度量对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型繁华能力的评价标准,这就是性能度量。在给定样例集,其中是示例的真实标记,要评估学习器的性能,就是要把学习器输出的结果与真实标记进行比较。1. 均方误差在回归任务中最常用的性能度量是“均方误差”:2. 错误率与精度这是分类任务中最常用的两种性能度量,适用于二分类以及多分类任务。对于样例集D,分...原创 2020-03-08 17:17:59 · 1435 阅读 · 0 评论 -
线性模型-----机器学习
线性模型1. 基本形式给定由d个属性描述的示例,其中是在第i个属性上的取值,线性模型试图学得一个通过属性的线性组合进行预测的函数,即:,一般用向量形式写成:其中。和学的之后,模型就得以确定。线性模型形式简单,方便建模,很多功能强大的非线性模型可以在线性模型的基础上通过引入层级结构或者高维映射而得到。其中参数非常直观的表达了各个属性在预测中的重要性,所以线性模型的可解释性很强。...原创 2020-03-08 22:26:22 · 347 阅读 · 0 评论 -
多分类学习与类别不平衡问题------机器学习
多分类学习我们初始遇见最多的是一般是二分类问题,如kaggle平台上的众多竞赛(CTR、异常检测任务等)。关于多分类任务,可以由二分类学习的思想进行推广来解决。考虑N个类别,多分类学习的基本思想是“拆解法”,就是我们可以将其拆解为多个二分类的任务,训练多个分类器,最后将这些分类器的预测结果进行集成来获得多分类任务的结果。采用这种方式的关键就在于如何拆分,如何将分类器的结果集成。经典的拆分策...原创 2020-03-09 14:45:11 · 3136 阅读 · 0 评论 -
决策树----机器学习
决策树决策树是一种常见的机器学习方法,这种方法简单、直观,并且我们在用建立完决策树的时候,可以将这颗树进行可视化。决策树也是后面集成学习中常用的基分类器。决策的过程就是使用我们已经有样例中的属性信息来一步一步进行判断。上图是一个非常直观的决策树,根据西瓜的各个属性从上到下建立各个分支,最后判断是否是好瓜还是坏瓜。建立决策树应该考虑的问题:样例中的属性哪些放在决策树的第一层哪些放在决...原创 2020-03-09 16:36:45 · 531 阅读 · 0 评论 -
剪枝处理-----决策树
剪枝处理在之前的内容中提到过,决策树建立的时候停止的三个理论条件,理论上,在给定的样本集和中,一般要等到属性划分完或者样本分类完成再停止,但是这样很容易导致决策树的过拟合。剪枝是决策树对付“过拟合”的主要手段,剪枝顾名思义就是修剪决策树,减少宽度和深度,使得树不那么复杂,可以有效防止“过拟合”。决策树剪枝的基本策略有“预剪枝”和“后剪枝”。1. 预剪枝预剪枝是指在决策树生成的过程中...原创 2020-03-09 17:19:44 · 2367 阅读 · 0 评论 -
连续与缺失值-----决策树
连续与缺失值决策树给我们的印象更多是处理离散属性,但是在实际的任务中也会遇到连续属性,或者属性中有缺失值的情况,那么我们对于这种数据我们如何进行处理。1. 连续值处理因为连续属性的可取值数目不再有限,因此,不能直接根据连续属性的可取值来对结点进行划分,否则,这样的决策树毫无泛化能力。所以,我们将连续属性进行离散化。最简单的策略是采用“二分法”,C4.5决策树算法中也是使用的这种机制。...原创 2020-03-09 20:55:13 · 805 阅读 · 0 评论 -
支持向量机SVM-----机器学习
支持向量机在神经网络还没有这样深得人心的时候,支持向量机在如何高效的处理大规模数据一直是研究重点,很多研究人员发表的论文都提出了多多少少的改进版本,其中核函数的各种变化也是一个突破点。支持向量机中涉及到的统计理论相对之前提到的模型更为复杂,公式更多,其中众多的公式推导晦涩难懂,所以可能很多人看着西瓜书也是啃不动。虽然我们自己在做项目的时候直接调用sklearn中的函数,但是对原理进行理解也方便...原创 2020-03-10 14:56:50 · 550 阅读 · 0 评论 -
支持向量机公式(1)------机器学习
间隔与支持向量给定训练样本集,,这里一定记住只有两类:-1和+1,并非0/1类。分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开。以上是以二维平面为例,可以看到有很多个超平面将两类数据分开,那我们应该去找哪一个呢??? 直观的看,找最中间的划分超平面,其受数据扰动比如异常数据的“容忍性”最强,泛化能力最大。知道找哪一个,那应该如何找到?首先引...原创 2020-03-10 15:51:35 · 1139 阅读 · 0 评论 -
支持向量机公式(2)-----机器学习
上篇博客中我们讲到了支持向量机的基本型:那么我们如何解出参数和。很明显上述是带有约束条件求最小值,这个时候我们想到拉格朗日乘子法(博主没记错的话,高数中有)。拉格朗日乘子法问题描述:这是在等式的情况下,求出函数的最小值, 具体的意义可以详细见:https://zhuanlan.zhihu.com/p/76501152,博主直接说方法和步骤,说来惭愧,在我学习拉格朗日乘子法的...原创 2020-03-10 21:32:27 · 253 阅读 · 0 评论 -
支持向量机(核函数)----机器学习
核函数我已经直观的解释了核函数是做什么的,可以看看https://blog.csdn.net/kidchildcsdn/article/details/104773694。这里我们会引入公式帮助理解。在支持向量机之前的内容中,我们一般是假设训练样本在当前的维度中是线性可分的,也就是说存在一个超平面可以将训练样本正确分类,如下图:但是在实际任务中,也存在在当前样本空间维度中我们无法...原创 2020-03-10 22:22:20 · 1469 阅读 · 0 评论 -
软间隔与正则化(支持向量机)-------机器学习
软间隔与正则化之前的博文中提过,支持向量机有一定的容错性,它允许有样本被分错,支持向量机以大局为重。特别是在存在噪音或者异常点的情况下,将这些所有的样本都完全的进行线性可分,这样很容易引起过拟合。所以支持向量机是允许在一些样本上出错的,为此,引入了“软间隔”的概念。在之前的博文中介绍的支持向量机形式是要求将所有的样本全部分类正确,这称为“硬间隔”。“软间隔”是允许某些样本不满足约束。但...原创 2020-03-11 15:26:48 · 1591 阅读 · 0 评论 -
贝叶斯分类器-----机器学习
贝叶斯分类器中的涉及到的数学知识基本上是概率论与数理统计,其计算步骤倒是不难,西瓜书上的公式表示可能让人没有看下去的欲望,博主最开始学的时候也就是直接拿个例子计算一遍,然后再去看看西瓜书上的公式。贝叶斯中的核心计算公式就是条件概率的计算公式。先看看条件概率的计算公式:上面这个公式指的是事件A在事件B发生的条件下发生的概率。同理:P(B|A) = P(AB)/P(A)。这样上面也可以写...原创 2020-03-11 16:57:35 · 396 阅读 · 0 评论