特征选择

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

图像检索:layer选择与fine-tuning性能提升验证

懵懂的女人 提交于 2019-11-27 20:48:31
这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活。一个人逛街,一个人吃饭,一个人旅行,一个人做很多事。极致的幸福,存在于孤独的深海。在这样日复一日的生活里,我逐渐和自己达成和解。 作为迁移学习的一种,finetune能够将general的特征转变为special的特征,从而使得转移后的特征能够更好的适应目标任务,而图像检索最根本的问题,仍在于如何在目标任务上获得更好的特征表达(共性与可区分性)。一种很自然的方式便是在特定的检索任务上,我们对imageNet学得的general的特征通过finetune的方式,使得表达的特征能够更好的适应我们的检索任务。在 End-to-end Learning of Deep Visual Representations for Image Retrieval 和 Collaborative Index Embedding for Image Retrieval 中已经很清楚的指出,通过基本的classification loss的finetune的方式,能够较大幅度的提高检索的mAP。因此,在本篇博文中,小白菜针对检索,主要整理了下面四个方面的内容: CNN网络中哪一层最适合于做图像检索 基于pre-trained模型做图像检索几种典型的特征表示方法 抽取网络任意层的特征 数据增强(Data Augmentation)

特征选择/特征提取

*爱你&永不变心* 提交于 2019-11-27 19:33:31
定义: 特征选择 是一个「 降维 」的过程,是一个去掉无关特征,保留相关特征的过程。从所有特征集中选取最好的一个特征子集。 特征提取 是一个将机器学习算法不能识别出来的原始数据转变成可以识别到数据特征的过程。没有「筛选」的操作,不需要考虑特征是否有用,所以并不能称其为降维。 比如说,文本是由一系列文字组成的,这些文字在经过分词后会形成一个词语集合,对于这些词语集合(原始数据),机器学习算法是不能直接使用的,我们需要将它们转化成机器学习算法可以识别的数值特征(固定长度的向量表示),然后再交给机器学习的算法进行操作。 再比如说,图片是由一系列像素点构(原始数据)成的,这些像素点本身无法被机器学习算法直接使用,但是如果将这些像素点转化成矩阵的形式(数值特征),那么机器学习算法就可以使用了。 通过实例理解,以文本分类为例:   假设语料库里有若干文章,现在要对其中一篇文章做分词处理,把每篇文章都看作是一个词语的集合。然后将每篇文章作为数据来训练分类模型,由于原始数据都是单词并且每篇文章的词语个数不同,所以不能直接被机器学习算法所利用。因为 机器学习需要的是定长的数值化特征 ,所以我们的目的就是要将所有的原始数据变成数值化来表示,这就是所谓的 特征提取 。具体步骤如下: 先对训练数据里的每一篇文章,做词语统计(停用词去除掉),以形成一个词语向量。最后效果是每一个词语都代表词语向量中的一个元素

决策树与随机森林

爷,独闯天下 提交于 2019-11-27 18:12:21
一、决策树 决策树(decision tree)是一种基本的分类与回归方法,本篇主要讨论用于分类的决策树。 1.决策树模型 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶节点(leaf node)。内部结点表示一个特征或属性,叶节点表示一个类。 下图为一个决策树的示意图,图中圆和方框分别表示内部结点和叶节点。 2.特征选择 如何选择特征?即需要确定选择特征的准则。如果一个特征具有更好的分类能力,或者说,按照这一特征将训练数据集分割成子集,使得各个子集在当前条件下有更好的分类,那么就更应该选择这个特征。 2.1 熵 在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。设X是一个有限的离散随机变量,其概率分布为 \begin{align}\notag P(X=x_{i})=p_{i}, i=1,2,...,n \end{align} 则随机变量X的熵定义为 \begin{align}\notag H(X)=-\sum_{i=1}^{n}p_{i}\textrm{log}p_{i} \end{align} 上式中,对数以2为底或以e为底。如有0概率,定义0log0=0。由定义可知,熵只依赖于X的分布,而与X的取值无关,所以也可将X的熵记作H

5、特征选择

谁说胖子不能爱 提交于 2019-11-27 15:48:38
当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征: 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。 根据特征选择的形式又可以将特征选择方法分为3种: Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。 Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。 Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。 一、过滤法(filter) 根据特征的相关性进行评分,设定一个评分阈值来选择。 1、方差筛选 方差越大的特征,那么我们可以认为它是比较有用的。如果方差较小,比如小于1,那么这个特征可能对我们的算法作用没有那么大。最极端的,如果某个特征方差为0,即所有的样本该特征的取值都是一样的,那么它对我们的模型训练没有任何作用,可以直接舍弃。 2、相关系数 主要用于输出连续值的监督学习算法中

机器学习算法

旧城冷巷雨未停 提交于 2019-11-27 10:19:00
文章目录 一 监督学习 1 classification分类 (1) Binary Decision Tree(BDT)二分决策树 (2) Naive Bayesian Classifier朴素贝叶斯分类器 (3) Neural Network(NN)神经网络 (4)Convolution NN(CNN)卷积神经网络 (5)Deep Belief Networks(DBN)深度信念网络 (6)Recurrent NN(RNN)深度循环神经网络 2 regression回归 (1)LinearRegression线性回归: (2)树回归: 二 强化学习 1 Q-learning 2 Deep Q Networks 3 Double Q-learning 4 Prioritized experience replay 三 无监督学习 1 Dimensionality Reduction降维 (1)Stacked Auto-Encoders(SAE)栈式自编码 (2)Local Linear Embedding局部线性嵌入 2 Clustering聚类 (1)聚类算法简介 (2)聚类算法分类 (3)KMeans算法 (4)层次聚类(hierarchical clustering) (5) DBSCAN(基于密度的聚类算法) 3 Density Estimation密度估计 一 监督学习

各种树模型细节比较(分类树,回归树,随机森林,gbdt, xgboost)

烈酒焚心 提交于 2019-11-27 05:41:49
前言 树模型实在是个庞大的家族,里面有许多细节值得注意,怕自己遗忘,写一期总结方便以后查询。先介绍三种划分方式: 信息增益: 计算数据集D中的经验熵H(D): 计算特征A对数据集D的经验条件H(D/A): 计算休息增益差: 其中D为样本容量,pi代表当前节点D中i类样本比例。设有K个类(1,2,…,K),Ck为属于为K类样本的样本数。设特征A有j个不同的取值(a1,…,aj),根据A的取值将D划分为D1,…,Dj(代表样本数)。 信息增益率: 分裂信息计算公式: 信息增益率定义为: 选择最大增益率作为分裂特征 Gini系数: 在CART树中使用,这里CART先不展开后文会写。 从根节点开始,对节点计算现有特征的基尼指数。 对每一个特征,例如A,再对其每个可能的取值如a,根据样本点对A=a的结果划分为两个部分(这里假设A只有两个值,因为 CART是二叉树 ): 上面的式子表示的是不确定性的大小,越小表示数据纯度越高。 分类树 ID3: ID3算法的核心是在决策树各个节点上根据 信息增益 来选择进行划分的特征,然后递归地构建决策树。 具体方法: 从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益值最大的特征作为节点的划分特征; 由该特征的不同取值建立子节点; 再对子节点递归地调用以上方法,构建决策树; 到所有特征的信息增益都很小或者没有特征可以选择为止,得到最终的决策树。

Learning from class-imbalanced data: Review of methods and applications 论文阅读

南楼画角 提交于 2019-11-27 02:40:51
目录 Learning from class-imbalanced data: Review of methods and applications 摘要 Introdution 介绍 Research methodology and initial statistics 调研方法和初始统计 Research methodology 调研方法 Initial statistics 初步统计 Imbalanced data classification approaches 不平衡数据分类方法 Basic strategies for dealing with imbalanced learning 处理不平衡学习的基本方法 Preprocessing techniques 预处理技术 resampling 重采样 Feature selection and extraction 特征选择和抽取 Cost-sensitive learning 代价敏感学习 Classification algorithms for imbalanced learning 针对不平衡学习的分类算法 Ensemble methods 集成方法 Iterative based ensemble 基于迭代的集成 Parallel based ensembles 基于并行的集成 Base classifier

R语言特征选择——逐步回归

。_饼干妹妹 提交于 2019-11-26 16:07:25
原文链接: http://tecdat.cn/?p=5453 变量选择方法 所有可能的回归 model <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars) ols_all_subset(model) ## # A tibble: 15 x 6 ## Index N Predictors `R-Square` `Adj. R-Square` `Mallow's Cp` ## ## 1 1 1 wt 0.75283 0.74459 12.48094 ## 2 2 1 disp 0.71834 0.70895 18.12961 ## 3 3 1 hp 0.60244 0.58919 37.11264 ## 4 4 1 qsec 0.17530 0.14781 107.06962 ## 5 5 2 hp wt 0.82679 0.81484 2.36900 ## 6 6 2 wt qsec 0.82642 0.81444 2.42949 ## 7 7 2 disp wt 0.78093 0.76582 9.87910 ## 8 8 2 disp hp 0.74824 0.73088 15.23312 ## 9 9 2 disp qsec 0.72156 0.70236 19.60281 ## 10 10 2 hp qsec 0.63688 0

机器学习算法比较

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 12:27:46
本文主要回顾下几个常用算法的适应场景及其优缺点! 机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常最开始我们都会选择大家普遍认同的算法,诸如SVM,GBDT,Adaboost,现在深度学习很火热,神经网络也是一个不错的选择。假如你在乎精度(accuracy)的话,最好的方法就是通过交叉验证(cross-validation)对各个算法一个个地进行测试,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。但是如果你只是在寻找一个“足够好”的算法来解决你的问题,或者这里有些技巧可以参考,下面来分析下各个算法的优缺点,基于算法的优缺点,更易于我们去选择它。 偏差&方差 在统计学中,一个模型好坏,是根据偏差和方差来衡量的,所以我们先来普及一下偏差和方差: 偏差:描述的是预测值(估计值)的期望E’与真实值Y之间的差距。偏差越大,越偏离真实数据。 方差:描述的是预测值P的变化范围,离散程度,是预测值的方差,也就是离其期望值E的距离。方差越大,数据的分布越分散。 模型的真实误差是两者之和。 如果是小训练集,高偏差/低方差的分类器(例如,朴素贝叶斯NB)要比低偏差/高方差大分类的优势大(例如,KNN),因为后者会过拟合。但是,随着你训练集的增长,模型对于原数据的预测能力就越好