自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面经

经过了春招的洗礼,记录下春招的面经,春招期间所有的面试都是线上面试:1、小米一面(45min)(搜索与推荐算法工程师)1、自我介绍2、手撕代码:二叉树的层序遍历3、手撕代码:最小编辑距离4、说说LR5、LR和线性回归的区别6、在实际项目中怎么解决过拟合的7、LR的损失函数是否为凸函数?加上L1正则后是否还为凸函数?8、介绍embedding及两种优化算法9、介绍xgboost10、常用的激活函数有哪些?ReLU相比于sigmoid和tanh有什么优势?11、p

2020-05-11 16:37:48 827 1

原创 YouTube深度学习推荐

YouTube于2016年发表在RecSys会议上的“Deep Neural Network YouTube Recommendations”是非常具有工程价值的论文,在深度学习还没有被广泛应用于计算广告、推荐领域的当时,深受欢迎。哪怕放到现在,这篇文章也是必读的经典好文。以作笔记的形式对这篇优秀的文章做简单总结。1.动机:YouTube是全球最大的UGC的视频网站之一,每天都有大量的视频...

2020-02-13 16:28:37 793

原创 阿里深度兴趣网络:Deep Interest network(DIN)

DIN(深度兴趣网络)是阿里在KDD2018提出的一种有效的用于CTR、个性化推荐的深度学习模型。其效果已经在阿里的电商平台得到了验证。优秀的文章需要学习记录。接下来对这篇论文进行总结概括:1.动机文章指出,用户兴趣有以下两个特点:多样性:即每个用户在浏览购物网站的时候可能会对不能的商品感兴趣。比如一个年轻小伙,他可能对电子产品和运动装备都感兴趣。他的历史行为中可能购买过手机、电脑、...

2020-02-09 23:48:35 2369

原创 win10+RTX2060+CUDA10.0+cuDNN7.6.5+TensorFlow1.14.0安装(踩坑过程)

之前已经安装好了TensorFlow,配置是Anaconda(python3.6.5)+VS2015+CUDA9.2 +cuDNN7.2.1.38 + TensorFlow1.10.0 。但是有一次使用Anaconda中的jupyter notebook时出现了一些问题。就是运行程序是,一直是In[*]的状态,哪怕是运行简单的print(123)也是这种状态,我尝试了各种方法,包括先卸载jupy...

2020-01-06 00:22:28 3713 6

原创 吴恩达Deeplearning.ai之2-1:深度学习的实用层面

这篇笔记主要是关于深度学习的实用层面的,包括以下内容:目录1. 训练、验证、测试集(Train\Development\Test sets)1.1 吴恩达老师1.2 西瓜书1.2.1 留出法1.2.2 交叉验证法1.2.3 自助法2. 偏差/方差(Bias/Variance)3. 机器学习基础(Basic 'recipe' for machine learnin...

2019-11-01 20:12:19 409

原创 吴恩达Deeplearning.ai之1-4:深层神经网络

这篇笔记主要是关于深层神经网络的,包含以下内容:目录1. 确保矩阵维度是正确的(Getting your matrix dimensions right):2. 搭建深层神经网络块(Building blocks of deep neural network):3. 前向和反向传播(Forward and backward propagation):4. 参数VS超参数(Par...

2019-10-14 14:18:00 236

原创 吴恩达Deeplearning.ai之1-3:浅层神经网络

这篇笔记主要是关于浅层神经网络的,包含以下内容:目录1. 神经网络的表示(Neural Network Represetation):2. 计算神经网络的输出(Computing a Neural Network's Output):3. 多样本的向量化(Vectorizing across multiple example):4. 向量化实现的解释(Explanation f...

2019-10-12 16:08:22 278

原创 吴恩达Deeplearning.ai之1-2:神经网络基础

这段时间看了吴恩达老师的deeplearning.ai课程,为了以后回顾相关知识点,特此做了课程的笔记。笔记按照吴恩达老师的教学视频的章节进行记录。这篇笔记是关于神经网络基础的,主要内容如下:目录1. 二分类(Binary Classification):2. 逻辑回归(Logistic Regression):3. 逻辑回归的代价函数(Logistic Regression co...

2019-10-11 15:08:01 257

原创 坐标型动态规划

给定一个序列或网格,需要找到序列中某个/些子序列或网格中的某条路径。动态规划方程dp[i]中的下标i表示以a[i]为结尾的满足条件的子序列的性质,dp[i][j]中的下标i,j表示以格子(i,j)为结尾的满足条件的路径的性质。坐标型动态规划的初始条件dp[0]是指以a[0]为结尾的子序列的性质。1. uniquePathII题目描述:给定m行n列的网格,有一个机器人从左上角(0,0)出...

2019-09-29 15:37:16 975 1

原创 动态规划入门

最近在学习动态规划的知识,刷了一些题目,也看了一些博客和教学视频,本专题主要是根据《九章算法》的课程做了一些学习笔记及总结,编写语言为python,动态规划是算法中难度比较大,考察比较多的一种。动态规划常用于解决:有重叠子问题的最优化问题。动态规划的题目众多,常见的动态规划的题目有以下3类:1、计数型动态规划:一般这样描述:有多少种方式走到右下角;有多少种方式选出k个数使得和为Sum等...

2019-09-27 16:36:27 389 1

转载 分治法、动态规划和贪心算法的区别

1.分治法分治法(divide-and-conquer):将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题的解。分治模式在每一层递归上都有三个步骤:分解(Divide):将原问题分解成一系列子问题;解决(conquer):递归地解各个子问题。若子问题足够小,则直接求解;合并(Combine):将子问题的结果合并成原问题的解...

2019-07-19 22:38:15 1500 2

原创 剑指offer(八):位运算篇(python)

位运算是把数字用二进制表示之后,对每一位上0或者1的运算。二进制的位运算有5种:与、或、异或、左移和右移。与运算两个数都为1时,结果为1,与运算符用&表示;或运算两个数其中一个为1时,结果为1,或运算符用|表示;异或运算两个数不同时,结果为1,异或运算符用^表示;左移运算是将某数的二进制左移,右边补0,如2<<3,相当于将2的二进制表示左移3位,在数学上它的效果和2x2^3等同...

2019-07-19 14:23:37 237

原创 剑指offer(六):栈和队列篇(python)

栈和队列是非常常见的数据结构,且栈和队列都属于线性表;队列在广度优先搜索中应用广泛,而栈时实现深度优先搜索的一种方式,且递归的底层实现实际上就是栈。栈和队列的内容比较简单,但是这并不影响其重要程度。这个专题主要是总结剑指offer中栈和队列相关的题目。1. 剑指offer第9题:两个栈实现队列这道题的题目描述和代码实现见下图: 2. 剑指offer第30题:包含min函数的...

2019-07-18 12:55:53 184

原创 剑指offer(七):深度优先搜索篇(python)

1. 迷宫问题迷宫问题是典型的搜索问题,假设有下图所示的迷宫: 给定入口和出口,找到走出迷宫的路径(路径可能不止一条)。对于迷宫问题,先将迷宫数字化,用0表示可以通过的区域,用1表示墙,那么上面的迷宫可表示成下面的二维数组: ...

2019-07-16 16:11:35 333

原创 剑指offer(五):链表篇(python)

这篇文章是关于链表的专题文章,总结的是剑指offer中的链表的相关知识。有关链表的具体知识可以看这篇文章。引用维基百科中的话:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表(数组)快得多,但是查找一...

2019-07-08 23:24:21 252

原创 剑指offer(四):回溯篇(python)

借用百度百科中的话:回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。回溯算法是一种常用的算法,听上去它...

2019-07-02 20:41:37 412

原创 剑指offer(三):字符串篇(python)

字符串是面试中的高频题目,很多面试题目都会或多会少的考察字符串的有关内容,本篇文章是总结整合了剑指offer中的字符串相关的面试题,详细内容如下:1. 剑指offer第5题:替换空格这道题的题目描述和代码实现见下图: 这道题目有三种解法,其中第1种用到了replace函数,只需一行代码就完成了实现,显然面试中这种方法是不可行了;第2种方法用到了python中正则表达式,...

2019-06-28 15:21:16 175

原创 剑指offer(二):设计模式篇(python)

本部分内容时设计模式篇,设计模式的种类比较多,而且代码也比较复杂,但是面试时间有限,多数设计模式的题目不适合作为面试题,但是单例模式的代码相对简答,比较适合作为面试题,下面的题目就是关于单例模式的面试题。剑指offer第2题:实现Singleton模式这道题目的题目描述和代码实现见下图: 可以看到,在测试部分,创建了两个实例s1和s2,但是两个实例的地址值是一样的,这就完...

2019-06-24 15:42:20 170

原创 剑指offer(一):数组篇(python)

最近准备找工作,一直在学习/刷一些面试题,目前在看剑指offer这本书,想对最近看的面试题做一些总结,整个系列都是用python语言实现的,写的有什么不到位的地方多多包涵同时欢迎指正,本系列不是按照原书中的章节从面试题1-面试题68的顺序来写的,而是将题目分成了数组、字符串、树结构、链表、位运算、队列、动态规划等不同的专题。数组作为一种基本的数据结构,其在面试中考察的几率很高,有关数组的可考察...

2019-06-24 15:38:41 407

原创 数据降维(data dimension reduction)

在机器学习和统计学领域,降维是指在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。对数据进行降维一方面可以节省计算机的储存空间,另一方面可以剔除数据中的噪声并提高机器学习算法的性能。(实际上通过降维还可以实现数据可视化,但是前提是将原始数据降到2D或者3D才可以)。数据降维的根本:降低数据维度、降维后的数据能尽可能的代表原始数据。数据降维和特征选择是存在差异的,二者最终的...

2019-06-15 15:17:16 14408

翻译 详解独立成分分析

最近在学习数据降维的一些方法(有关数据降维的其他内容请看这篇文章),虽然独立成分分析不算是严格意义上的降维方法,但是它和PCA有着千丝万缕的联系,所以打算专门写一篇文章来学习ICA的相关知识,看了挺多的关于ICA的博文,有些文章讲的比较详细。有句话是这么说的:“论文是详细版的知识讲解”,也就是说如果想深入详细的了解某个知识,那么去读相关论文,所以阅读了一篇经典的ICA论文,作者是A. Hyva¨r...

2019-06-15 15:13:22 36995 18

原创 机器学习的相关概念

1、最大熵模型最大熵原理是概率学习的一个准则。最大熵原理认为,在学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合。所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型,而这个熵最大的模型称为最大熵模型。最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多信息的情况下,那些不确定的部分都是“...

2019-05-29 10:55:17 247

原创 python实现二叉树(二)

二叉树作为最常用的数据结构,其主要应用有:二叉搜索树、平衡二叉树、堆、红黑树。接下来对以上四种二叉树进行说明。目录1. 二叉搜索树(Binary Search Tree,BST)1.1 查找1.2 查找最值1.3 插入1.4 删除2. 平衡二叉树2.1 插入2.2 删除3. 堆(Heap)3.1 创建最大堆3.2 堆的插入3.3 堆的删除1...

2019-05-21 20:02:53 1206

原创 python实现二叉树(一)

在数据结构概述的文章中说过,树结构是一种层次结构,也是非线性结构,它描述的是数据间“一对多”的关系,而树中的数据处理也是基于数据间父节点/子节点关系的。树的应用非常多,比如我们的计算机硬盘存储路径(以windows10为例)就可以看做一种树结构: 还有奴隶社会的等级制度;一个家族的家谱;某个公司的等级制度等等都是属于树结构。为什么树结构能够在数据结构中得到广泛的应用,因为分层组...

2019-05-08 16:17:36 19869 7

原创 数据结构概述(Data structure)

在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。在维基百科中对数据结构是这样形容的:数据结构意味着接口或封装,即一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。而在百度百科中对数据结构是这么形容的:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。目录1. 数据结构的类型1.1 线性表(Line...

2019-04-23 18:31:50 7268

原创 接口、实现和多态

USB(universal serial bus,通用串行总线)提供了一个标准接口,可以将各种设备连接到计算机。同样的,接口在软件中也非常常见。设计良好的软件的特征就是接口和实现可以清晰的区分开来。接口是一组方法、函数以及这些方法和函数可用的数据类型的名称。正如硬件的USB接口一样,它展现给我们的只是一个扁长的物理接口,而一般不关心它内部的布线,电路板是怎样的,我们在外部访问计算机的资源时,只需要...

2019-04-04 19:54:59 344

原创 python中的is和==区别

1. is和==的区别python是一种面向对象的语言,python中对象包含三种基本要素:id(返回的是对象的地址)、type(返回的是对象的数据类型)及value(对象的值)。is和==都可以对两个对象进行比较,而且它们的返回值都是布尔类型。但是它们比较的内容是不同的,不然两个函数的作用就重复了。首先我们来看下例子,从实际操作中来看下二者的区别。从上面的例子可以得出,is和==...

2019-04-04 19:28:37 27372 8

原创 python实现链表

目录1. 链表结构1.1 单链表和双链表1.2 非连续性内存和节点1.3 定义并使用单链表节点类2. 单向链表的操作2.1 遍历2.2 搜索2.3 替换2.4 插入2.4.1 在开始处插入2.4.2 在末尾插入2.4.3 在任意位置插入2.5 删除2.5.1 在开始处删除2.5.2 在末尾删除2.5.3 在任意位置删除2.6 单链...

2019-03-30 20:49:19 28135 11

原创 python实现数组

在编程语言中,常采用实现集合的两种数据结构是数组和链表结构。这两种类型的结构采用不同的方法在计算机内存中存储和访问数据。这些方法反过来导致了操作该集合的算法中的不同的时间/空间取舍。目录1. 数组数据结构1.1 随机访问和连续内存1.2 静态内存和动态内存1.3 物理大小和逻辑大小2. 数组的操作2.1 增加数组的大小2.2 减小数组的大小2.3 向数组中插入元...

2019-03-27 19:25:15 3588

原创 绘图中的RGB配色

以上给出的RBG都是0~255范围的,有些绘图颜色设置中把RGB的值限定在0~1范围内,那么只需用0~255范围的RGB值除以255即可。0~1范围的RGB值和0~255范围的RGB值只是表示方式不同,在计算机内部是等价的。0~255间只能取整数,共计256级色彩;0~1间只能取某些...

2019-03-27 10:56:46 4968

原创 python中的isinstance()函数

isinstance()用来判断一个对象是否是一个已知的类型,isinstance()函数的语法如下:isinstance(object,classtype)object --- 实例对象,classtype --- 数据类型、直接类名或间接类名。isinstance()函数的返回值是布尔型,若object的类型是classtype,那么就返回True,否则返回False。我们会...

2019-03-20 19:35:43 968

原创 python中的高阶函数

1、map()函数map()接收两个参数,一个是function(函数),一个是iterable object(可迭代对象,比如列表,元组,字符串等),形式如下:map(function,iterable)map()根据提供的函数对指定的iterable对象做映射,把结果作为iterator返回。下面举例说明,用map()函数完成对列表中元素求平方的操作:实际上,指定函数...

2019-03-11 19:44:11 368

原创 python中的lambda匿名函数

匿名函数用维基百科的解释就是:一种无需定义标识符(函数名)的函数或子程序。目前在Java,C++,以及python中都支持匿名函数的使用,通常匿名函数理解起来要比普通函数困难一些,那么为什么还要使用匿名函数呢,因为非匿名函数在定义时就创建了函数对象和作用域对象,即使不调用,也会占用内存;而匿名函数只有在调用的时候才会临时创建对象,调用完,就会释放,相比来说匿名函数更节省空间。在python...

2019-03-11 19:43:47 307

原创 决策树(Decision tree)

在机器学习中有很多模型和算法是和树结构相关的,比如决策树(ID3、C4.5、CART)、随机森林(Random Forest)、Adaboost、GBDT、xgboost。在这些模型算法中决策树是最基础的,顾名思义,决策树是基于树结构来进行决策的,它具有可读性高、分类速度快等优点。决策树既可以用来做回归(CART,分类回归树)也可以用来做分类(ID3、C4.5、CART)。决策树学习算法主要包括三...

2019-02-22 10:13:31 4222

原创 隐马尔可夫模型(HMM)

隐马尔科夫模型(Hidden Markov Model,HMM)是离散状态的动态模型,用于对时间序列的分析研究,HMM属于生成模型在语音识别等领域有着广泛的应用。目录1.隐马尔可夫模型的基本概念1.1 隐马尔科夫模型定义及三要素1.1.1 HMM定义1.1.2 HMM三要素1.2隐马尔可夫模型的3个基本问题2.求值问题2.1 直接求值法2.2 前向算法2.3...

2019-01-15 15:03:37 1567

原创 期望最大化算法(expectation maximization,EM)

EM算法是一种迭代算法,用于含有隐变量(hidden variable)或缺失数据(incomplete-data)的概率模型参数的极大似然估计。EM算法被广泛用于高斯混合模型(Guassian Mixture Model,GMM)和隐马尔可夫模型(Hidden Markov Model,HMM)的参数估计。每次迭代分为两步:E步,求期望;M步,求极大。概率模型有时既包含观测变量(observab...

2019-01-09 20:51:56 2883

原创 语音识别技术的前世今生之今生

由于时间原因,一直没有写前世今生中的今生部分的文字说明,只是把王博士的PPT摆上来了,今天把这一部分的文字说明部分补充一下,还是说明一下,我没有深入接触过语音识别技术的原理及实现,文字说明部分是我结合王博士的讲解以及我自己的一些理解写的,如果有什么讲的不准确或者不正确的地方,希望大家多多包涵,并欢迎大家指正。接下来,我们开始正式的文字讲解部分。目录1.前馈神经网络1.1Tandem结构...

2018-12-02 20:22:13 2505

原创 语音识别技术的前世今生之前世

最近在做脑磁图的信号处理方面的工作,在网上查阅信号处理相关工作的资料时,看到了CMU的王赟博士关于语音识别技术的介绍,个人感觉讲的很精彩,同时,语音识别技术已经渗入到我们生活的方方面面,抱着学习者的心态,把王博士关于语音识别技术的讲解写一篇文章,文章主要是根据王博士的PPT和我自己的一些理解组成,我个人并不是做语音识别方向,所以难免会有些理解不到位或者不准确的地方,如果有什么错误,希望大家指正。下...

2018-12-01 22:57:29 5305 2

原创 kNN(k近邻法)

最近看了一些关于kNN(k近邻算法)的资料,本篇文章就当做一篇学习笔记来记录下我对kNN算法的理解。目录1、kNN算法的概念2、距离度量2.1 欧氏距离2.2 余弦距离2.3 曼哈顿距离2.4 汉明距离2.5 标准化的欧氏距离2.6 马氏距离3、k值的选择4、k-d树4.1 k-d树的建立4.2 k-d树上的最邻近搜索5、kNN的优缺点及改...

2018-11-22 14:59:48 5458

原创 python中的IO编程

开通博客写的第一篇文章就是关于python的,今天这篇文章是关于IO编程操作的,IO的内容也不少,以后想到什么会继续补充。目录1、文件的使用1.1、文件的类型1.2 文件的打开和关闭1.3文件的读写1.3.1文件的读取方法:1.3.2文件的写入方法2、数据组织的维度2.1、一维数据的处理2.2、二维数据的处理参考文献:1、文件的使用文件是存储在辅...

2018-11-17 17:56:48 1022

空空如也

空空如也

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

TA关注的人

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