
机器学习
文章平均质量分 80
会飞的犬良
这个作者很懒,什么都没留下…
展开
-
机器学习中数据预处理方法
在知乎上也看到了这个,不知道哪个是原创,这里粘上链接https://zhuanlan.zhihu.com/p/51131210前言数据预处理的重要性?熟悉数据挖掘和机器学习的小伙伴们都知道,数据处理相关的工作时间占据了整个项目的70%以上。数据的质量,直接决定了模型的预测和泛化能力的好坏。它涉及很多因素,包括:准确性、完整性、一致性、时效性、可信性和解释性。而在真实数据中,我们拿到...转载 2020-01-03 12:36:30 · 3241 阅读 · 0 评论 -
AUC,ROC理解
本来对AUC和ROC的理解有点模糊,网上看了以下下两篇博文,感觉更清楚了。https://blog.youkuaiyun.com/u013385925/article/details/80385873https://blog.youkuaiyun.com/qq_24753293/article/details/80942650...转载 2019-12-17 17:26:28 · 209 阅读 · 0 评论 -
机器学习缺失值处理方法
机器学习中的模型训练只是其中的一个步骤,有好的的数据才能得到好的模型。但是在现实情况下,数据往往是存在一些缺失值的,怎么取处理这些缺失值,使数据表现更完美也是一个特别重要的步骤。缺失值处理方法综述缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。缺失值的产生的原因多种多样,主要分为机械原因和人为原因。...转载 2019-11-15 18:45:09 · 952 阅读 · 0 评论 -
随机森林
1.随机森林介绍 随机森林是在建立在决策树之上的。只要明白了决策树的概念以及算法,那么随机森林就特别简单了。随机森林就是用多个决策树的结果来决定最终的结果,所以在训练过程中,我们会利用训练数据生成多个决策树。其算法的基本步骤如下: (1)原始训练集为N,应用bootstrap法有放回地随机抽取k个新的自助样本集,并由此构建k棵分类树,每次未被抽到的样本组成了k个袋外数...原创 2019-11-12 14:48:05 · 1272 阅读 · 0 评论 -
SVD算法来简化数据
1.SVD简介SVD(Singular Value Decomposition),奇异值分解,也就是将一个矩阵进行分解,然后从分解后的矩阵上对数据进行分析。矩阵分解可以将原始矩阵表示成新的易于处理的形式,这种新的形式是两个或者多个矩阵的乘积,如下形式: 如式1,将原始矩阵分解为三个矩阵相乘的形...原创 2019-11-08 17:46:47 · 696 阅读 · 0 评论 -
PCA算法来简化数据
1.降维技术 在日常处理数据的时候,数据往往是好多维的,也就是一条数据往往有好多个特征,导致数据处理和分析起来比较麻烦,但是这些特征绝大部分都是非主要的,对数据的处理分析过程起到的作用特别少,但是却大大增加了数据处理的复杂度,所以我们就需要对数据进行降维处理,将多维度的数据减低到适当的低维度,从而达到对数据进行简化的目的。对数据进行简化有如下好处:使得数据集更易于使用; 降...原创 2019-11-07 15:10:32 · 389 阅读 · 0 评论 -
FP-growth算法来高效发现频繁集
FP-growth算法是一种高效发现频繁集的算法,比Apriori算法高效,但是不能用于发现关联规则。FP-growth算法只需要对数据即信两次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否是频繁,所以FP-growth更快。FP-growth算法主要分为两个过程:构建FP树; 从FP树中挖掘频繁项集。1.FP树介绍 FP代...原创 2019-11-01 23:17:19 · 1310 阅读 · 0 评论 -
Apriori算法(频繁集发现以及关联分析)
我们在网上购物的时候都会收到一些相关产品的推荐,这些被推荐的东西是怎么来的呢?如果我们买了一个鱼竿,那么推荐鱼线,鱼饵什么的是很正常的,毕竟这些产品都是相关性比较大的,收到推荐也不足为奇;但是仅限于此吗?之前不是有个很出名的例子,啤酒和尿布的例子,在没被发现这个规律之前,谁能想到他们两个有一定的联系?所以除过去那些关联性特别明显的东西,还有许多隐藏的有相关性的关系被隐藏在大量的数据...原创 2019-11-01 23:12:06 · 2134 阅读 · 0 评论 -
K-均值聚类(K-means)算法
聚类算法,是一种无监督的学习方法,他将相似的对象归到统一簇中,簇内的对象越相似,聚类效果也就越好,我们用簇识别表示给出聚类结果的含义。他有点像全自动分类,假定有一些数据,现在将相似数据归到一起,簇识别会告诉我们这些簇到底都是什么;聚类和分类的最大不同在于,分类的目标事先已知,而聚类则不一样。因为其产生的结果与分类相同,而只是类别没有预先定义,聚类有时也被称为无监督学习。 ...原创 2019-10-25 18:32:24 · 3191 阅读 · 0 评论 -
隐马尔科夫模型
1.隐马尔科夫模型介绍 隐马尔可夫模型是关于时序的概率模型,描述有一个隐藏的马尔科夫链随机生成不可观测的随机序列,在有各个状态生成一个观测而产生观测序列的过程。 ...原创 2019-10-24 19:28:47 · 520 阅读 · 0 评论 -
提升树算法,梯度提升(GBDT)
提升模型是提升树算法的前提。提升模型的基本思想就是多个简单的模型线性组合成一个最终的模型,提升树算法的实现当然也是这个思路。看过好多的介绍,基本上在提升树算法中,每个简单的模型都是一颗树高为1的二叉树模型,因为每次都是选择一个特征及特征值,然后将数据集分开为不同的集合,然后对其进行相应的线性组合。当然可以简单的这么理解,下面结合自己的理解介绍一下提升树算法。 当然理...原创 2019-10-21 16:13:45 · 1004 阅读 · 0 评论 -
提升方法(AdaBoost算法)
提升算法的核心思想是:组合多个弱分类器,然后成为一个强分类器。我们知道求弱分类器比强分类器要容易的多,那么如何提升便成为了开发提升方法时所要解决的问题,其中最具代表性的是AdaBoost算法。 AdaBoost算法 对于提升方法有两个需要注意的问题:一是在每一轮如何改变训练数据的权值或者概率分布;而是如何将弱分类器组合成一个强分类器。AdaBoost的做法...原创 2019-10-21 16:05:31 · 386 阅读 · 0 评论 -
支持向量机(三)序列最小最优化算法(SMO)
在支持向量机(一)和支持向量机(二)两篇文章中,我们分别介绍了线性可分的支持向量机和线性向量机,从中可知,我们最终的目的是要计算得出支持向量对应的拉格朗日乘子α,但是我们并没有说怎么算。这篇文章主要介绍了序列化最小优化算法,用来计算α。在介绍之前我们先简单介绍一下其中用到的核函数。核函数 首先我们看下面的两个图: ...原创 2019-10-15 17:07:59 · 812 阅读 · 0 评论 -
支持向量机(二)线性支持向量机与软间隔最大化
这篇文章是在支持向量机(一)基础上写的,如果对支持向量机还不太熟悉的话,建议先看(一)。 在支持向量机(一)中,我们主要讨论的是线性可分的支持向量机,但是现实情况中数据往往是线性不可分的,即数据中存在噪声点,使其不是完全线性可分的,或者说是近似线性可分的。这种情况下就是软间隔最大化,也就是线性支持向量机,而线性可分的支持向量机可以看成是线性支持向量机的一种特殊情况...原创 2019-10-12 18:11:52 · 1488 阅读 · 1 评论 -
支持向量机(一)线性可分的支持向量机与硬间隔最大化
支持向量机其实和感知机的模型思想挺相似的,都是找出一个分离超平面对数据进行二分类。它是定义在特征空间上的间隔最大的线性分类器,这个间隔最大化使它区别于感知机;感知机通过迭代算法找出的分离超平面可以是不唯一的,但是支持向量机由于有最大化间隔的限制,即所有的支持向量点到分离超平面的距离之和是最大的,所以它的分离超平面是唯一的;实际上支持向量机还有核技巧,即数据本来是非线性可分的,但是通...原创 2019-10-11 19:11:27 · 1012 阅读 · 0 评论 -
感知机
概述感知机可以看成是一种判别模型,适用于二分类的问题。它需要在给定样本点的基础上学习出来一个分离超平面,将已知的样本点分开。感知机是学习支持向量机的基础,因为两者基本上的思想是相似的,都是通过间隔最小化来实现的。学习策略通过给定的样本数据,学习得来一个分离超平面wx+b=0,使得这个平面可以很好的区分数据。对所有的数据分为正例点yi = +1和负例点yi = -1,即wx+b < 0...原创 2019-09-26 12:20:25 · 246 阅读 · 0 评论 -
knn算法
概述Knn算法是相对来说比较简单的一个算法,也是比价容易理解的。他是一种用距离衡量样本间关系的一种算法,由于样本点的分类是已知的,所以用需要测试的点,找到与其距离相近的k个点(一般用欧式距离),我们就把这个测试的点归类为这k个点中占比重较大的分类。模型K近邻算法,没有显式的学习过程,每次运算都要用到所有的点,即计算到所有点的距离,一般是用欧式距离进行衡量。这里和聚类分析算法过程的衡量...原创 2019-09-26 12:22:00 · 627 阅读 · 0 评论 -
朴素贝叶斯法
概述 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。、上面的一段话是李航《统计学习方法》中的一段话,中间涉及到了一些基本概念,是贝叶斯方法的前提。条件独立假设:这是贝叶斯方法的前提条件,条件概率公式:P(B|A) ...原创 2019-09-26 12:25:55 · 236 阅读 · 0 评论 -
决策树(一):分类决策树
决策树模型就是需要通过样本数据构建一棵树,数中除了叶子节点的每个节点都是一个数据特征的划分点,将待测数据的对应的特征和该节点上的划分特征做对比,然后将待测节点分到该节点的某个子节点上,然后再进行对比,直到叶子节点为止,然后判断待测数据的类型集合。决策树是一种基本的分类和回归的方法,所以可以分为分类决策树和回归决策树。分类决策树主要适用于标称型数据(如苹果的颜色、形状、口味等特征数据),可以理解...原创 2019-09-26 12:30:10 · 6131 阅读 · 0 评论 -
决策树(二):回归树和模型树
下面介绍的回归树和另一篇文章介绍的分类树,都属于决策树范畴。分类树的模型是每个非叶子节点都是一个分类特征,按照该分类特征的不同取值,将数据集分为多少个子集;并且分类树模型我们要找的是测试数据集的最终分类结果,而这个结果是标称型数据。而在回归树的概念中,每个非叶子节点也是需要根据某个特征分出子树,但是这个特征的取值是连续的,就不可能像分类树那样依据多少个取值分为多少个子树,所以在回归树模型中,一般都...原创 2019-09-26 13:45:05 · 4440 阅读 · 0 评论 -
决策树(三):CART算法
CART(分类与回归树),也就是说CART算法既可以用于分类,也可以用于回归,它是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法,其也和回归树一样是二叉树。是CART算法,也是分为:特征选择,树的生成,树的剪枝。其实感觉前两步可以合并为一步,因为树的生成过程中就是不断的进行特征的选择。李航《统计学习方法》中说,决策树生成阶段,生成的决策树要尽可能的大,也就是生成阶段,模型...原创 2019-09-26 13:48:25 · 1083 阅读 · 0 评论 -
回归(一)
本篇文章介绍的回归主要是线性回归,就是输入项乘以常量然后求和。基本形式如下:回归模型中我们最常想到的和最常用到的都是用于预测。回归模型也是相对容易理解的,计算也不算复杂,但是它对数据的依懒性相对较大,对于非线性的数据拟合不好;主要是适用于数值型和标称型的数据。用线性回归找到最佳拟合直线其实纵观机器学习的好多算法,基本思想都是先列出损失函数,然后最小化损失函数,求出对应的系数,然后这个...原创 2019-09-26 13:50:34 · 246 阅读 · 0 评论 -
回归(二):缩减系数
回归算法中不管是用线性回归找到最佳拟合直线,还是加权的线性回归算法,我们都是直接用矩阵相乘的方式,直接计算出对应的ω系数,这都是对应训练数据组成的矩阵是可逆的,换句话说X矩阵是满秩的,而对于某些属性个数多余样本个数的样本(样本数据组成矩阵后列数多于行数)组成的矩阵是不满秩,计算(XTX)-1的时候是会出错的。所以为了解决这个问题统计学家们引入了领回归(ridge regression)的概念。...原创 2019-09-26 13:52:35 · 1131 阅读 · 0 评论 -
L1和L2正则化
在机器学习模型中,往往会有模型相对复杂过、拟合的情况。所以为了增加其泛化能力,最常用的方法就是增加正则化,常见的就是L1和L2正则化。L2正则化L2正则化,就是在原来损失函数的基础上加上权重向量的L2范式:E是基本损失函数,||ω||2是权重向量的L2范式,也就是向量元素的平方和,λ是两者的调和系数。这种形式我们最常见的就是线性回归模型中的岭回归模型,就是用过的L2正则化。我们将上...原创 2019-09-26 13:55:22 · 548 阅读 · 0 评论 -
Logistic回归
“回归”一词,第一印象指的是线性回归,是一种预测算法;而Logistic回归算法中虽然也有“回归”,但是他并不是预测算法,而是一种分类算法,用于二分类的问题,但是它和线性回归还是有一定的关系的。Logistic分布首先我们给出Logistic分布函数如下: 其中μ是函数...原创 2019-10-09 10:42:24 · 692 阅读 · 0 评论 -
机器学习-最大熵模型
最大熵模型是一种分类模型,它学习之后对某个x判断的结果是一个概率,即对一个自变量,它的分类分别是y1,y2,y3…yn的概率,然后概率最大的分类结果就是我们所要的结果分类ym。最大熵原理 最大熵原理认为,学习概率模型时在所有可能的概率模型中,熵最大的模型是最好的模型,这个是准则。但是在学习过程中,往往是有约束条件的,所以,熵最大原理也可以表述为在满足约束条件的模...原创 2019-10-10 19:20:20 · 490 阅读 · 0 评论 -
KKT条件
学习支持向量机,用到了拉格朗日乘子法。对于等式约束很好明白,不等式约束问题用到了KKT条件,本人是通过下面两篇文章弄明白的,记录一下,以便日后学习。https://www.matongxue.com/madocs/939.htmlhttps://www.cnblogs.com/xinchen1111/p/8804858.html...转载 2019-07-09 15:28:13 · 497 阅读 · 0 评论