决策树

Accord.NET重启4.0 开发

流过昼夜 提交于 2020-08-06 08:59:33
Accord.NET Framework是在AForge.NET基础上封装和进一步开发来的。功能也很强大,因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器学习这个专业,在其基础上提供了更多统计分析和处理函数,包括图像处理和计算机视觉算法,所以侧重点不同,但都非常有用。 官方网站 : http://accord-framework.net/ 在项目中断2年时间之后,作者 cesarsouza 在2020年5月1日更新了项目状态, 他在欧洲完成博士,虽然他的工作中主要使用Python完成他的工作,但是他喜欢C#/.NET,一直在考虑Accprd.NET的发展问题,5月15日重新设定了4.0 版本的路线图 https://github.com/accord-net/framework/issues/2123, 其中他写道:“我看到这个项目仍然被认为对许多人有用,我不认为让项目消亡符合任何人的利益。我最初认为这个项目将由ML.NET取代,但事实并非如此。我们可以转换框架,转而与它合作。” 我们在ML.NET的最初宣布文章中有Accord.NET的影子: CNTK 已经死了,目前只有 Tensoflow.NET在蓬勃发展,发展的情况很不错,随着Accord.NET的加入,这个生态又重新激活,期待大家一起加入,推动.NET机器学习生态的发展

OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

一世执手 提交于 2020-08-05 15:36:33
若该文为原创文章,未经允许不得转载 原博主博客地址: https://blog.csdn.net/qq21497936 原博主博客导航: https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址: https://blog.csdn.net/qq21497936/article/details/106926496 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) OpenCV开发专栏(点击传送门) 上一篇:《 OpenCV开发笔记(六十四):红胖子8分钟带你深入了解SURF特征点(图文并茂+浅显易懂+程序源码) 》 下一篇:持续补充中… 前言   红胖子,来也!   识别除了传统的模板匹配之外就是体征点了,前面介绍了Suft特征点,还有一个传统的就会ORB特征点了。   其实识别的特征点多种多样,既可以自己写也可以使用opencv为我们提供的,一般来说根据特征点的特性和效率,选择适合我们场景的特征就可以了。   本篇,介绍ORB特征提取。 Demo             ORB特征点 概述  

深度神经网络(DNN)的正则化

好久不见. 提交于 2020-08-05 07:52:17
    和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结。 1. DNN的L1&L2正则化     想到正则化,我们首先想到的就是L1正则化和L2正则化。L1正则化和L2正则化原理类似,这里重点讲述DNN的L2正则化。     而DNN的L2正则化通常的做法是只针对与线性系数矩阵$W$,而不针对偏倚系数$b$。利用我们之前的机器学习的知识,我们很容易可以写出DNN的L2正则化的损失函数。     假如我们的每个样本的损失函数是均方差损失函数,则所有的m个样本的损失函数为:$$J(W,b) = \frac{1}{2m}\sum\limits_{i=1}^{m}||a^L-y||_2^2$$     则加上了L2正则化后的损失函数是:$$J(W,b) = \frac{1}{2m}\sum\limits_{i=1}^{m}||a^L-y||_2^2 + \frac{\lambda}{2m}\sum\limits_{l=2}^L||w||_2^2$$     其中,$\lambda$即我们的正则化超参数,实际使用时需要调参。而$w$为所有权重矩阵$W$的所有列向量。     如果使用上式的损失函数,进行反向传播算法时,流程和没有正则化的反向传播算法完全一样,区别仅仅在于进行梯度下降法时,$W$的更新公式。     回想我们在

Adaboost 算法的原理与推导

删除回忆录丶 提交于 2020-08-04 12:04:06
Adaboost 算法的原理与推导 0 引言 一直想写Adaboost来着,但迟迟未能动笔。其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩。昨日11月1日下午,在我组织的 机器学习班 第8次课上讲决策树与Adaboost,其中,Adaboost讲得酣畅淋漓,讲完后,我知道,可以写本篇博客了。 无心啰嗦,本文结合机器学习班决策树与Adaboost 的 PPT ,跟邹讲Adaboost指数损失函数推导的 PPT (第85~第98页)、以及李航的《统计学习方法》等参考资料写就,可以定义为一篇课程笔记、读书笔记或学习心得,有何问题或意见,欢迎于本文评论下随时不吝指出,thanks。 1 Adaboost的原理 1.1 Adaboost是什么 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。 具体说来,整个Adaboost 迭代算法就3步: 初始化训练数据的权值分布。如果有N个样本,则每一个训练样本最开始时都被赋予相同的权值:1/N。

九月十月百度,迅雷,华为,阿里巴巴笔试面试六十题(第411~470题)

孤街浪徒 提交于 2020-08-04 10:05:24
九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3周年之际一如既往的陪伴大家一起成长。 本文所整理的全部笔试面试题要么来源于我群内群友们的分享,要么摘自论坛或博客,所有原题均来自网络。虽然本文中整理的绝大部分笔试面试题偏算法( 自己特意为之之故 ),但不论是哪一年的校招,一般说来,笔试偏 基础 ( 尤其是选择题部分,涵盖语言,计算机组成原理、操作系统、网络协议、数据库、概率期望等知识 ),而面试则偏算法( 且极具针对性的根据 简历 提问 ),且无论是笔试还是面试,两者都很看重你的实际 编程能力 ,希望大家知晓。 OK, 本文会尽量保持每天更新一道新的笔试或面试题,直到校招基本结束( 更欢迎各位通过微博私信 http://weibo.com/julyweibo ,或邮箱 zhoulei97@aliyun.com 提供题目,亦可直接评论于本文下 ),如果大家对以下任何一题中有任何思路,包括参考题解中有任何错误,欢迎随时评论于本文之下,或 show me your code !谢谢。 九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1、来自《编程之美

LightGBM

笑着哭i 提交于 2020-07-29 11:24:55
LightGBM LightGBM原理及实现 LigthGBM是boosting集合模型中的新进成员,它和xgboost一样是对GBDT的高效实现,很多方面会比xgboost表现的更为优秀。原理上它和GBDT及xgboot类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。 LightGBM vs xGBoost xgBoost算法的优点: XGB利用了二阶梯度来对节点进行划分,相对其他GBM来说,精度更高。 利用局部近似算法对分裂节点的贪心算法优化,取适当的eps时,可以保持算法的性能且提高算法的运算速度。 在损失函数中加入了L1/L2项,控制模型的复杂度,提高模型的鲁棒性。 提供并行计算能力,主要是在树节点求不同的候选的分裂点的Gain Infomation(分裂后,损失函数的差值) Tree Shrinkage,column subsampling等不同的处理细节。 xgBoost算法的缺点: 需要pre-sorted,这个会耗掉很多的内存空间(2 * #data * # features) 数据分割点上,由于XGB对不同的数据特征使用pre-sorted算法而不同特征其排序顺序是不同的,所以分裂时需要对每个特征单独做依次分割,遍历次数为#data * #features来将数据分裂到左右子节点上。 尽管使用了局部近似计算,但是处理粒度还是太细了

数据挖掘的10大算法我用大白话讲清楚了,新手一看就懂

筅森魡賤 提交于 2020-07-28 20:39:22
一个优秀的数据分析师,除了要掌握基本的统计学、数据库、数据分析方法、思维、数据分析工具技能之外,还需要掌握一些数据挖掘的思想,帮助我们挖掘出有价值的数据,这也是数据分析专家和一般数据分析师的差距之一。 数据挖掘主要分为分类算法,聚类算法和关联规则三大类,这三类基本上涵盖了目前商业市场对算法的所有需求。而这三类里又包含许多经典算法。市面上很多关于数据挖掘算法的介绍深奥难懂,今天就给大家用简单的大白话来介绍数据挖掘十大经典算法原理,帮助大家快速理解。 算法分类 连接分析:PageRank 关联分析:Apriori 分类算法:C4.5,朴素贝叶斯,SVM,KNN,Adaboost,CART 聚类算法:K-Means,EM 一、PageRank 当一篇论文被引用的次数越多,证明这篇论文的影响力越大。 一个网页的入口越多,入链越优质,网页的质量越高。 原理 网页影响力=阻尼影响力+所有入链集合页面的加权影响力之和 一个网页的影响力:所有入链的页面的加权影响力之和。 一个网页对其他网页的影响力贡献为:自身影响力/出链数量。 用户并不都是按照跳转链接的方式来上网,还有其他的方式,比如直接输入网址访问。 所以需要设定阻尼因子,代表了用户按照跳转链接来上网的概率。 比喻说明 1、微博 一个人的微博粉丝数不一定等于他的实际影响力,还需要看粉丝的质量如何。 如果是僵尸粉没什么用

使用PyCaret构建机器学习模型

本小妞迷上赌 提交于 2020-07-28 18:26:46
作者|LAKSHAY ARORA 编译|VK 来源|Analytics Vidhya 概述 PyCaret是一个超级有用的Python库,用于在短时间内执行多个机器学习任务 学习如何依赖PyCaret在几行代码中构建复杂的机器学习模型 介绍 我建立的第一个机器学习模型是一个相当麻烦的代码块。我仍然记得构建一个集成模型,它需要许多行代码,它十分需要一个向导来解开这些混乱的代码! 当涉及到构建可解释的机器学习模型时,尤其是在行业中,编写高效的代码是成功的关键。所以我强烈建议使用PyCaret库。 我希望PyCaret在我的刚学习机器学习的日子里出现!这是一个非常灵活和有用的库,我在最近几个月已经相当依赖。我坚信任何有志成为数据科学或分析专业人士的人都会从使用PyCaret中受益匪浅。 我们将看到PyCaret到底是什么,包括如何在你的机器上安装它,然后我们将深入研究如何使用PyCaret来构建可解释的机器学习模型,包括集成模型。 目录 什么是PyCaret?为什么要使用它? 安装PyCaret 熟悉PyCaret 使用PyCaret训练我们的机器学习模型 使用PyCaret构建集成模型 分析模型 做出预测 保存并加载模型 什么是PyCaret?为什么要使用它? PyCaret是Python中一个开源的机器学习库,它可以帮助你从数据准备到模型部署。它很容易使用

软件项目管理 第3版 第11章习题答案 参考答案

回眸只為那壹抹淺笑 提交于 2020-07-27 22:06:22
[填空][定性] 1.风险评估的方法包括()和定量风险分析。 [填空][形象化的图表分析] 2.决策树分析是一种()方法。 [填空][风险事件,风险事件发生的概率,风险造成的影响] 3.项目风险的三要素是()、()、()。 [填空][回避] 4.()风险是指尽可能地规避可能发生的风险,采取主动放弃或者拒绝使用导致风险的方案。 [填空][回避风险,转移风险,损失控制,自留风险] 5.风险规划的主要策略是(),(),(),()。 [填空][德尔菲方法,头脑风暴法,情景分析法,风险条目检查表,其他] 6.软件项目风险识别常采用(),(),(),(),()等方法。 [填空][访谈,盈亏平衡分析,决策树分析,模拟法,敏感性分析] 7.定量风险评估主要包括(),(),(),(),()等方法。 [是非][A] 1.任何项目都是有风险的。() [A]正确 [B]错误 [是非][B] 2.风险是损失发生的不确定性,是对潜在的、未来可能发生损害的一种度量。() [A]正确 [B]错误 [是非][A] 3.风险识别、风险评估、风险规划、风险控制是风险管理的4个过程。() [A]正确 [B]错误 [是非][A] 4.应对风险的常见策略是回避风险、转移风险、损失控制和自留风险。() [A]正确 [B]错误 [是非][B] 5.TOP风险清单中的条目越多越好。() [A]正确 [B]错误 [是非][B] 6

决策树和随机森林

空扰寡人 提交于 2020-07-27 13:07:23
作者|PRATEEK JOSHI 编译|VK 来源|Analytics Vidhya 决策树与随机森林的简单类比 让我们从一个思维实验开始,它将说明决策树和随机森林模型之间的区别。 假设银行必须为客户批准一笔小额贷款,而银行需要迅速做出决定。银行检查此人的信用记录和财务状况,发现他们还没有偿还旧贷款。因此,银行拒绝了申请。 但问题是,对于银行庞大的金库来说,贷款数额非常小,他们本可以在非常低风险的情况下批准贷款。因此,银行失去了赚钱的机会。 现在,又一个贷款申请将在几天内完成,但这一次银行提出了一个不同的策略——多个决策过程。有时它先检查信用记录,有时它先检查客户的财务状况和贷款金额。然后,银行结合这些多个决策过程的结果,决定向客户发放贷款。 即使这一过程比前一个过程花费更多的时间,银行也可以利用这一方法获利。这是一个典型的例子,集体决策优于单一决策过程。现在,你知道这两个过程代表了什么吧? 这些分别代表决策树和随机森林!我们将在这里详细探讨这个想法,深入探讨这两种方法之间的主要区别,并回答关键问题,你应该使用哪种算法? 目录 决策树简介 随机森林简介 随机森林与决策树的冲突 为什么随机森林优于决策树? 决策树与随机森林—你什么时候应该选择哪种算法? 决策树简介 决策树是一种有监督的机器学习算法,可用于分类和回归问题。决策树仅仅是为了达到特定结果而做出的一系列顺序决策