机器学习篇
文章平均质量分 71
机器学习实战笔记
Tobesix
这个作者很懒,什么都没留下…
展开
-
机器学习笔记21-XGBoost
XGBoost:算法核心思想不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数,去拟合上次预测的残差。 当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数 最后只需要将每棵树对应的分数加起来就是该样本的预测值决策树模型训练数据集,其中决策树模型:把树分成结构部分q和叶子权重部分w后,q(x)为一个映射函数,把输入映射到叶子的索引号上面去,而w给定了每个索引原创 2020-05-16 14:27:14 · 721 阅读 · 0 评论 -
机器学习笔记20-SVM
SVM 基本概念将实例的特征向量(以二维为例)映射为空间中的一些点,就是如下图的实心点和空心点,它们属于不同的两类。那么 SVM 的目的就是想要画出一条线,以“最好地”区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。画线的标准是什么?/ 什么才叫这条线的效果好?SVM 将会寻找可以区分两个类别并且能使边际(margin)最大的超平面(hyper plane)边际(margin)是什么?边际就是某一条线距离它两侧最近的点的距离之和。比如下图中两条虚线构成的带状区原创 2020-05-13 21:49:04 · 558 阅读 · 2 评论 -
机器学习笔记19-EM算法
GMM(高斯混合模型)问题引入:(图中的方差实为标准差)随机挑选10000位志愿者,测量他们的身高;若样本中存在男性和女性,身高分别服从和,试估计。假设随机变量X是由K个高斯分布混合而成,取各个高斯分布的概率为,第i个高斯分布的均值为,标准差为。若观测到随机变量X的一系列样本x1,x2,x2......xn,试估计参数此时,对数似然函数为:(是不能直接求导的)下面分为两步:开始的时候主观设定的参数值,然后进行优化最后得到的是局部最优值,与开始时候主观设定的参数值有关。原创 2020-05-13 20:04:21 · 351 阅读 · 0 评论 -
机器学习笔记18-相似度/距离计算方法总结
1.曼哈顿距离和欧式距离图中红线代表曼哈顿距离,绿色代表欧式距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。2.杰卡德相似系数(Jaccard)两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示。杰卡德相似系数是衡量两个集合的相似度一种指标。如CV领域中的IOU。3.余弦相似度及扩展相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。.原创 2020-05-13 11:06:34 · 1009 阅读 · 0 评论 -
机器学习笔记17-LDA算法
1. LDA算法简介LDA(线性判别式分析 Linear Discriminant Analysis)属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。在人脸识别、人脸检测等领域发挥重要作用。LDA算法与PCA算法都是常用的降维技术。二者的区别在于:LDA是一种监督学习的降维技术,也就是说它的每个样本是有类别输出的,而之前所学习的PCA算法是不考虑样本类别输出的无监督降维技术。LDA算法的目标是使降维后的数据类内方差最小,类间方差最大(即使数据在低维度上进行投影,投影后希望每一种类转载 2020-05-13 09:26:11 · 9797 阅读 · 0 评论 -
机器学习笔记16-GBDT算法
梯度提升树算法前面一节我们提到了AdaBoost算法,AdaBoost算法可以解决分类问题,通过计算模型每次更新后的误差率,对数据和模型的权重alpha进行更新。但对于回归问题,我们就需要使用提升树、梯度提升树算法。梯度提升树与提升树的区别在于,提升树采用残差,而梯度提升树采取拟合当前模型损失函数的负梯度(在损失函数为均方误差的时候,相当于就是残差,其它误差函数不一定就是残差),来生成一个新的...原创 2020-04-30 16:25:29 · 151 阅读 · 0 评论 -
机器学习笔记15-AdaBoost算法
AdaBoost算法提升方法是基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。通俗点说,就是"三个臭皮匠顶个诸葛亮"。对于分类问题而言,给定一个训练数据,求一个比较粗糙的分类器(即弱分类器)要比求一个精确的分类器(即强分类器)容易得多。提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个...原创 2020-04-29 14:47:53 · 367 阅读 · 0 评论 -
机器学习笔记14-随机森林算法
随机森林随机森林的工作原理如下:从数据集中随机选择k个特征,共m个特征(其中k<=m),然后根据这k个特征建立决策树 重复上述步骤n次,建立起来n棵决策树(或者每次选取数据集中的不同随机样本,称为自助法样本) 对每个决策树都传递变量来预测结果,最后得到n个预测结果 计算每个预测结果的得票数,得票数高的预测结果作为随机森林算法的最终预测结果针对回归问题,随机森林中的决策树会预测...原创 2020-04-23 17:06:43 · 1022 阅读 · 0 评论 -
机器学习笔记13-SVD(协同过滤的推荐引擎)
SVD-矩阵分解在很多情况下,数据中的一小段携带了数据集中的大部分信息,其他信息则要么是噪声,要么就是毫不相关的信息。在线性代数中还有很多矩阵分解技术。最常见的一种矩阵分解技术就是SVD。SVD将原始的数据集矩阵Data分解成三个矩阵U、和,如果原始矩阵Data是m行n列,那么U、和就分别是m行m列、m行n列和n行n列。矩阵只有对角元素,其他元素均为0。这些对角元素称为奇异值,他们对应...原创 2020-03-26 17:06:48 · 447 阅读 · 0 评论 -
机器学习笔记12-PCA(主成分分析)
PCA降维算法已标注和未标注的数据上都有降维技术。这里我们主要关注未标注数据上的降维技术,该技术也可以用于已标注数据。第一种降维的方法称为主成分分析(Principal Component Analysis,PCA)。在PCA中,数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个新坐标轴正交且...原创 2020-03-26 12:56:49 · 658 阅读 · 0 评论 -
机器学习笔记11-FP-growth算法
FP-growth算法FP-growth算法是一个频繁项集发现算法,它只需要对数据库进行2次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁,因此FP-growth算法速度要比Apriori算法快。FP-growth算法将数据存储在一种称为FP树的紧凑数据结构中。它通过链接来连接相似元素,被连起来的元素项可以看成一个链表。1.构建FP树FP...原创 2020-03-26 10:29:45 · 296 阅读 · 0 评论 -
机器学习笔记10-Apriori算法
关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集是经常出现在一块的物品的集合,关联规则暗示两种物品之间可能存在很强的关系。如上图所示,图11-1中的{葡萄酒,尿布,豆奶}就是频繁项集的一个例子,从上面的数据中也可以找到诸如尿布>葡萄酒的关联规则。下面介绍支持度和置信度两个概念:一个项集的支持度被定义为数据集中包含该项集的记录...原创 2020-03-25 16:03:24 · 408 阅读 · 0 评论 -
机器学习笔记9-各种线性回归
下面介绍多种线性回归:1.普通线性回归2.局部加权线性回归3.岭回归和逐步线性回归1.普通线性回归对于给定的x,预测结果y等于:平方误差损失函数:使用最小二乘法可以得到最佳的w:...原创 2020-03-24 14:29:38 · 1630 阅读 · 0 评论 -
机器学习笔记8-K-means及其改进
k-均值算法:聚类是一种无监督的学习,它将相似的对象归到同一个簇中,有点像全自动分类。本章讲的K-means算法之所以称之为K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算。算法原理:K-均值算法的工作流程是这样的。首先,随机确定k个初始点作为质心。然后将数据集中的每个点分配到一个簇中,具体来讲,为每个点找距其最近的质心,并将其分配给该质心所对应的簇。这一...原创 2020-03-23 23:29:59 · 384 阅读 · 0 评论 -
机器学习笔记7-CART决策树+剪枝
CART又名分类回归树,该算法既可以用于分类还可以用于回归。CART树有以下几个关键点:CART是一棵二叉树; 当CART是分类树时,采用GINI值作为节点分裂的依据; 当CART是回归树时,采用样本的最小方差作为节点分裂的依据;下面举例说明:看电视时间 婚姻情况 职业 年龄 3 未婚 学生 12 4 未婚 学生 18...原创 2020-03-23 11:15:48 · 1127 阅读 · 0 评论 -
机器学习笔记6-偏差与方差
偏差与方差偏差与方差是一对孪生子,类似于后面我想写的准确率和召回率当我们的模型表现不佳时,通常是出现两种问题,一种是 高偏差 问题,另一种是 高方差 问题。识别它们有助于选择正确的优化方式,所以我们先来看下偏差与方差的意义。-偏差: 描述模型输出结果的期望与样本真实结果的差距。-方差: 描述模型对于给定值的输出稳定性。上图形象地解释了偏差和方差的概念。就像打靶一...转载 2020-03-22 14:49:27 · 190 阅读 · 0 评论 -
机器学习笔记5-梯度下降法、牛顿法、拟牛顿法
梯度下降和牛顿法的推导均与泰勒公式有关,所以先介绍泰勒展开公式:原创 2020-03-22 11:11:36 · 476 阅读 · 0 评论 -
机器学习笔记4-Logistic回归
Logistic回归Logistic回归为最简单的回归算法之一,可以使用批量/随机梯度下降算法来优化Loss。Sigmoid函数:求导过程如下:原创 2020-03-21 22:29:36 · 191 阅读 · 0 评论 -
机器学习笔记3-朴素贝叶斯
朴素贝叶斯前面提到的KNN和决策树要求分类器直接做出决策,给“该数据实例属于哪一类”问题的明确答案,不过,分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值。朴素贝叶斯使用概率,提供一种利用已知值来估计未知概率的方法。通过特征间的独立性假设(朴素一词的由来),降低对数据量的要求。缺点:1.因为要将文本转化为词集模型(文档中的每个词在...原创 2020-03-21 17:19:16 · 222 阅读 · 0 评论 -
机器学习笔记2-ID3+C4.5决策树
决策树算法决策树是最经常使用的数据挖掘算法。本章介绍ID3和C4.5决策树,CART决策树放在后面介绍开始处理数据时,首先需要测量集合中数据的不一致性,也就是熵(反映数据的无序程度),然后寻找最优方案划分数据集(选取信息增益(熵)最大的特征),直到数据集中的所有数据属于同一分类。构建决策树时,采用递归的方法将数据集转化为决策树。ID3算法先明确以下几个概念:1.信息(一...原创 2020-03-20 23:34:43 · 227 阅读 · 0 评论 -
机器学习笔记1-KNN
KNN-K近邻分类算法作为机器学习入门的算法之一,其数学原理很简单即对于测试样本点,寻找与其距离最近的K个样本点,以这K个点的类别作为参考依据,用来判定测试样本点的类别其中K的取值一般为奇数(3,5,7....等)它是一种基于实例的学习,使用算法时必须有接近实际数据的训练样本。它的优点有:1.新数据可以加入数据集而无需再次训练2.理论简单,易于实现它的缺点有:1...原创 2020-03-20 13:20:35 · 198 阅读 · 3 评论