自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 实习生活之字节跳动

博主上半年因为课程少(其实就是闲)的缘故,向各大中小 IT 公司,如字节跳动,360等的实习生岗位投递了简历,广撒网,多敛鱼,择优而从之。最终,博主看中字节跳动的高待遇——一天400,就近租房补贴,免费的一日三餐与下午茶打动(这谁顶得住啊),毅然决然地投入字节跳动的怀抱!谁拦不住我,我说的!如今,...

2019-07-16 15:23:03

阅读数 3189

评论数 7

原创 《算法导论笔记》——十分钟带你了解二叉搜索树(BST)!

搜索树数据结构支持许多动态集合操作,包括SEARCH(查找指定结点)、MINIMUM(最小关键字结点)、MAXMUM(最大关键字结点)、PREDECESSOR(结点的先驱)、SUCCESSOR(结点的后继)、INSERT(结点的插入)和DELETE(结点的删除)等。因此,我们使用一棵搜索树既可以作...

2018-07-27 20:18:46

阅读数 20833

评论数 7

原创 Docker ToolBox 镜像加速

博主在最近学习 docker 的过程中,遇到了一大通病 —— 速度太慢!想必大家也深受其扰。然而,由于环境问题 win10 home + docker toolbox, 博主翻来找去,也没怎么找到适合的方法(网上大多是 docker 的方法)。幸亏博主最终找到了一篇博客 Docker Toolbo...

2020-02-17 21:28:59

阅读数 17

评论数 0

原创 Ctags 学习笔记

本人在最近的学习过程中接触到了 ctags 工具。使用 Vim 的同学对此一定不陌生,它可以帮助 Vim,Emacs 等编辑器使用代码跳转,堪称程序员的神器。因此,本人特此撰写笔记分享给大家。 本篇博客参考了 ctags使用详解 程序员的七种武器之Ctags Exuberant Ctags中文手...

2020-02-16 22:14:07

阅读数 12

评论数 0

原创 ROUGE 和 pyrouge 安装配置

从事摘要生成的同学们对 ROUGE 一定不陌生。它是由微软亚研的大佬 Chin-Yew Lin 提出并提供了官方的工具包。然而由于 ROUGE 官方包基于 Perl 语言开发,且太过陈旧,而作者对其也一直不闻不问,导致大家在安装配置时踩了无数的坑(作者当时安装时都快哭了)。因此,为了帮助大家不再踩...

2020-02-14 20:06:47

阅读数 13

评论数 0

原创 多边形周长等分

博主在面试字节跳动实习生岗位时,遇见了 nnn 多边形周长 kkk 等分的问题。其原题是所有边都为水平边或者垂直边。而这里博主给出更通用的版本——希望能对大家有所帮助。 简介 给定 nnn个点的坐标 f1(x1,y1),f2(x2,y2),…,fn(xn,yn)f_1(x_1, y_1), f_...

2019-07-16 15:12:20

阅读数 137

评论数 0

原创 LeetCode之接雨水

博主在面试字节跳动实习生岗位时,遇见了接雨水的问题。而刷过 leetcode 的同学们对此也不会陌生,因为它就是 Leetcode 上的原题——Trapping Rain Water。因此,博主在此给出解题思路和解题方案,希望能对大家有所帮助。 简介 给定 nnn 个非负整数表示每个宽度为 1 ...

2019-07-16 15:11:32

阅读数 109

评论数 2

原创 LeetCode之链表相加

博主在面试字节跳动实习生岗位时,遇见了链表求和的问题。而刷过 leetcode 的同学们对此也不会陌生,因为它就是 Leetcode 上的原题——Add Two Numbers II。因此,博主在此给出解题思路和解题方案,希望能对大家有所帮助。 简介 给定两个非空链表来代表两个非负整数。其中,数...

2019-07-16 15:09:43

阅读数 189

评论数 0

原创 Leetcode之二叉树翻转

博主在面试字节跳动实习生岗位时,遇见了二叉树翻转的问题。而刷过 leetcode 的同学们对此也不会陌生,因为它就是 Leetcode 上的原题——invert-binary-tree。因此,博主在此给出解题思路和解题方案,希望能对大家有所帮助。 简介 题目要求十分简单——给定一棵二叉树,将其左...

2019-07-16 15:08:01

阅读数 176

评论数 0

原创 竞赛利器——XGBoost学习笔记

经常参加机器学习相关竞赛的同学肯定对 XGBoost 算法并不陌生。它是 GBDT (梯度提升决策树)的一种高效实现,是传统机器学习算法中对真实分布拟合最好的算法之一,是工业界和竞赛屡试不爽的杀器之一。因此,本文将阐述 XGBoost 算法的基本原理和数学论证,希望能帮助大家了解 GBDT 算法和...

2019-07-05 14:36:36

阅读数 400

评论数 0

原创 Adaboost学习笔记

在之前的博客集成学习原理小结中,我们谈到了 Adaboost 算法。它凭借其优越的性能和通用性,成为 Boosting 家族中最为经典的算法之一。因此,在本文中,我们将学习 Adaboost 算法,领略其独特的魅力。 基本思路 在集成学习原理小结中,我们知道 Boosting 算法是一族可将弱分...

2019-07-04 15:18:21

阅读数 53

评论数 0

原创 集成学习原理小结

集成学习(ensemble learning)是非常实用的机器学习方法,屡屡在工业界与机器学习相关的竞赛中大放异彩。然而与支持向量机(SVM),朴素贝叶斯(NB)等传统的机器学习方法不同的是,集成学习本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,用大白话来说就是—...

2019-07-03 20:17:15

阅读数 31

评论数 0

原创 Bagging与随机森林算法

注:本篇博客主要参考了博客Bagging与随机森林算法原理总结。 在集成学习中,有两个流派—— boosting 派系 和 bagging 流派。前者的特点是各个弱学习器之间有依赖关系,而后者的特点是各个弱学习器之间没有依赖关系,可以并行拟合。其中,随机森林算法便是 bagging 流派的典型代表...

2019-06-30 11:18:21

阅读数 184

评论数 0

原创 Latex常用的数学符号表示

使用 Latex 排版的同学们想必和博主一样,在撰写论文的过程中,大多无法避免数学符号的使用。因此,博主撰写本篇博客,作为学习笔记,并希望对大家有所帮助。注:本篇博客主要参考常用数学符号的 LaTeX 表示方法。 指数与下标 在 Latex 中,指数命令 ^ 与下标命令 _,可以嵌套使用 ...

2019-06-18 12:47:49

阅读数 534

评论数 4

原创 curl命令学习笔记

博主最近在学习 ES(elastic search) 的过程中,接触到了 curl 命令,并被其简洁而又实用的优点所吸引。因此,博主撰写此博文作为 curl 命令的学习笔记,并希望能对读者有所帮助。本篇博客主要学自阮一峰老师的博客curl网站开发指南。 简介 curl 是一个利用URL语法在命令行...

2019-06-16 23:58:12

阅读数 84

评论数 0

原创 轻量级Web框架——Flask的新人教程笔记

Flask笔记 注:本篇博客只是作为博主的笔记,想要深入学习的同学还是要观看官方教程。 前沿 “微”:核心简单,易于扩展 --> 不包含许多已有库胜任的功能,但支持扩展。 个人理解:相当于提供一系列接口,开发人员可以根据自身需求进行定制; 快速入门 一个最小的应用 from flask im...

2019-03-22 16:37:49

阅读数 50

评论数 0

原创 多维度缩放——MDS

我们知道,缓解“维度灾难”的一个重要方法就是降维,即通过某种数学变换将原始高维属性空间转变为一个低维空间。而多维度缩放,就是其中的一个经典算法。 简介 多维度缩放,英文全称为Multiple Dimension Scaling,简称为MDS。其基本想法是: 降维后的低维空间d′d^{&a...

2019-02-12 16:52:21

阅读数 107

评论数 0

原创 详解PCA(主成分分析)原理

在我们之前分类器的讨论中,如SVM、贝叶斯判别等,都假定已给出了特征向量维数确定的样本集,其中各样本的每一维都是该样本的一个特征。然而不同的特征对于分类器设计的影响是不同的,如果将数目很多的测量值不做分析,全部直接用作分类特征,不但耗时,而且会影响到分类的效果,产生“特征维数灾难”问题。因此,我们...

2019-02-12 15:36:04

阅读数 70

评论数 0

原创 浅谈贝叶斯判别(Bayes)

在现实世界中,由许多客观现象的发生,就每一次观察和测量来说,即使在基本条件保持不变的情况下也具有不确定性。只有在大量重复的观察下,其结果才能呈现出某种规律性,即对它们观察到的特征具有统计特性。特征值不再是一个确定的向量,而是一个随机向量。此时,只能利用模式集的统计特性来分类,以使分类器发生错误的概...

2019-02-11 16:51:34

阅读数 1024

评论数 0

原创 十分钟带你了解Fisher线性判别

应用统计方法解决模式识别问题时,一再碰到的问题之一就是维度问题。在低维空间里计算上行得通的方法,在高维空间中往往行不通,如维度灾难等问题。因此,降低维数有时就会成为处理实际问题的关键。 简介 前面说到,在处理实际问题时,我们可能需要将维度降低以避免维度灾难等问题。我们不妨考虑把ddd维空间的样本...

2019-02-11 10:47:26

阅读数 98

评论数 0

原创 深入浅出SVM(支持向量机)

支持向量机是机器学习领域中经典的分类算法之一,最早由Corinna Cortes, Vladimir Vapnik于1995年提出。对原论文感兴趣的读者可下载此论文Support-Vector Network 简介 分类学习的最基本思想就是基于给定的训练集DDD,在样本空间中寻找一个划分超平面,...

2019-02-10 11:10:17

阅读数 153

评论数 0

原创 原来拉格朗日乘子法这么简单!

在日常生活中,我们经常会遇见带有条件约束的优化问题,如经典的“采购食品”问题等。遇到此类问题时,老师们往往告诉我们使用拉格朗日乘子法解决!它的应用十分广泛,如支持向量机,线性规划等。那么,拉格朗日乘子法到底是什么?它背后的数学原理又是怎样的?本篇博客将为您一一解答。注意,本篇博客只是简单的对拉格朗...

2019-02-09 20:44:17

阅读数 135

评论数 0

原创 分析算法泛化性能的有效工具:偏差——方差分解

了解机器学习的同学都知道,为了检验学习算法的有效性,我们常常会通过实验估计其泛化性能。可是,在实验过程中我们不难发现,同一学习算法在不同的数据集上效果。这又是为什么呢?“偏差-方差分解”为我们提供了解释依据。 简介 在通过实验检验学习算法泛化性能的过程中,人们还往往希望了解它为什么具有这样的性能...

2019-02-08 11:59:09

阅读数 225

评论数 0

原创 十分钟了解绘图神器——Graphviz学习笔记

DOT语言学习笔记 设置点和线的形状与颜色 digraph是有向图,graph是无向图。要注意,->和–都表示图中的一条边,但是前者用于有向图中,而后者用于无向图中,不能混用。 代码示例 diaGraph G{ main -> ...

2018-11-30 20:25:00

阅读数 1150

评论数 0

原创 《算法导论》——如何在线性时间内完成排序?

《算法导论》——线性时间排序 众所周知,任何比较排序在最坏情况下都要经过Ω(nlgn)Ω(nlg⁡n)\Omega(n \lg n)次比较。所谓比较排序,是指在排序的最终结果中,各元素的次序依赖于它们之间的的比较。之前介绍的,快速排序,堆排序,归并排序等经典排序算法都是其中的代表。那么问题来了,...

2018-07-19 16:52:13

阅读数 280

评论数 0

原创 《算法导论》——十分钟了解快速排序!

《算法导论》——快速排序 基本概念 快速排序最早由C. A. R. Hoare在1962年提出,一经面世,就备受瞩目。不过,快速排序并不快!对于包含n个数的输入数组来说,快速排序是一种最坏情况下时间复杂度为Θ(n2)Θ(n2)\Theta(n^2)的排序算法。然而,快速排序真的很快!因为,...

2018-07-15 22:56:56

阅读数 152

评论数 0

原创 《算法导论》——矩阵乘法Strassen算法

《算法导论》——Strassen算法 矩阵乘法 接触过线性代数的读者,对于矩阵乘法想必一定不陌生。若A=(aij)A=(aij)A=(a_{ij})和B=(bij)B=(bij)B=(b_{ij})是n∗nn∗nn*n的方阵,则对i,j,…,ni,j,…,ni, j, \ldots, n,...

2018-07-13 22:18:41

阅读数 599

评论数 0

原创 《算法导论》——十分钟带你了解最大子数组问题

《算法导论》——最大子数组问题 问题概述 假如你有一天突发奇想,准备投资股票大捞一笔,从而别墅靠海,走向人生巅峰。经过深思熟虑,你最终选定一家公司的股票。你被准许可以在某个时刻买进一股该公司的股票,并在之后某个日期将其卖出,买进卖出都是当天交易结束后进行。为了补偿这一限制,你可以了解股票将...

2018-07-11 23:23:53

阅读数 82

评论数 0

原创 《算法导论》——十分钟了解堆排序!

《算法导论》——堆排序 基本概念 堆排序,顾名思义,也是排序算法的一种。与归并排序算法一样,堆排序的时间复杂度是O(nlgn)O(nlg⁡n)O(n\lg n),整体优于插入排序。然而与归并排序不同的是,堆排序和插入排序一样,具有空间原址性:任何时候都只需要常数个额外的元素空间存储临时数据...

2018-07-09 17:29:46

阅读数 283

评论数 0

原创 《算法导论》——十分钟了解归并排序!

《算法导论》——归并排序 基本概念 与插入排序相同,归并排序也是一种常见的排序算法。归并排序是建立在归并操作上的一种高效且稳定的排序算法。该算法是采用分治法将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 ...

2018-06-28 22:43:15

阅读数 83

评论数 0

原创 《算法导论》——简洁明了的插入排序算法

《算法导论》——插入排序 基本概念 所谓插入排序,即将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,适用于少量数据的稳定排序,时间复杂度为O(n2)O(n2)O(n^2)。既然插入排序是用于数据的排序,不如就顺便阐述一下排序的概念: 输入:n个数的一个序列(...

2018-06-28 21:54:08

阅读数 90

评论数 0

原创 “近朱者赤,近墨者黑”的分类算法——k最近邻算法

k最近邻算法是一种经典的机器学习分类算法,最早由Cover T和Hart P于1967年提出。对原论文感兴趣的同学可下载此论文Nearest neighbor pattern classification。 算法概念 k最近邻,英文名为k-Nearest Neighbor,简称为kNN,是...

2018-06-13 11:08:03

阅读数 378

评论数 0

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