自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高等数学——详解洛必达法则

本文始发于个人公众号:TechFlow,原创不易,求个关注今天和大家一起复习的是洛必达法则,这个法则非常重要,在许多问题的解法当中都有出现。虽然时隔多年,许多知识点都已经还给老师了,但是我仍然还记得当年大一的时候,高数老师在讲台上慷慨激昂的样子。上篇文章当中我们回顾了微分中值定理,今天要说的洛必达法则其实是微分中值定理一个经典的应用。所以有遗忘或者是新关注的同学可以点下下方的链接回顾一下上篇...

2020-02-28 09:14:07 17847 2

原创 快速筛出topK的快速选择算法和BFPRT优化

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前Python系列当中,我们介绍了heapq这个库的用法,它可以在O(nlogn)O(nlogn)O(nlogn)的时间里筛选出前K大或者前K小的元素。今天我们一起来看一个可以更快实现选择的快速选择算法。思维推导在公布答案之前,我想先带着大家试着推导一下解法。这其实才是算法能力的精髓,即是应用已知能力解决未知问题的能力。我们...

2020-02-27 08:43:52 377

原创 详解机器学习损失函数之交叉熵

本文始发于个人公众号:TechFlow,原创不易,求个关注今天这篇文章和大家聊聊机器学习领域的熵。我在看paper的时候发现对于交叉熵的理解又有些遗忘,复习了一下之后,又有了一些新的认识。故写下本文和大家分享。熵这个概念应用非常广泛,我个人认为比较经典的一个应用是在热力学当中,反应一个系统的混乱程度。根据热力学第二定律,一个孤立系统的熵不会减少。比如一盒乒乓球,如果把盒子掀翻了,乒乓球散出...

2020-02-26 09:11:26 934

原创 Python应用——自定义排序全套方案

本文始发于个人公众号:TechFlow,原创不易,求个关注今天的这篇文章和大家聊聊Python当中的排序,和很多高级语言一样,Python封装了成熟的排序函数。我们只需要调用内部的sort函数,就可以完成排序。但是实际场景当中,排序的应用往往比较复杂,比如对象类型,当中有多个字段,我们希望按照指定字段排序,或者是希望按照多关键字排序,这个时候就不能简单的函数调用来解决了。字典排序我们先...

2020-02-25 08:09:19 865

原创 LeetCode30 Hard 查找所有子串

本文始发于个人公众号:TechFlow,原创不易,求个关注链接Substring with Concatenation of All Words难度Hard描述给定一个字符串s作为母串,和一系列长度相等的字符串words,要求返回s当中所有的位置,使得从该位置开始可以找到所有的words,并且所有的words只出现一次You are given a string, s , a...

2020-02-24 11:17:55 260

原创 LeetCode29 Medium 不用除号实现快速除法

本文始发于个人公众号:TechFlow,原创不易,求个关注链接Divide Two Integers难度Medium 描述给定两个整数,被除数和除数,要求在不使用除号的情况下计算出两数的商Given two integers dividend and divisor, divide two integers without usingmultiplication, divis...

2020-02-23 09:13:59 760

原创 详解SkipList跳跃链表【含代码】

本文始发于个人公众号:TechFlow,原创不易,求个关注今天继续介绍分布式系统当中常用的数据结构,今天要介绍的数据结构非常了不起,和之前介绍的布隆过滤器一样,是一个功能强大原理简单的数据结构。并且它的缺点和短板更少,应用更加广泛,比如广泛使用的Redis就有用到它。SkipList简介SkipList是一个实现快速查找、增删数据的数据结构,可以做到O(logN)O(logN)O(lo...

2020-02-22 09:02:57 230

原创 高等数学——微分中值定理

本文始发于个人公众号:TechFlow,原创不易,求个关注今天和大家回顾一下高数当中的微分中值定理,据说是很多高数公式的基础。由于本人才疏学浅,所以对于这点没有太深的认识。但是提出中值定理的几个数学家倒是如雷贯耳,前段时间抽空研究了一下,发现很有意思,完全没有想象中那么枯燥。所以今天的文章和大家聊聊这个话题,我会跳过一些无关紧要或者意义不大的证明部分,尽量讲得浅显有趣一些。费马引理首先...

2020-02-21 08:30:21 1711

原创 数据结构——30行代码实现栈和模拟递归

本文始发于个人公众号:TechFlow,原创不易,求个关注栈的定义原本今天想给大家讲讲快速选择算法的,但是发现一连写了好几篇排序相关了,所以临时改了题目,今天聊点数据结构,来看看经典并且简单的数据结构——栈。栈这个结构我想大家应该都耳熟能详,尤其是在很多地方将和堆并列在一起,称作“堆栈”就更广为人知了。但其实堆和栈本质上是两种不同的数据结构,我们不能简单地混为一谈。让我们先从比较简单的栈...

2020-02-20 08:17:28 311

原创 机器学习——从线性回归到逻辑回归【附详细推导和代码】

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前的文章当中,我们推导了线性回归的公式,线性回归本质是线性函数,模型的原理不难,核心是求解模型参数的过程。通过对线性回归的推导和学习,我们基本上了解了机器学习模型学习的过程,这是机器学习的精髓,要比单个模型的原理重要得多。新关注和有所遗忘的同学可以点击下方的链接回顾一下之前的线性回归和梯度下降的内容。一文讲透梯度下降法详细推导...

2020-02-19 08:44:22 1218

原创 Python应用——多变量的灵活处理

本文始发于个人公众号:TechFlow,原创不易,求个关注我们都知道Python是一个非常灵活的语言,以至于如果它不是你的第一门语言,你会发现它总能给你各种各样的惊喜,让你忍不住惊叹:woc,还有这种操作。尤其我在系统地学习Python之前是Java后端出身,所以每一阶段几乎都会让我觉得打开了新世界的大门。今天就和大家介绍一个最基础,非常好用,但是很多人不知道的操作。解压变量我们都知道...

2020-02-18 08:06:07 360

原创 LeetCode 23 Hard,K个链表归并

本文始发于个人公众号:TechFlow,原创不易,求个关注链接Merge k Sorted Lists难度Hard 描述Merge k sorted linked lists and return it as one sorted list. Analyze anddescribe its complexity.给定K个有序链表,要求将它所有的元素归并到一个链表,并且有序。...

2020-02-17 08:11:32 140

原创 LeetCode22 生成所有括号对

本文始发于个人公众号:TechFlow,原创不易,求个关注链接Generate Parentheses难度Medium 描述Given n pairs of parentheses, write a function to generate all combinationsof well-formed parentheses.给定n对括号,要求返回所有这些括号组成的不同的合...

2020-02-16 09:02:46 347

原创 大数据算法——布隆过滤器

本文始发于个人公众号:TechFlow,原创不易,求个关注今天的文章和大家一起来学习大数据领域一个经常用到的算法——布隆过滤器。如果看过《数学之美》的同学对它应该并不陌生,它经常用在集合的判断上,在海量数据的场景当中用来快速地判断某个元素在不在一个庞大的集合当中。它的原理不难,但是设计非常巧妙,老实讲在看《数学之美》之前,我也没有听说过这个数据结构,所以这篇文章也是我自己学习的笔记。原理...

2020-02-15 09:20:55 411

原创 高等数学——复杂函数的求导方法

本文始发于个人公众号:TechFlow,原创不易,求个关注上一篇文章我们复习了函数求导的定义和一些常见函数的导数,今天这篇文章我们回顾一下复杂函数的求导方法。先强调一下,今天的文章很重要,想要看懂机器学习各种公式推导,想要能够自己推一推各种公式,函数求导是基础中的基础,在算法这个领域,它比积分要重要得多。我们先来看第一种情况:多个函数进行四则运算的导数。函数四则运算求导法则我们假设u...

2020-02-14 08:25:26 4644

原创 归并算法经典应用——求解逆序数

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前介绍线性代数行列式计算公式的时候,我们曾经介绍过逆序数:我们在列举出行列式的每一项之后,需要通过逆序数来确定这一项符号的正负性。如果有忘记的同学可以回到之前的文章当中复习一下:线性代数行列式如果忘记呢,问题也不大,这个概念比较简单,我想大家很快就能都搞清楚。今天的这一篇文章,我想和大家聊聊逆序数的算法,也是一道非常经典的算法...

2020-02-13 08:08:43 832 1

原创 讲透机器学习中的梯度下降

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前的文章当中,我们一起推导了线性回归的公式,今天我们继续来学习上次没有结束的内容。上次我们推导完了公式的时候,曾经说过由于有许多的问题,比如最主要的复杂度问题。随着样本和特征数量的增大,通过公式求解的时间会急剧增大,并且如果特征为空,还会出现公式无法计算的情况。所以和直接公式求解相比,实际当中更倾向于使用另外一种方法来代替,它就是...

2020-02-12 08:50:00 433

原创 Python应用——优先队列与heapq

本文始发于个人公众号:TechFlow, 原创不易,求个关注今天的文章来介绍Python当中一个蛮有用的库——heapq。heapq的全写是heap queue,是堆队列的意思。这里的堆和队列都是数据结构,在后序的文章当中我们会详细介绍,今天只介绍heapq的用法,如果不了解heap和queue原理的同学可以忽略,我们并不会深入太多,会在之后的文章里详细阐述。在介绍用法之前,我们需要先知道...

2020-02-11 08:35:29 281

原创 LeetCode19 移除倒数第N个元素

链接Remove Nth Node From End of List难度Medium描述Given a linked list, remove the n -th node from the end of list and returnits head.给定一个链表,要求移除导数第n个元素,并且返回新链表的head样例:Given linked list: **1- &gt...

2020-02-10 08:20:53 141

原创 分布式专题——判断因果关系的向量时钟算法

今天的文章来聊聊向量时钟,在前文介绍分布式系统一致性的时候,曾经介绍过,在弱一致性模型当中会有一个因果性的问题。向量时钟算法正是设计出来解决因果关系问题的。我们来回顾一下因果问题,在实际日常的网页行为当中,部分行为存在因果关系。比方说知乎里面回答问题,显然得先有一个同学提出问题,然后才能有各路大V谢邀解答问题。但是由于是分布式系统,有可能问题和回答并不是存放在同一台机器,导致有可能它们更新的顺...

2020-02-09 09:51:38 1075

原创 LeetCode 18: 4 Sum 寻找4数和

今天的文章来聊聊向量时钟,在前文介绍分布式系统一致性的时候,曾经介绍过,在弱一致性模型当中会有一个因果性的问题。向量时钟算法正是设计出来解决因果关系问题的。我们来回顾一下因果问题,在实际日常的网页行为当中,部分行为存在因果关系。比方说知乎里面回答问题,显然得先有一个同学提出问题,然后才能有各路大V谢邀解答问题。但是由于是分布式系统,有可能问题和回答并不是存放在同一台机器,导致有可能它们更新的顺...

2020-02-08 11:26:51 174

原创 高等数学——导数的定义和常见导数

本文始发于个人公众号:TechFlow导数是微积分也是高数当中很重要的一个部分,不过很遗憾的是,和导数相关的部分很多同学都是高中的时候学的。经过了这么多年,可能都差不多还给老师了。所以今天的文章就一起来温习一下导数的相关知识,捡一捡之前忘记的内容。函数切线关于导数,最经典的解释可能就是切线模型了。以前高中的时候,经常对二次函数求切线,后来学了微积分之后明白了,所谓的求切线其实就是求导。...

2020-02-07 10:06:10 3147

原创 算法浅谈——分治算法与归并、快速排序(附代码和动图演示)

在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法。我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及建模。今天这篇文章呢,就正式和大家聊一聊将大问题简化成小问题的分治算法的经典使用场景——排序。排序算法排序算法有很多,很多博文都有总结,号称有十大经典的排序算法。我们信手拈来就可以说上来很多,比如插入排序、选择排序、桶排序、希尔排...

2020-02-06 09:06:11 357

原创 机器学习基础——线性回归公式推导(附完整代码)

在之前的文章当中,我们介绍过了简单的朴素贝叶斯分类模型,介绍过最小二乘法,所以这期文章我们顺水推舟,来讲讲线性回归模型。线性回归的本质其实是一种统计学当中的回归分析方法,考察的是自变量和因变量之间的线性关联。后来也许是建模的过程和模型训练的方式和机器学习的理念比较接近,所以近年来,这个模型被归入到了机器学习的领域当中。然而,不管它属于哪个领域,整个模型的思想并没有发生变化。我们只要有所了解即可...

2020-02-05 09:04:06 2329

原创 线性代数精华——矩阵的特征值与特征向量

今天和大家聊一个非常重要,在机器学习领域也广泛使用的一个概念——矩阵的特征值与特征向量。我们先来看它的定义,定义本身很简单,假设我们有一个n阶的矩阵A以及一个实数λ\lambdaλ,使得我们可以找到一个非零向量x,满足:Ax=λxAx=\lambda xAx=λx如果能够找到的话,我们就称λ\lambdaλ是矩阵A的特征值,非零向量x是矩阵A的特征向量。几何意义光从上面的式子其实我们...

2020-02-04 08:56:23 1164

原创 LeetCode15题: 寻找三数和,附完整代码

本文始发于个人公众号:TechFlow今天介绍的算法题是LeetCode 15题,3 Sum,也成三数求和问题。Link3Sum难度Medium 描述给定一个整数的数组,要求寻找当中所有的a,b,c三个数的组合,使得三个数的和为0.注意,即使数组当中的数有重复,同一个数也只能使用一次。Given an array nums of n integers, are there...

2020-02-03 08:59:01 813

原创 LeetCode 11 水池蓄水问题

今天给大家分享的是一道LeetCode中等难度的题,难度不大,但是解法蛮有意思。我们一起来看题目:LinkContainer With Most WaterDifficultyMedium题意给定n个非负整数,表示水库当中隔板的高度。每两块隔板之间的距离为1,当下要从n个隔板当中选出两个,在其中注水,并且要使得容纳的水尽量多。请问最多能容纳多少水?可以忽略隔板的宽度,将水库看成是...

2020-02-02 11:55:04 712

原创 分布式初探——分布式事务与两阶段提交协议

今天的文章咱们聊的是分布式原理当中的原子性,也称为分布式事务。不知道会不会有人觉得奇怪,分布式系统CAP原则当中并没有原子性,这个原子性是从哪里冒出来的?其实并不奇怪,之前我们在介绍各种一致性原则的时候,虽然没有明确提出来,但是原子性的相关内容已经隐藏在其中了。让我们回顾一下,分布式系统当中的一致性简单可以分为强一致性和弱一致性。强一致性很好理解,简单可以理解成主节点每次更新都通过同步的方式,...

2020-02-01 09:31:59 344

空空如也

空空如也

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

TA关注的人

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