
机器学习
文章平均质量分 60
yanglee0
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
xgboost和lightGBM区别
LightGBM主要改进点:直方图算法: 其基本思想是先把连续的浮点特征值离散化成k个整数(其实又是分桶的思想,而这些桶称为bin,比如[0,0.1)→0, [0.1,0.3)→1),同时构造一个宽度为k的直方图。在遍历数据的时候,根据离散化后的值作为索引在直方图中累积统计量,当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。带深度限制的Leaf-wise的叶子生长策略在XGBoost中,树是按层生长的,称为Level-wise tree grow原创 2021-09-23 19:08:23 · 919 阅读 · 0 评论 -
过拟合、欠拟合
一、过拟合、欠拟合1、过拟合和欠拟合是什么(1)当我们训练模型时,发现模型在训练集效果很好,但是在测试集效果不好的时候,模型便可能发生过拟合现象。(2)而训练集和测试集效果均不好的情况则可能发生欠拟合。2、如何解决过拟合(1)首先从数据本身角度去考虑,可以考虑增加训练集样本数量等方式,或者使用GAN等方法来生成新样本数据。(2)再从模型本身考虑,降低模型的复杂度,或者在模型中加入正则化等等方法。(3)集成学习也是有效的,减少单个模型过拟合的风险。2.1、什么原因会导致过拟合原创 2021-09-10 11:21:09 · 230 阅读 · 0 评论 -
LR,SVM,决策树的选择
训练集有多大?数据集小:可选择高偏差/低方差的分类器。(低偏差/高方差的分类器(LR)更加容易过拟合)数据集小:选择低偏差/高方差的分类器。这样可以训练处更加准确的模型。Logistic回归(Logistic Regression, LR)1、使用LR可以快速搭建出一个模型来(也不需要考虑样本是否相关),如果模型效果不怎么样,也可以得到一个基准。2、如果想要通过调节概率阈值来分类的话,使用LR更加合适,而且相比于SVM以及决策树,LR更加具有可解释性,因此在业务场景中,会好用一些。决策树(Dec原创 2021-09-09 10:42:36 · 858 阅读 · 0 评论 -
LR,SVM,决策树的对比
首先,LR、SVM、决策树都可以用来做分类的任务。为了做分类,我们试图寻找决策边界线或是一条曲线(不必是直线),在特征空间里区分两个类别。一、LR,SVM,决策树直观区别举个例子:有一个样本,它包含三个变量:x1, x2和target。target有0和1两种值,取决于预测变量x1和x2的值。将数据绘制在坐标轴上。这就是特征空间,观测值分布于其中。这里因为我们只有两个预测变量/特征,所有特征空间是二维的。你会发现两个类别的样本用不同颜色的点做了标记。我希望我们的算法能计算出一条直线/曲线来分离这个转载 2021-09-09 10:16:52 · 5613 阅读 · 1 评论 -
机器学习中归一化的问题
一、归一化的好处1、提升模型的收敛速度如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)2、提升模型的精度归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以原创 2021-09-07 13:50:17 · 2980 阅读 · 1 评论 -
GBDT和XGBoost面试总结
GBDT1、GBDT是训练过程如何选择特征?GBDT使用基学习器是CART树,CART树是二叉树,每次使用yes or no进行特征选择,数值连续特征使用的最小均方误差,离散值使用的gini指数。在每次划分特征的时候会遍历所有可能的划分点找到最佳的特征分裂点,这是用为什么gbdt会比rf慢的主要原因之一。2、GBDT如何防止过拟合?由于gbdt是前向加法模型,前面的树往往起到决定性的作用,如何改进这个问题?一般使用缩减因子对每棵树进行降权,可以使用带有dropout的GBDT算法,dart树,原创 2021-09-01 13:26:23 · 1213 阅读 · 1 评论 -
权重初始化,为什么不能全部初始化为0
1、逻辑回归中,初始化权重全部为0,是ok的吗?可以的。逻辑回归反向传播的时候,由于交叉熵存世函数以及sigmoid的配合,使得梯度求导后跟x和b参数本身没有关系,主要依赖于x。因此逻辑回归中权重初始化为0是ok的。2、普通神经网络中权重初始化可以全部为0吗?不可以。总结一下:在神经网络中,如果将权值初始化为 0 ,或者其他统一的常量,会导致后面的激活单元具有相同的值,所有的单元相同意味着它们都在计算同一特征,网络变得跟只有一个隐含层节点一样,这使得神经网络失去了学习不同特征的能力!原创 2021-08-23 22:19:16 · 3067 阅读 · 0 评论 -
BN、LN、dropout、神经元
一、过拟合、欠拟合二、BN三、LN四、dropout原创 2021-06-28 14:23:17 · 1799 阅读 · 0 评论 -
最大熵原理
一、原创 2021-06-28 14:20:55 · 495 阅读 · 0 评论 -
PCA主成分分析
一、原创 2021-06-28 14:19:26 · 107 阅读 · 0 评论 -
模型评估与选择2
模型与评估2原创 2021-06-15 19:35:29 · 119 阅读 · 0 评论 -
模型评估和选择1
模型评估和选择part1原创 2021-06-15 19:34:44 · 91 阅读 · 0 评论 -
L1和L2正则化
一、L2正则化(岭回归)二、L1正则化(Lasso回归)原创 2021-05-25 20:00:05 · 189 阅读 · 0 评论 -
朴素贝叶斯
借助例题进行分析朴素贝叶斯算法的 朴素 一词的解释好的,上面我解释了为什么可以拆成分开连乘形式。那么下面我们就开始求解:计算过程(简单,熟悉可略过)算法评价原创 2021-05-24 15:47:38 · 145 阅读 · 0 评论 -
线性回归(回归)
原创 2021-05-24 15:34:15 · 131 阅读 · 0 评论 -
支持向量机SVM
一、支持向量、对偶问题、SVM优化二、软间隔、核函数原创 2021-05-24 15:30:44 · 227 阅读 · 0 评论 -
逻辑回归(分类)
目录:1、从线性回归说起2、sigmond函数3、推广至多元场景4、似然函数5、最大似然估计6、损失函数7、梯度下降法求解8、结尾逻辑回归用于解决分类问题实际上,“分类”是应用逻辑回归的 目的&结果 。但是中间过程依旧是“回归”。1、线性回归(略)2、sigmond函数3、推广至多元场景4、似然函数5、最大似然估计6、损失函数7、梯度下降求解首先了解f ’ (x) = f(x)*(1-f(x))手推版...原创 2021-05-24 10:30:49 · 3150 阅读 · 0 评论 -
交叉熵损失函数详解推导
交叉熵损失函数「Cross Entropy Loss」公式:我们已经对这个交叉熵函数非常熟悉,大多数情况下都是直接拿来使用就好。但是它是怎么来的?为什么它能表征真实样本标签和预测概率之间的差值?上面的交叉熵函数是否有其它变种?也许很多朋友还不是很清楚!没关系,接下来我将尽可能以最通俗的语言回答上面这几个问题。1. 交叉熵损失函数的数学原理我们知道,在二分类问题模型:例如逻辑回归「Logistic Regression」、神经网络「Neural Network」等,真实样本的标签为 [0,1],分别表原创 2021-05-24 09:38:00 · 2071 阅读 · 0 评论 -
无监督学习 自编码器(AutoEncoder)
自编码器(Autoencoder)介绍自编码简单模型介绍暂且不谈神经网络、深度学习等,仅仅是自编码器的话,其原理其实很简单。自编码器可以理解为一个试图去还原其原始输入的系统。自编码器模型如下图所示。神经网络自编码模型神经网络自编码器三大特点自编码器(Autoencoder)搭建几种常见AutoEncoderDenoising AutoEncoderSparse AutoEncoderCNN/LSTM AutoEncoderVariational AutoE原创 2021-05-10 18:41:44 · 1919 阅读 · 1 评论 -
sigmoid,softmax,ReLu激活函数
每个激活函数的输入都是一个数字,然后对其进行某种固定的数学操作。激活函数给神经元引入了非线性因素,如果不用激活函数的话,无论神经网络有多少层,输出都是输入的线性组合。激活函数的发展经历了Sigmoid -> Tanh -> ReLU -> Leaky ReLU ->Maxout这样的过程,还有一个特殊的激活函数Softmax,因为它只会被用在网络中的最后一层,用来进行最后的分类和归一化。Sigmoid 值范围[0,1]输入实数值并将其“挤压”到0到1范围内,适合输出为概率.原创 2021-05-10 09:24:05 · 1763 阅读 · 0 评论 -
高频问题 一、特征工程
数据和特征是“米”,模型和算法则是“巧妇”。数据和特征决定了结果的上限,模型和算法的选择以及优化逐步接近这个上限。两种常用的数据类型:(1)结构化数据:每一行数据表示一个样本信息(2)非结构化数据:主要包括文本、图像、音频、视频数据一、特征归一化1、为什么需要对数值类型的特征做归一化?二、类别型特征1、在对数据进行预处理时,应该怎样处理类别型特征?序号编码(Ordinal Encoding)、独热编码(One-hot Encoding)、二进制编码(Binary Encoding).原创 2021-05-08 13:39:12 · 430 阅读 · 0 评论 -
集成学习(超系统全面)②
在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成学习的主要思想是:三个臭皮匠,顶个诸葛亮。集成学习在各个规模的数据集上都有很好的策略。数据集大:划分成多个小数据集,学习多个模型进行组合数据集小:利用Bo原创 2021-04-02 11:10:07 · 433 阅读 · 0 评论 -
机器学习岗面经(总)!
一、数学基础:1、微积分1、SGD,Momentum,Adagard,Adam原理2、L1不可导的时候该怎么办3、sigmoid函数特性2、统计学,概率论1、a,b~U[0,1],互相独立,求Max(a,b)期望2、一个活动,n个女生手里拿着长短不一的玫瑰花,无序的排成一排,一个男生从头走到尾,试图拿更长的玫瑰花,一旦拿了一朵就不能再拿其他的,错过了就不能回头,问最好的策略?3、问题:某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,.原创 2021-03-31 20:27:56 · 451 阅读 · 0 评论 -
决策树(超系统全面)①
一、决策树1.1 原理决策树是一种基本的分类与回归方法,其模型就是用一棵树来表示我们的整个决策过程。这棵树可以是二叉树(比如CART 只能是二叉树),也可以是多叉树(比如 ID3、C4.5 可以是多叉树或二叉树)。根节点包含整个样本集,每个叶节都对应一个决策结果(注意,不同的叶节点可能对应同一个决策结果),每一个内部节点都对应一次决策过程或者说是一次属性测试。从根节点到每个叶节点的路径对应一个判定测试序列。举个例子:就像上面这个例子,训练集由三个特征:outlook(天气),humidity(度)原创 2021-03-31 19:44:47 · 552 阅读 · 0 评论 -
关联规则—Apriori、FP-growth/FP-Tree
关联规则简介关联规则挖掘是一种基于规则的机器学习算法,该算法可以在大数据库中发现感兴趣的关系。它的目的是利用一些度量指标来分辨数据库中存在的强规则。也即是说关联规则挖掘是用于知识发现,而非预测,所以是属于无监督的机器学习方法。Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。关联规则的一般步骤:1、找到频繁集;2、在频繁集中通过可信度筛选获得关联规则。关联规则应用:1、Apriori算法应用广泛,可用于消费市场价格分析,猜原创 2020-12-13 20:43:54 · 4351 阅读 · 2 评论 -
XGBOOST常见问题以及面试题④
1. 树该怎么长很有意思的一个事是,我们从头到尾了解了xgboost如何优化、如何计算,但树到底长啥样,我们却一直没看到。很显然,一棵树的生成是由一个节点一分为二,然后不断分裂最终形成为整棵树。那么树怎么分裂的就成为了接下来我们要探讨的关键。对于一个叶子节点如何进行分裂,XGBoost作者在其原始论文中给出了一种分裂节点的方法:枚举所有不同树结构的贪心法不断地枚举不同树的结构,然后利用打分函数来寻找出一个最优结构的树,接着加入到模型中,不断重复这样的操作。这个寻找的过程使用的就是贪心算法。选择一个fea原创 2020-08-06 10:15:52 · 2031 阅读 · 1 评论 -
XGBOOST理论理解③
Xgboost属于集成算法。复习一下:1、 xgboost树的定义举个例子,我们要预测一家人对电子游戏的喜好程度,考虑到年轻和年老相比,年轻更可能喜欢电子游戏,以及男性和女性相比,男性更喜欢电子游戏,故先根据年龄大小区分小孩和大人,然后再通过性别区分开是男是女,逐一给各人在电子游戏喜好程度上打分,如下图所示。就这样,训练出了2棵树tree1和tree2,类似之前gbdt的原理,两棵树的结论累加起来便是最终的结论,所以小孩的预测分数就是两棵树中小孩所落到的结点的分数相加:2 + 0.9 =原创 2020-08-05 15:46:00 · 1091 阅读 · 0 评论 -
KNN算法思路以及常见面试题
一.KNN算法概述KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学习算法)。关于K-means可以看上篇博客。二.KNN算法介绍KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,K的取值肯定是至关重要的。其实啊,KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。如下图,k=3时候,绿色x判定为蓝色。原创 2020-06-02 14:05:55 · 4771 阅读 · 0 评论 -
k-means常见面试题
总述关于K-means在面试中常见的问题先汇总一下,下面分别详细说明。1、简述一下K-means算法的原理和工作流程2、K-means中常用的到中心距离的度量有哪些?3、K-means中的k值如何选取?4、K-means算法中初始点的选择对最终结果有影响吗?5、K-means聚类中每个类别中心的初始点如何选择?6、K-means中空聚类的处理7、K-means是否会一直陷入选择质心的循环停不下来?8、如何快速收敛数据量超大的K-means?9、K-means算法的优点和缺点是什么?一、原创 2020-06-01 16:07:12 · 4519 阅读 · 1 评论 -
k-means思路与算法流程
k-means思路:K-Means算法的特点是类别的个数是人为给定的,如果让机器自己去找类别的个数,我们有AP聚类算法,先不说,说了就跑题了。K-Means的一个重要的假设是:数据之间的相似度可以使用欧氏距离度量,如果不能使用欧氏距离度量,要先把数据转换到能用欧氏距离度量,这一点很重要。(注:可以使用欧氏距离度量的意思就是欧氏距离越小,两个数据相似度越高)K-Means算法有个很著名的解释,就是牧师-村民模型,这也是K-Means算法的一个过程。步骤:(白话)1、随机生成k个聚类中心点(真心原创 2020-06-01 10:59:40 · 4069 阅读 · 0 评论