您现在的位置:首页 --> 查看专题: 算法
这篇文章我们继续学习一下GBDT模型的另一个进化版本:LightGBM。LigthGBM是boosting集合模型中的新进成员,由微软提供,它和XGBoost一样是对GBDT的高效实现,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。
ISODATA算法(Iterative Self Organizing Data Analysis Techniques Algorithm,迭代自组织数据分析方法)和K-Means算法是相似的算法,都是属于无监督的聚类分析方法,但是
在之前介绍的K-Means算法中,有两大缺陷:
1、K值需要预先设定;
2、随机的初始中心选择对计算结果和迭代次数有较大的影响;
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。
本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。
互联网服务赖以生存的根本是流量, 产品和运营会经常通过各种方式来为应用倒流,比如淘宝的双十一等,如何让系统在处理高并发的同时还是保证自身系统的稳定,通常在最短时间内提高并发的做法就是加机器,但是如果机器不够怎么办?那就需要做业务降级或系统限流,流量控制中用的比较多的两个算法就是漏桶和令牌桶.
生成随机数是程序设计里常见的需求。一般的编程语言都会自带一个随机数生成函数,用于生成服从均匀分布的随机数。不过有时需要生成服从其它分布的随机数,例如高斯分布或指数分布等。有些编程语言已经有比较完善的实现,例如Python的NumPy。这篇文章介绍如何通过均匀分布随机数生成函数生成符合特定概率分布的随机数,主要介绍Inverse Ttransform和Acceptance-Rejection两种基础算法以及一些相关的衍生方法。
15道常见的基础算法题:1、合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素; 2、合并两个已经排序的单链表;3、倒序打印一个单链表; 4、给定一个单链表的头指针和一个指定节点的指针,在O(1)时间删除该节点;5、找到链表倒数第K个节点;6、反转单链表;7、通过两个栈实现一个队列;8、二分查找;9、快速排序;10、获得一个int型的数中二进制中的个数;11、输入一个数组,实现一个函数,让所有奇数都在偶数前面;12、判断一个字符串是否是另一个字符串的子串;13、把一个int型数组中的数字拼成一个串,这个串代表的数字最小;14、输入一颗二叉树,输出它的镜像(每个节点的左右子节点交换位置);15、输入两个链表,找到它们第一个公共节点;
Keith Schwarz是一个斯坦福大学计算机科学系的硕士研究生。他对编程充满了热情。他的主页上他自己正在实现各种各样的有意思的算法和数据结构,http://www.keithschwarz.com/interesting/, 目前这个网页上有88个(见下面的列表),但这位大哥要干135个,你可以看看他的To-Do List。 从这个列表上,我们可以看到,他从去年7月份就在自己实现这些东西了,我把他实现的这些算法转过来, 一方面我们可以学习一下这些算法和代码,因为很多东西对我来说都比较新,我以前列举过一些经典的算法,算法和数据结构词典,还有可视化的数据结构和算法, 不过感觉都没有这个全。 另一方面我希望这个事可以影响到一些正在学习编程的人。看看别人是怎么学习编程的,希望对你有借鉴作用。
广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用――除了面试的时候。实际工程中一般都是用现成的模块,一般只需了解算法的目的和时空复杂度即可。 不过话说回来,面试的时候面算法,包括面项目中几乎不大可能用到的算法,其实并不能说是毫无道理的。算法往往是对学习和理解能力的一块试金石,难的都能掌握,往往容易的事情不在话下。志于高者得于中。反之则不成立。另一方面,虽说教科书算...
热度: 插入排序 思想:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止.算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是....
这篇文章基于 fastbit 软件包,加以实际的用例对常用的 bitmap 索引算法进行了一个较为系统的介绍。不过生成 bitmap 索引仅仅是第一步,bitmap 索引在存储时会有很大的开销,在不损害(较少损害)查询效率的情况下,对 bitmap 索引进行有效的压缩是一个非常有挑战性的课题。除了 bitmap 索引的生成和存储之外,在不同类型的 bitmap 索引上实现高效的各种类型的查询,也是一个值得进一步探讨的问题。我们很高兴地看到 fastbit 软件包实现了很多这些相关领域的算法,为我们提供了非常宝贵的资料。
大学时候,学的最差的大概就是算法了。当时总是喜欢多想一步,问一下这个算法到底是为什么。结果老师也答不出。同一个学期,学的最高兴的,是操作系统。教课的是当时的系主任,国内的操作系统大牛。听他老人家讲课,总是能深入浅出的理解里面的设计理念。比如进程的调度,以CPU时钟资源的公平分配为原则;比如虚拟内存的大小,是方便和节约的折中;比如缓存的分配,是历史数据向未来的有效预测等等。那个时候就开始了解,其实算...
[ 共11篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [51] Oracle MTS模式下 进程地址与会话信
- [49] 图书馆的世界纪录
- [49] IOS安全–浅谈关于IOS加固的几种方法
- [48] 如何拿下简短的域名
- [45] 【社会化设计】自我(self)部分――欢迎区
- [45] android 开发入门
- [42] 读书笔记-壹百度:百度十年千倍的29条法则
- [41] Go Reflect 性能
- [41] 界面设计速成
- [40] 视觉调整-设计师 vs. 逻辑
赞助商广告