自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 为什么XGBoost效果更好,速度更快

xgboost 是一种集成学习方法,通过构建多棵决策树来实现分类和回归任务。本文记录了xgboost的公式推导和系统实现的一些trick。具体内容参加原论文《XGBoost: A Scalable Tree Boosting System》模型描述对于一棵决策树,给定以下符号表示∣T∣|T|∣T∣: 此棵树的叶子节点数q(x)q(\textbf{x})q(x): x\textbf{x}...

2018-10-25 16:33:59 7924

原创 求解逆序对数量

**题目:**在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007**解题思路:**借助归并排序,采用分治策略将数组分为两部分,分别求解两边的逆序对数两边的数组均为排序后的数组,然后再归并排序的同时计算逆序对数两边分别的逆序对数加上两个数组...

2019-05-30 22:12:49 657

原创 集成学习

集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务

2019-05-29 22:17:19 210

原创 一种优雅的方式将二叉树转为双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路先搞定右边的,将右子树转化为链表,并使用prev保存头结点。将根节点的右指针指向prev,prev的左指针指向根节点,这样头结点和右子树就转化成功了。使prev指向根节点,这样就获得了根节点和右子树所组成链表的头结点处理左子树总之就是讲右子树转化的列表串到...

2019-05-28 14:55:34 300

原创 常用正则化方法总结

有效的正则化策略可以显著的减少方差而不过度增加偏差。参数范数惩罚许多正则化方法会在损失函数中添加一个参数范数惩罚,限制模型(如神经网路、线性回归或逻辑回归)的学习能力J~(θ;X,y)=J(θ;X,y)+αΩ(θ)\tilde J (\pmb{\theta};\boldsymbol{X},\pmb{y} ) = J (\pmb{\theta};\pmb{X},\pmb{y} ) + \al...

2019-03-15 15:25:57 4817

原创 详解python装饰器(二)

上一篇文章介绍了装饰器的基本概念和语法,并且实现了一个简单的装饰器。但这些仅仅是学习装饰器的第一步,本文介绍如何实现一个更好的装饰器。保留函数属性上一篇文章已经提到在python中函数也是一个对象,并且使用了它的__name__属性。事实上,python中的函数作为一个function类的一个实例,有很多的属性,其中比较重要的属性石是__name__和__doc__, 前者已经介绍过了,后者是...

2018-10-06 14:23:57 168

原创 最长递增序列的长度

问题描述给定一个未排序的数组,计算最长递增序列的长度。 Input: [10,9,2,5,3,7,101,18] Output: 4 Explanation: The longest increasing subsequence is [2,3,7,101], therefore the length is 4.N2N2N^2的解决方案辅助数组记录的是以对应...

2018-09-10 15:13:11 492

原创 详解python装饰器(一)

函数也是对象要想理解装饰器的语法、原理以及运行过程,首先要理解一个概念:在python中,函数是一等对象。所谓一等对象是指满足一下条件的实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在Java或者C++中, 整数、字符、数组都是一等对象,这些在python中也不例外,但是在python里函数也是一等对象,常被人简称“一等函数”, 满...

2018-08-10 19:52:11 245

原创 paper note-learnig recommender systems with adaptive regularization

简介分解机模型公式目标函数优化算法优化正则化系数问题描述梯度计算算法描述结论简介在推荐系统中最常用的模型是分解模型(factorization model),为了防止模型的过拟合,一般需要在损失函数中添加正则项。分解模型在测试集或者实际应用中的表现很大程度上依赖正则项参数(Regularization values的),而这个参数一般被视为超...

2018-03-15 10:11:20 330 1

翻译 Tensorflow and CNNs 使用tensorflow构建卷积神经网络

本文是我在学习cnn时看到的一个教程,觉得不错,就翻译一下。才疏学浅,如有疏漏,还请见谅。 原文:A Guide to TF Layers: Building a Convolutional Neural Network 是来自TensorFlow的开发者文档TensorFlow的layers模块提供了比较高级的API,使得我们能可以很方便的构建各种神经网络。它提供的方法可以方便的添加

2018-01-28 20:47:51 4513 1

原创 详解决策树、python实现决策树

决策树模型定义决策过程决策树学习特征选择信息增益计算方法ID3算法python实现验证决策树模型定义分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点(Node)和有向边(directed edge)组成。节点有两种类型:内部节点(internal node)和叶节点(left node)。内部节点表示一个特征或一个属性,叶节

2017-12-10 21:57:47 39523 19

原创 Programming Assignment: Collinear Points

Programming Assignment: Collinear Points

2017-05-08 11:58:27 1458

原创 Programming Assignment: Deques and Randomized Queues

Deque.java import java.util.Iterator;/** * Created by LK on 2017/4/4. */public class Deque<Item> implements Iterable<Item> { private int size; private Node<Item> first; private Node<Ite

2017-04-10 13:03:49 733

原创 Programming Assignment: Percolation

Coursera Algorithm part 1

2017-04-04 16:15:57 568

原创 week3——快速排序

声明本文是博主在Coursera学习时所写的学习笔记,如有错误疏漏还望各位指正。欢迎交流讨论如果大家转载,请注明本文地址!快速排序基本思想打乱数组若满足下面两个条件,则将数组从下标为j的地方分为两部分 a[j]左侧没有比a[j]大的元素a[j]右侧没有比a[j]小的元素对第二步得到的两个数组惊醒递归排序举个例子现在输入一个数组 第一阶段: 对数组重复执行以下操作,直至i和j相遇如果

2016-02-17 11:28:21 423

原创 week3——归并排序

声明归并排序描述举个例子算法分析代码实现改进对划分后较小的数组使用插入排序如果归并前排序已经完成则停止声明本文是博主在Coursera学习时所写的学习笔记,如有错误疏漏还望各位指正。欢迎交流讨论如果大家转载,请注明本文地址!归并排序描述将列表分为两部分通过递归将每部分排序合并两部分 举个例子输入一个数组 G,E,E,M,R,C,E,A,R,TG,E,E,M,R,C,E,A,R

2016-02-13 15:16:58 281

原创 week2——基本排序算法

希尔排序 选择排序 插入排序

2016-02-08 18:30:11 365

原创 week2——Stacks and Queues

栈和队列代码实现原理详解

2016-01-31 16:08:33 337

原创 week1——算法分析

算法的分析与比较内存分析

2016-01-30 15:39:49 334

原创 week1——并查集

并查集quick unionquick find

2016-01-24 11:07:38 434

原创 python中几种字符串连接方式的比较

在python中,若要把许多字符串连接成一个新的字符串,方式有很多种,但是效率却不同。可能在平时的学习中感觉不到,但是当字符串比较多或者运行在服务器上时,性能就显得很重要了今天我就比较了这几种方式。1. 使用 '+' 连接例如   s = s+ 'hello world!'这种方式最慢2. 使用 ' +=' 例如  s += 'hello wold'这种方式与第一种

2016-01-18 10:35:45 381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除