omega

随机森林RF、XGBoost、GBDT和LightGBM的原理和区别

╄→尐↘猪︶ㄣ 提交于 2020-04-27 04:28:43
[TOC] 1、基本知识点介绍 RandomForest、XGBoost、GBDT和LightGBM都属于集成学习。 集成学习通过构建并结合多个分类器来完成学习任务,也称为多分类系统,集成学习的目的是通过结合多个机器学习分类器的预测结果来改善基本学习器的泛化能力和鲁棒性。 集成学习方法大致分为两类: 基本学习器之间存在强依赖关系、必须串行生成的序列化方法,即Boosting提升方法。 基本学习器之间不存在强依赖关系、可同时生成的并行化方法,即Bagging方法。 2、各个算法原理 2.1 随机森林 -- RandomForest RF原理 :RF是Bagging的扩展变体,它在以决策树为基础学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机特征选择,其流程大概分为四个步骤: 随机选择样本(放回抽样)。 随机选择特征属性。 构建决策树。 随机森林投票(平均)。 因此防止过拟合能力更强,降低方差。 Bagging,即套袋法,算法过程如下: 从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本,共进行k轮抽取,得到k个训练集。 每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(模型可以根据具体问题具体选取,如决策树,SVM,感知机。) 对于分类问题:将上面得到的k个模型采用投票的方式得到分类结果; 对于回归问题

【斯坦福算法分析和设计02】渐进分析

橙三吉。 提交于 2020-04-26 18:24:44
目录 1. The Gist 1.1 为什么要学它(Motivation) 1.2 High level idea 1.3 4个例子 2. Big-Oh Notation 2.1 文本定义 2.2 图形定义 2.3 数学定义 3. 2个例子 3.1 k阶多项式是O(n^k) 3.2 k阶多项式不是O(n^(k-1)) 4. Big Omega and Theta 4.1 Big-Omega表示法 4.2 Big-theta表示法 4.3 Little-O表示法 4.4 渐进性表示法的来源 5. 几个额外的例子【可选】 5.1 在指数中添加一个常数 5.2 指数乘以一个常数 5.2 最大值和求和 1. The Gist 1.1 为什么要学它(Motivation) 我们的目的是寻找一种对算法进行衡量的最有效力度,我们希望忽略不重要的细节,例如常数因子和低阶项,把注意力集中在算法的运行时间是怎样随着输入长度的增长而增长的,这些任务是通过大O表示法(包括它的近亲表示法)的形式完成的,每个程序员都应该掌握这个概念。 它是行业术语渐进性表示法提供了讨论算法设计与分析的基本术语,当我们听到某个程序员谈论他的某段代码以"n的大O时间运行",而另一段代码,以"n平方的大O时间运行"时,我们需要知道其中的意思。它是区别不同算法的"sweet spot"它有粗放和精细的两个特征。粗放

集成学习之Xgboost

余生颓废 提交于 2020-04-26 15:32:13
XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,或者叫极值梯度提升算法,经常被用在一些比赛中,其效果显著。它是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包。XGBoost 所应用的算法就是 GBDT(gradient boosting decision tree)的改进,既可以用于分类也可以用于回归问题中。GBDT和xgboost在竞赛和工业界使用都非常频繁,GBDT是以决策树(CART)为基学习器的GB算法,xgboost扩展和改进了GDBT,xgboost算法更快,准确率也相对高一些。现在Kaggle 大赛的情况基本是这样的,凡是非结构化数据相关,比如语音、图像,基本都是深度学习获胜,凡是结构化数据上的竞赛,基本都是 XGBoost 获胜。Xgboost可以说集成思想达到顶峰的一个模型,至少目前是这样,所以学习机器学习算法,掌握这个是很有必要的。 学习Xgboost之前,需要了解决策树,集成学习,GBDT等算法的概念,会帮助更好的去理解Xgboost。 Gradient boosting回顾 机器学习中学习算法的目标是为了优化或者说最小化loss Function, Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型$F_{m

小学生都能看懂的FFT!!!

烂漫一生 提交于 2020-04-21 14:39:10
小学生都能看懂的FFT!!! 前言 在创新实践中心偷偷看了一天FFT资料后,我终于看懂了一点。为了给大家提供一份简单易懂的学习资料,同时也方便自己以后复习,我决定动手写这份学习笔记。 食用指南: 本篇受众:如标题所示,另外也面向同我一样高中起步且非常菜的OIer。真正的dalao请无视。 本篇目标:让大家(和不知道什么时候把FFT忘了的我)在没有数学基础的情况下,以最快的速度了解并 会写 FFT。因此本篇将采用尽可能通俗易懂的语言,且略过大部分数学证明,在严谨性上可能有欠缺。但如果您发现了较大的逻辑漏洞,欢迎在评论里指正! 最后……来个版权声明吧。本文作者胡小兔,博客地址http://rabbithu.cnblogs.com。暂未许可在任何其他平台转载。 你一定听说过FFT,它的高逼格名字让人望而却步——“快速傅里叶变换”。 你可能知道它可以 \(O(n \log n)\) 求高精度乘法,你想学,可是面对一堆公式,你无从下手。 那么欢迎阅读这篇教程! [Warning] 本文涉及复数(虚数)的一小部分内容,这可能是最难的部分,但只要看下去也不是非常难,请不要看到它就中途退出啊QAQ。 什么是FFT? 快速傅里叶变换(FFT)是一种能在 \(O(n \log n)\) 的时间内将一个多项式转换成它的 点值表示 的算法。 补充资料:什么是点值表示 设 \(A(x)\) 是一个 \(n

【01】拓扑图论基础:(三)平面图与可平面性

巧了我就是萌 提交于 2020-04-21 05:34:02
拓扑图论基础:(三)平面图与可平面性 折线·闭折线·简单闭折线 设$A$是平面$\mathbb{E}^2$上的曲线.如果$A$是平面上有限个直线段的并,那么我们称$A$是平面上的一条 折线 .类似地,我们可以定义 闭折线 .如果$A$既是简单曲线又是折线,那么我们就称$A$是 简单折线 ;同样地,如果$A$既是简单闭曲线又是折线,那么我们就称$A$是 简单闭折线 . 引理(简单折线) 设$\Omega$是平面上的一个弧连通的开集.那么$\Omega$内任意两点都可以被$\Omega$内的一条简单折线连接. 证明 任取$x,y\in \Omega$.因为$\Omega$是弧连通的,所以$\Omega$中存在连接$x,y$的简单曲线$A$.对每个$z\in A$,存在以$z$为心的开的圆盘$B(z)\subseteq \Omega$,所以${B(z):z\in A}$是$A$的一个开覆盖.因为连续映射保持紧致性,所以$A$在$\Omega$上是紧致的.所以${B(z):z\in A}$有一个有限子覆盖,记作${B(z_i):i=1,2,\dots,k}$.这样就很容易构造包含于$\cup_{i=1}^kB(z_i)$的、连接$x,y$的折线了.$\blacksquare$ Jordan曲线定理 使用 引理(简单折线) ,很容易证明如下引理. 引理(折线平面嵌入)

《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)

試著忘記壹切 提交于 2020-04-18 12:14:29
最新的效果见 : http://video.sina.com.cn/v/b/124538950-1254492273.html 可处理视频的示例: 视频去雾效果 在图像去雾这个领域,几乎没有人不知道《 Single Image Haze Removal Using Dark Channel Prior 》这篇文章,该文是2009年CVPR最佳论文。作者何凯明博士,2007年清华大学毕业,2011年香港中文大学博士毕业,可谓是功力深厚,感叹于国内一些所谓博士的水平,何这样的博士才可以真正叫做Doctor。 关于何博士的一些资料和论文,大家可以访问这里: http://research.microsoft.com/en-us/um/people/kahe/ 最开始接触何的这篇论文是在2011年,说实在的那个时候,只是随便浏览了下,看到里面的soft matting过程比较复杂,并且执行速度非常慢,就没有什么大的兴趣。最近又偶尔拾起,仔细研读,觉得论文的推理步骤特别清晰,讲解很到位。恰好适逢浏览到其另外一篇文章《 Guided Image Filtering 》 ,其中提到了可以用导向滤波来代替soft matting的过程,且速度很快,因此,我对去雾的兴趣算法又大大提高了。 本文主要上是对《Single Image Haze Removal Using Dark Channel

U-Net

扶醉桌前 提交于 2020-04-17 14:16:45
【推荐阅读】微服务还能火多久?>>> 文章作者:Tyan 博客: noahsnail.com | CSDN | 简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总: https://github.com/SnailTyan/deep-learning-papers-translation U-Net: Convolutional Networks for Biomedical Image Segmentation Abstract There is large consent that successful training of deep networks requires many thousand annotated training samples. In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated samples more efficiently. The architecture consists of a contracting path to capture context and a symmetric

机器学习笔记(九)——手撕支持向量机SVM之间隔、对偶、KKT条件详细推导

烂漫一生 提交于 2020-04-12 11:30:11
SVM概述 支持向量机(SVM)是一种有监督的分类算法,并且它绝大部分处理的也是二分类问题,先通过一系列图片了解几个关于SVM的概念。 上图中有橙色点和蓝色点分别代表两类标签,如果想要将其分类,需要怎么做呢?可能有的伙伴会想到上一篇文章讲到的逻辑回归拟合决策边界,这肯定是一种不错的方法,本文所讲的SVM也是可以解决这种分类问题的;既然都是分类算法,所以通过一个例子可以比对出二者的相同点和不同点。 超平面 可以看到,这里给出了两种划分方式,就图中实线而言,在逻辑回归中可以称作决策边界,而在SVM中它被称为超平面(hyperplane)。 上面例子中数据点都分布在二维平面上,所以此时超平面就为一条直线。如果给出的数据集是三、四、... 、N维呢?此时超平面对应的维度就是二、三、...、N-1维的,下图展示了数据集多维时的超平面。 最大间隔 对于这个例子,可以将其准确分类的超平面可能有多个,其中具有最大间隔(两条虚线之间的距离)的超平面就是SVM要找的最优解,这个最优解对应两侧虚线所穿过的样本点,就是“支持向量(support vector)”,支持向量到超平面的距离被称为间隔(margin),如下图绘制标识。 公式推导 超平面方程 我们利用SVM算法建模最后想要从众多超平面中求解具有最大间隔的超平面,所以这也是一个最优化问题。 这里需要了解一下最优化问题的两个基本因素: 目标函数

写给大忙人的模电复习资料(001)

こ雲淡風輕ζ 提交于 2020-04-10 14:52:38
一、半导体的基础知识 本征半导体:完全纯净的、结构完整的半导体晶体。 本征激发:本征半导体在升高温度或光照的条件下产生本征激发,导致自由电子数 = 空穴数。但在绝对零度时无本征激发。 本征激发产生了空穴,空穴的出现是半导体区别于导体的一个重要特点。 杂质半导体 N型半导体:在半导体中加入少量的例如五价元素磷,导致其失去电子,使得半导体中多子为自由电子。此处磷称为施主元素(施出电子)。 P型半导体:在半导体中加入少量的例如三价元素硼,导致其吸收自由电子,使得半导体中多子为空穴。此处硼称为受主元素(接受电子)。 二、PN结 百度百科上的这个图很详细: PN结 = 阻挡层 = 耗尽层 基本特性:单向导电性 形成一个由N区指向P区的内电场 漂移电流:内电场使得载流子运动产生的电流 扩散电流:载流子由高浓度向低浓度扩散产生的电流 PN结的伏安特性 i D = I S ( e V D V T − 1 ) i_{D}=I_{S}\left(e^{\frac{V_{D}}{V_{T}}}-1\right) i D ​ = I S ​ ( e V T ​ V D ​ ​ − 1 ) 这个公式,你嫌麻烦可以不用记,在用的时候找一下就行。但是里面的这些变量的含义你要知道,这在后面经常用到: i D i_{D} i D ​ :二极管的电流 I S I_{S} I S ​ :反向饱和电流(少子形成) V D

波束形成算法学习笔记

∥☆過路亽.° 提交于 2020-04-05 17:43:50
波束形成算法学习笔记 波束形成的优缺点(Pros & Cons) 优点 缺点 麦克风的指向性(Directivity pattern of a microphone) 信号模型和定义 评价指标 最大化白噪声增益 麦克风阵列算法有两大类,一类是波束形成算法,另一类是盲源分离算法,两者互有优劣,先记录波束形成算法的笔记。本篇博客先说波束形成的优缺点,波束形成的基础知识,然后分别介绍固定波束形成(fixed beamforming, data-independent) 和自适应波束形成(adaptive beamforming, data-dependent)。 波束形成的优缺点(Pros & Cons) 优点 波束形成的优点是可以利用空间信息做 空间滤波 (Spatial filtering)。 以单麦克风降噪为例。单麦克风接收到的信号,无法分辨来波方向。对于噪声的抑制主要抑制平稳噪声。因为语音信号是非平稳的,如何准确区分非平稳的噪声和语音比较困难。麦克风阵列至少有两颗麦克风,能够一定程度的区分来波方向。 对于非期望方向的干扰语音或者其他非平稳噪声可以线性地衰减。 缺点 波束形成算法的性能依赖目标信号的VAD信息。 以GSC结构为例,MC的自适应噪声消除,其滤波系数更新依赖于这个VAD信息。只有当目标信号(有效语音)不存在时,才需要更新滤波器系数。否则会将有效语音消除掉。