GBDT(Gradient Boosted Decision Tree) GBDT,全称Gradient Boosted Decision Tree,是一个由多棵决策树组成的模型,可用于分类,回归。GBDT的由来通俗的理解方式数学表达GBDT的由来决策树是常见的模型之一,它通过启发式搜索的方法来寻找划分特征的区间(划分特征向量的空间),划分的依据有好几种,比如信息增益,基尼指数之类的。决策树常见的一个问题就是过拟合(当然,这是所有模型都会出现的一个问题,这是在决
HDU 4295 状态压缩dp + KMP 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4295题意:给你一个字符串和他的4个子串,将这4个子串放到原串里面(可以重叠),问你最多能覆盖多少个字符,最少能覆盖多少个字符解析:网赛的时候DP还是太水了,居然不敢想这个题目,现在看下,其实这个题目还是不难的,只是不好写,用KMP预处理子串可以插入的位置,dp【i】【j】【k】表示位置i,4个字符
PCA-Principal Components Analysis数学原理 PCA-Principal Components Analysis最近自学的重点是特征工程,首当其冲的当然是PCA,可是看了好几篇国内搜索靠前的博客大部分都是做法而不是原理,为什么协方差矩阵的特征值最大就说明投影到这个特征向量上比其他的好呢?对于机器学习大部分时间都是调用别人写好的库就像是个用着黑盒子的感觉,特来一发原理,附上完整的数学推导。
HDU 3639 强连通缩点优化 题意:有一群孩子正在玩老鹰抓小鸡,由于想当老鹰的人不少,孩子们通过投票的方式产生,但是投票有这么一条规则:投票具有传递性,A支持B,B支持C,那么C获得2票(A.B共两票),然后问你获得最多票数的人是谁,最多能获得的票数是多少张思路:原始思路是对每个点跑一次DFS,然后统计,但是由于case比较多,必然超时,所以我们得优化一下,这个题目可以转化为有X个点以自己为根,包含了I,输出最大的X以及相
真正的python 多线程!一个修饰符让你的多线程和C语言一样快 Python 多线程因为GIL的存在,导致其速度比单线程还要慢。但是近期我发现了一个相当好用的库,这个库只需要增加一个修饰符就可以使原生的python多线程实现真正意义上的并发。本文将和大家一起回顾下GIL对于多线程的影响,以及了解通过一个修饰符就可以实现和C++一样的多线程。GIL的定义GIL的全称是global interpreter lock,官方的定义如下:In CPython,...
[Model-based]基于模型的强化学习论文合集 [Model-based]基于模型的强化学习论文合集最近组里在讨论接下来在强化学习这块的研究方向,在讨论之前,我们把强化学习各个子方向的论文都粗略过了一下,涉及到model-free/model-based/multi-agent/deep exploration/meta-learning/imitation learning/application/distributed training等...
我所理解的word2vec 建议前往个人博客:http://yobobobo001.github.io/2016/05/26/%E6%88%91%E6%89%80%E7%90%86%E8%A7%A3%E7%9A%84word2vec/ 更好阅读显示 最近开始加固NLP的基础技能,首当其冲的是word2vec,对word2vec的印象一直停留在:学出来的向量隐含了词语的信息,向量之间的夹角可以表示词语之间的相关性。现在,一
我们常说的正则化防止过拟合是怎么一回事 从上周开始,突然想起了正则化这么个东西,一直都听到加个范数就可以防止过拟合,正则化为什么这么神奇呢? 断断续续地看了一周的相关书籍,博客,决定先来个短暂的总结,以后有了更深入的理解再来补充。什么是过拟合第一范数正则化项定义模型变化基于 Occams razor 的解释第二范数正则项定义模型变化现在我们给它加上一个一范数正则化项有condition number再遇贝叶斯
HHKB 使用一月体验 小时候家里人为了防止开电脑打游戏,把鼠标键盘都藏起来了,为了能打游戏,那一年,和哥哥合资30大洋一起买了山寨的双飞燕。忆键盘之往昔:集训队实验室刷题那会,偶然得知机械键盘这么一类键盘,查了下价格,300起步,都够我半个月生活费了。去年百度之星决赛,目睹了其他选手自带的机械键盘,大早上等着会场开门的时候手里握着一把机械键盘的人真是让人羡慕不已。决赛的时候全场配套 cherry 的机械键盘,还贴
致敬贝叶斯以及自己对贝叶斯的一些见解 记得大二的时候,概率论里面有全概率公式这么一个东西,可是当时仅仅为了应付考试并没有体会到贝叶斯的强大,接触机器学习之后,渐渐体会到贝叶斯的神奇,也能通过贝叶斯来解释更多的模型。贝叶斯由来与日常思维相似的推导过程由已知推导未知贝叶斯的应用朴素贝叶斯贝叶斯网络换个角度理解贝叶斯贝叶斯与正则化防止过拟合贝叶斯由来与日常思维相似的推导过程以下是火影忍者剧情中的某个日常: 第一集:某风和日
Kaggle系列——Titanic 80%+精确度纪录 因为最近模型上线收益没有符合预期,一直都没有时间搞,而且感觉Titanic的数据量太少了,做起来没意思,暂且优化到0.8的precision,排名700+
PageRank---Bringing Order to the Web PageRank-----------------Bringing Order to the Web motivation——为什么有这个算法一个搜索引擎收录了全球的网页信息,可是这么多的网页,到底哪个网页才是优质的网站呢?作为一个查找信息的用户,肯定希望搜索得出的结果是有充实内容的而不是充斥着大量广告的页面。那么,如何在成万上亿的网页中给他们做个重要性排序呢?PageRank很好地解
codeforces251/D/线段树 线段树对区间取模。考试前就想写的题目QAQ,cxlove点了一下之后知道是什么回事了,先说下做法,暴力更新就行了,维护区间的最大值,每次把要取模的区间的最大值取出来,暴力更新,由于取模的性质可以保证每次取模之后至少比原数的一半还少,所以整体复杂度还是比较低的。现在简单证明下a%b 首先我们先设b = ka , k属于(0,1]1.若k 2.若k > 0.5,
BZOJ 1588 朴素TREAP,寻找前驱和后继 不得不吐槽比较坑的数据。。寻找前驱和后继,取差值较小即可#include #include #include #include #include #include #define LL int #define inf 2000000000;#pragma warning(disable:4996)#define _CRT_SECURE_NO_WARNINGSusing
可合并的TREAP 艰难地A了这个题目。。。还是代码能力太弱了。主要思想:位置可以变换。。但是某个位置对应的内存地址是不会变的,沿着某个节点的父亲往上暴力统计就能知道他现在在什么位置了,注意先pushDown#include #include #include #include #include #include #pragma warning(disable:4996)#define _CRT_
HDU 4125 NlogN查找二叉树的生成 题意:题目给定一颗二叉树,前序遍历二叉树的时候产生一个01的欧拉序列,输出某个01串在此序列中出现了几次。总结:真是弱。。。。我居然模拟查找二叉树的生成,这可能退化到N^2。。。,引用了一个结论:http://www.cppblog.com/hanfei19910905/archive/2012/07/02/181144.htmlnlogn的算法生成静态二叉树,mark一下:
专注做好一件事 作者: JACK ALTMAN 来源: 36氪 英文原文:Your best option is to be the best“人们对机会的估值过高,这是我在下棋的时候学到的一点。你其实只需要一个好的选择就行,没必要同时去追求 A、B、C、D。”——Peter Thiel 是让你的选择尽可能开放,还是全心全意抓住一个选择,专心做好一件事情——可以说
POJ 3261 字符串 题意:给定一个字符串,求最少出现K次的最长重复字串,这K个字串可以重叠。做法:1.hash(二分最大长度,这里要判断的是枚举起点,然后对该长度的字串求hash值,统计下该字串出现了几次,如果>=k,则满足条件) 2.后缀数组(论文经典题,详细看论文)code:1.#include #include #include #include #includ