特征选择

10、应用机器学习的建议(Advice for Applying Machine Learning)

故事扮演 提交于 2019-12-02 03:34:17
10.1 决定下一步做什么   到目前为止,我们已经介绍了许多不同的学习算法,如果你一直跟着这些视频的进度学习,你会发现自己已经不知不觉地成为一个了解许多先进机器学习技术的专家了。   然而,在懂机器学习的人当中依然存在着很大的差距,一部分人确实掌握了怎样高效有力地运用这些学习算法。而另一些人他们可能对我马上要讲的东西,就不是那么熟悉了。他们可能没有完全理解怎样运用这些算法。因此总是把时间浪费在毫无意义的尝试上。我想做的是确保你在设计机器学习的系统时,你能够明白怎样选择一条最合适、最正确的道路。因此,在这节视频和之后的几段视频中,我将向你介绍一些实用的建议和指导,帮助你明白怎样进行选择。具体来讲,我将重点关注的问题是假如你在开发一个机器学习系统,或者想试着改进一个机器学习系统的性能,你应如何决定接下来应该选择哪条道路?   为了解释这一问题,我想仍然使用预测房价的学习例子,假如你已经完成了正则化线性回归,也就是最小化代价函数𝐽的值,假如,在你得到你的学习参数以后,如果你要将你的假设函数放到一组新的房屋样本上进行测试,假如说你发现在预测房价时产生了巨大的误差,现在你的问题是要想改进这个算法,接下来应该怎么办?   实际上你可以想出很多种方法来改进这个算法的性能,其中一种办法是使用更多的训练样本。具体来讲,也许你能想到通过电话调查或上门调查来获取更多的不同的房屋出售数据。遗憾的是

谐门武学:特征选择与Null Importance

被刻印的时光 ゝ 提交于 2019-12-01 05:07:48
特征工程是我们在做机器学习工作中的重要一环,根据我的工作经验,其实特征工程可以分为两个部分,一个是特征生产,另一个是特征选择,今天我们就针对特征选择来进行一下探讨,并给大家介绍一个我在比赛中学到的新的把戏。想看这个把戏的可以直接跳转到 使用Null importance 进行特征选择 特征选择的常见方法 特征选择是机器学习里面一个很老的话题了,常见的特征选择方法我觉得可以归为两大类,一类是基于贪心算法的,接近于暴力搜索。另一类是基于具体的机器学习模型。 基于贪心算法的特征选择 基于贪心算法的特征选择也有两种方式,一种是从零到全部,另一种是从全部到零,其实效果都差不多。前者被称为包裹式,后者被称为过滤式。简单来说包裹式就是: 随机选中一个特征,作为特征组F跑一遍模型,记分数$s_1$ 随机选中一个未被选中过的特征与F一起跑一遍模型,记分数$s_2$。 如果$s_2 > s_1+b$,将新的特征加入到F中,若否,不加入。这里的b为可调节的阈值,通常为零。 重复2~3步骤,直到所有特征都被选择过,输出最终的特征组F。 过滤式其实就是一模一样的思路,只不过从大到小而已: 选取全部特征,作为特征组F跑一遍模型,记分数$s_1$ 随机选中F中的一个特征屏蔽,跑一遍模型,记分数$s_2$。 如果$s_2 > s_1-b$,将该特征从F中去除,若否,不则不去除。 重复2~3步骤

算法选择--数据与特征工程

梦想的初衷 提交于 2019-11-30 19:25:07
数据与特征工程(如何选择与处理数据)   1)在处理数据上,数据并非越多越好,多余的无关特征会因为伪相关、巧合而影响模型。   2)对数据做相关性分析的时候,善用可视化可以一目了然发现问题。   3)对于高度相关的特征,移除或者合并前要三思,可能并不会提高模型能力。   3)如果选用了线性模型,可能需要对特征进行离散化   4)对于大部分模型来说,归一化或者标准化是必不可少的步骤,至少”无害“   5)如果问题较为复杂,尽量选择非线性的鲁棒性强的模型   数据不是越多越好,要根据领域经验挑选相关特征。有一个误区就是信息越多越好。其实不然,无关信息可能与预测值存在某种巧合,导致对检测结果造成负面影响。所以只选择与预测值可能有关联的信息。 相关性分析   做相关性分析,可以发现数据中的问题,发现数据中有意思的部分,评估模型的能力。如果多个特征高度相关,那可能模型预测能力效果有限。   方法:可视化;相关性矩阵;互信息 去相关性   总结来看,如果不存在特别严重的相关性,去相关性不是必要步骤。从理论和实验角度来看,去掉或者合并相关性特征不一定会提高模型的预测能力。   从实践角度来看,树模型对于相关性的鲁棒性强,如果可能,可以先使用未处理的特征在树模型进行尝试。   如果有必要移除相关性,下面是移除相关性的方法:特征选择;设定阈值,去除高线性相关的特征组。 特征提取  

机器学习实战:决策树

我们两清 提交于 2019-11-30 19:01:04
  决策树(decision tree)是一种基本的分类与回归方法。   决策树的构建通常可以概括为3个步骤:特征选择、决策树的生成和决策树的修剪。 1、特征选择   特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率,如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。经验上扔掉这样的特征对决策树学习的精度影响不大。通常特征选择的标准是信息增益(information gain)或信息增益比。   特征选择就是决定用哪个特征来划分特征空间。   熵定义为信息的期望值。在信息论与概率统计中,熵是表示随机变量不确定性的度量。如果待分类的事物可能划分在多个分类之中,则符号xi的信息定义为 : 来源: https://www.cnblogs.com/xxupup/p/11636335.html

携程一面凉经

对着背影说爱祢 提交于 2019-11-29 22:15:37
1 介绍一下项目:项目背景,使用的方法 1.1 特征组合如何组合的 1.2 如何选择的特征,GBDT如何选择特征?(没懂什么意思,gbdt训练的时候应该是用的所有的特征,为什么还会有特征选择) 1.3 介绍一下blending方法。 1.4 介绍一下所有的模型各自使用的特征? 2 介绍一下特征提取的方法 3 如何对大量的特征进行特征选择?(只答上来一个方面) Filter(过滤法):按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。 Wrapper(包装法):根据目标函数(通常是预测效果),每次选择若干特征,或者排除若干特征。 Embedded(嵌入法):先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。 4 由于本科是学数学的,有学统计相关的知识,如果特征之间存在多重共线性,会对lr造成什么影响,如何消除这种影响(从理论分析),没答上来 5 知道项目使用python写的,就好像没有什么兴趣了 6 目前企业上用的较多的还是sql,但是简历上没写,也就没问,就说了一下。 7 介绍一下svm的基本原理,为什么转化成对偶问题? 一方面是为了降维,另一方面也是为了引入核函数。 总体:太紧张了,很多东西都忘了,导致面试效果不佳 来源: https://www

特征选择算法(机器学习)

主宰稳场 提交于 2019-11-29 21:14:42
1)特征选择理论 一份数据有很多属性,但有些属性可能很关键,另一些没有用。从给定特征集中选择出相关特征子集的过程称为特征选择。特征选择是一个重要的数据预处理过程。一般在正式的数据处理之前进行。 特征选择是一个重要的数据预处理过程,他不仅可以降低数据维数,以节省时间,简化分析,规避“维度灾难”,更可以去除无关特征,抓住主要矛盾,使分析结果更加准确。同时,采用特征选择算法还便于理解和可视化数据,降低计算及存储压力。 特征选择简单来说就是选出一个“候选子集”,对这个子集进行分类等处理时其效果好于原始数据,且子集特征小于原数据。如何决定这个“候选子集”?想要在出事特征集合中选取一个包含重要信息的特征子集。若没有任何领域知识作为先验假设,就只能遍历。但是这样计算量会特别大。所以方法是先产生一个“候选子集”,再对其进行评估。因此需要两个步骤,一是“子集搜索”,二是“子集评价”。其中子集搜索就是先确定候选子集中的一个属性,并向其中加入另一个属性。若分类性能变好,则加入这个属性,若分类性能未变好,则舍弃这个属性,并向其中加入另一个属性。子集搜索包括前进法,后退发,和逐步回归法。子集评价包含信息增益,交叉熵,相关性,余玄相似度等评价准则。两者结合起来就是特征选择方法,如前进法和信息熵结合,显然和决策树很相似。常见特征选择有三类方法:过滤式,包裹式,嵌入式 2)过滤式(filter)

几个常用算法的适应场景及其优缺点!

℡╲_俬逩灬. 提交于 2019-11-29 07:56:30
机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常最开始我们都会选择大家普遍认同的算法,诸如SVM,GBDT,Adaboost,现在 深度学习 很火热, 神经网络 也是一个不错的选择。 假如你在乎精度(accuracy)的话,最好的方法就是通过交叉验证(cross-valida ti on)对各个算法一个个地进行 测试 ,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。但是如果你只是在寻找一个“足够好”的算法来解决你的问题,或者这里有些技巧可以参考,下面来分析下各个算法的优缺点,基于算法的优缺点,更易于我们去选择它。 1.天下没有免费的午餐 在机器学习领域,一个基本的定理就是“没有免费的午餐”。换言之,就是没有算法能完美地解决所有问题,尤其是对监督学习而言(例如预测建模)。 举例来说,你不能去说神经网络任何情况下都能比决策树更有优势,反之亦然。它们要受很多因素的影响,比如你的数据集的规模或结构。 其结果是,在用给定的测试集来评估性能并挑选算法时,你应当根据具体的问题来采用不同的算法。 当然,所选的算法必须要适用于你自己的问题,这就要求选择正确的机器学习任务。作为类比,如果你需要打扫房子,你可能会用到吸尘器、扫帚或是拖把,但你绝对不该掏出铲子来挖地。 2. 偏差

决策树算法

我的梦境 提交于 2019-11-29 00:26:02
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一、简介 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法 1.定义: 决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树 。 二、决策树原理 1.熵 在物理学中,熵Entropy是“混乱”程度的度量 系统越有序,熵越低;系统混乱或者越分散,熵越高 信息理论 : 1、 从信息的完整性上进行的描述: 当 系统的有序状态一致时 ,**数据越集中的地方熵值越小,数据越分散的地方熵值越大。 2、 从信息的有序性上进行的描述: 当 数据量一致时 , 系统越有序,熵值越低;系统越混乱或者分散,熵值越高 。 1948年香农提出了 信息熵 (Entropy)的概念。 假如事件A的分类划分是(A1,A2,...,An),每部分发生的概率是(p1,p2,...,pn),那信息熵定义为公式如下:(log是以2为底,lg是以10为底) eg. 案例1: 如果一颗骰子的六个面都是1 ,投掷它不会给你带来任何新信息,因为你知道它的结果肯定是1,它的信息熵为? 答案: - log(1) = 0 。 案例2: 假设我们没有看世界杯的比赛

Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

久未见 提交于 2019-11-28 13:04:54
   注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也 就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事,他收罗了近些年所有推荐系统中涉及到深度学习的文章 ,并将这些文章进行分类,逐一分析,然后最后给出了一个推荐系统以后的发展方向的预估. 那么通过这篇论文,我们可以较为 系统的掌握这些年,在推荐系统方面,深度学习都有那些好玩的应用,有哪些新奇的方法,这片论文起到了一个简报的作用,下面是论文的一个粗糙翻译: 概述:   随着互联网上数字信息量的急剧增加,在线商店、在线音乐、视频和图像库、搜索引擎和推荐系统已经成为在短时间内查找 相关信息的最方便的方式。近年来,深度学习在语音识别、图像处理和自然语言处理等领域得到了广泛的关注。同时,最近的一 些研究也显示了深度学习在推荐系统和信息检索领域的应用。近年来,深度学习在语音识别、图像处理和自然语言处理等领域得 到了广泛的关注。同时,最近的一些研究也显示了深度学习在推荐系统和信息检索领域的一些应用。在这个简短的回顾中,我们 涵盖了最近在使用各种不同的深度学习技术在推荐领域取得的进展。我们将综述分为三个部分:协作系统、基于内容的系统和混 合系统。本文还讨论了深度学习集成推荐系统在多个应用领域中的贡献

Lidar Scan Feature for Localization with Highly Precise 3-D Map论文解读

这一生的挚爱 提交于 2019-11-28 07:43:29
日本人的文章,感觉有点水,主要内容讲的是点云与高精度地图匹配前如何采样的问题,对于如何匹配没有说,但它选定确定物体做特征匹配的方式不需要像SIFT那样选择关键点,直接通过阈值聚类的大小选择大的类当做稳定的建筑物做匹配。 之后可以试试这种采样方法,但前提是找到匹配方法,论文只是说它采用icp,是不是过于简单了。 实验采用的是32线雷达,它将雷达分成4*4个区域,(前后左右)(32线分成4层)。然后通过一个特征量判断的算法,选择匹配时使用哪几个区域。 对于自动驾驶,在路上行驶遇到的障碍物可以分到前后左右和上下角度上。如上的树木,建筑,下的道路,栏杆、行人。在不同的环境,扫描检测的物体特征不同,效果也不同。比如在高速路上,低方向的信息比较有用,可以检测路两侧,也非常适合定位,但在城市中,低的方向就有很多噪声比如行人车辆,高的方向就比较有用,不会有太多不确定物体。 算法过程 首先对于输入的点云(1950 32=62400)可以转换成2D矩阵,不同颜色是不同距离,红色近,蓝色远。在一次旋转中生成一副(720 32)的矩阵S,32行,720列。然后根据180,360,540,720列划分前后左右,每四层当作一层。S i,j (i={1,2,3,4},j={F,L,R,B}),根据相邻点计算差值D={d i,j =|s i,j -s i,j+1 |. 根据D将每个S i,j 分类,if d i