- 博客(34)
- 资源 (18)
- 收藏
- 关注
原创 Python迭代器
关于Python中的迭代器,有几个比较容易混淆的概念:可迭代对象(iterable)、迭代器(iterator)、生成器(generator),本文将对此做一个详细的讲解。...
2018-12-22 17:29:36
337
原创 几个常用数学知识点
机器学习跟数学有着紧密的关系,因此掌握一些常用的数学知识点,有助于我们理解某些模型的底层相关原理。1、泰勒公式2、鞍点3、范数...
2018-09-06 23:15:39
991
原创 《统计学习方法》系列(5)
本篇对应全书第五章,讲的是决策树。决策树(decision tree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。决策树学习常用的算法有ID3、C4.5和CART。1、理论讲解 ID3和C4.5生成的决策树只能用于分类问题,而CART生成的决策树既可用于分类...
2018-04-06 17:36:58
496
原创 《统计学习方法》系列(4)
本篇对应全书第四章,讲的是朴素贝叶斯法。朴素贝叶斯(Naive Bayes)是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入xxx,利用贝叶斯定理求出后验概率最大的输出yyy。1、理论讲解1.1、模型原理 设输入空间X⊆RnX⊆Rn\mathbf X \subsete...
2018-04-03 20:16:16
308
原创 极大似然估计和贝叶斯估计
极大似然估计(Maximum Likelihood Estimation,MLE)和贝叶斯估计(Bayesian Estimation)是统计推断中两种最常用的参数估计方法,二者在机器学习中的应用也十分广泛。本文将对这两种估计方法做一个详解。 考虑这样一个问题:总体XXX的概率密度函数为f(x|θ)f(x|θ)f(x|\boldsymbol \theta),观测到一组样本(X1,X2...
2018-04-01 16:59:06
641
原创 牛顿法和拟牛顿法
牛顿法(Newton method)和拟牛顿法(quasi Newton method)是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步都需求解目标函数的海塞矩阵(Hessian Matrix),计算比较复杂。拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,简化了这一计算过程。1、牛顿法1.1、原理 牛顿法的原理是使用函数f(x)f(...
2018-03-29 22:15:56
2117
原创 《统计学习方法》系列(3)
本篇对应全书第三章,讲的是kkk近邻法。kkk近邻法(k-nearest neighbor,k-NN)是一种基本分类与回归方法,输入为实例的特征向量,对应于特征空间中的点,输出为实例的类别,可以取多类。kkk近邻法不具有显示的学习过程,它实际上利用训练集对特征向量空间进行划分,并作为其分类的模型。kkk近邻法1968年由Cover和Hart提出。1、理论讲解 距离度量、k值的...
2018-03-24 15:17:47
268
原创 最小二乘法(Least Squares Method)
最小二乘法,是机器学习中的一个基础概念——基础却很重要,本文将对其作一个详细的讲解,以便更好地掌握和利用。1、最小二乘 最小二乘,广义上来说其实是机器学习中的平方损失函数: L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y-f(X))^2 对应于模型fff的线性和非线性之分,最小二乘也相应地分为线性最小二乘和非线性最小二...
2018-03-17 17:48:43
5682
原创 梯度下降(Gradient Descent)(三)
在之前的博客中,我们分别讲了梯度下降的基本原理和三种变体。作为当今最流行的优化(optimization)算法(尤其是在深度学习中的应用),梯度下降存在很多问题和挑战,研究人员也相应地提出了许多优化方式,本文将对此作详细的讲解,作为梯度下降系列的最后一篇。 考虑到篇幅过长,且有几篇关于此的文章已经写得非常好,笔者仅在这里给出相应的参考文献及简要介绍,读者可自行前往阅读。 [1]...
2018-03-10 17:23:53
750
原创 梯度下降(Gradient Descent)(二)
在机器学习领域,梯度下降有三种常见形式:批量梯度下降(BGD,batch gradient descent)、随机梯度下降(SGD,stochastic gradient descent)、小批量梯度下降(MBGD,mini-batch gradient descent)。它们的不同之处在于每次学习(更新模型参数)所使用的样本个数,也因此导致了学习准确性和学习时间的差异。 本文以线性...
2018-03-04 21:58:30
454
原创 《统计学习方法》系列(2)
本篇对应全书第二章,讲的是感知机。感知机(perceptron)是二类分类的线性分类模型,对应于输入空间(特征空间)中将数据进行线性划分的分离超平面,属于判别模型。感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。1、理论讲解1.1、感知机模型 假设输入空间(特征空间)是⊆RnX⊆Rn,输出空间是={1,−1}Y={1,−1}。输入x∈x∈X表示...
2018-03-04 16:27:31
336
原创 梯度下降(Gradient Descent)(一)
梯度下降法(gradient descent)或最速下降法(steepest descent)是求解无约束优化问题的一种最常用的方法,实现简单,属于一阶优化算法,也是迭代算法。1.梯度 在微积分中,对多元函数的参数求偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y)f(x,y)f(x,y),分别对x,yx,yx,y求偏导数,求得的梯度向量就是(...
2018-02-08 10:04:50
591
原创 霍夫丁不等式(Hoeffding's inequality)
1.简述 在概率论中,霍夫丁不等式给出了随机变量的和与其期望值偏差的概率上限,该不等式被Wassily Hoeffding于1963年提出并证明。霍夫丁不等式是Azuma-Hoeffding不等式的特例,它比Sergei Bernstein于1923年证明的Bernstein不等式更具一般性。这几个不等式都是McDiarmid不等式的特例。2.霍夫丁不等式2.1.伯努利随机变
2018-02-03 16:39:05
12506
2
原创 《统计学习方法》系列(1)
最近在看李航老师的《统计学习方法》,为了让书本上的知识更好地沉淀,也便于和大家更好地交流,遂决定每看完一章则写一篇笔记,将书中值得思考的地方写下来。所写内容均包含笔者本人的理解,限于水平,难免有纰漏,望读者不吝指正。 本篇对应全书第一章,主要讲了统计学习方法的一些基本概念。1.基本概念a).统计学习方法主要有:监督学习(supervised learning)、非监督学习...
2018-02-02 14:41:18
322
翻译 Gensim官方教程中译版
Gensim是一个基于Python实现的工具包,正如其所描述的“topic modeling for human”,它上手很快,简单易学。整个包主要用于主题模型的计算,当然其中也实现了其它一些NLP中常用的算法(包括LSA,word2vec等)。为方便大家的使用,译者在此将其官网的教程翻译成中文,也算是为后来者做一点贡献。 限于译者的水平,翻译过程中难免存在错误纰漏,对于本文的任何建议,望读
2018-01-31 16:20:18
554
原创 Python 字符编码详解
接着之前写过的字符编码详解,这里我们来讲一讲“Python”中的字符编码问题。由于笔者使用的是Python2.7,而且较之于Python3,前者的字符编码问题显得更为复杂一些,因此本文所讲的“字符编码”基于Python2.7(以下简称“Python”)。
2017-11-28 10:36:16
937
原创 释伴:Linux 上的 Shebang 符号(#!)
使用Linux或者Unix系统的同学可能都对“#!”这个符号并不陌生,但是你真的了解它吗?
2017-11-02 18:22:44
32933
3
原创 MIME
MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)是一个互联网标准,它扩展了电子邮件标准,使其能够支持:非ASCII字符文本、非文本格式附件(二进制、声音、图像等)、由多部分(multiple parts)组成的消息体、包含非ASCII字符的头信息(Header information)。
2017-10-30 15:05:44
758
原创 字符编码详解
相信很多程序员在面对“字符编码”这个问题时,都曾困扰过,甚至头疼不已。接着之前两篇博客(二进制文件和文本文件、文本文件换行符),本文将对“字符编码”做一个全面而细致的剖析,力求做到,让每位读者在读完此文后能有一种醍醐灌顶的感觉。
2017-10-12 15:50:34
4896
原创 二进制文件和文本文件
通常,我们喜欢把文件分为二进制文件(binary file)和文本文件(text file)两类。但事实上,所有文件在计算机上都是以二进制方式进行存储的,因此二者并无本质上的区别,它们的区别仅在于对文件内容的解释方式上。
2017-09-09 19:13:59
1897
原创 Linux Swap 解读
大多数 Linux 在系统安装时都会提醒并建议你划分一个 Swap 交换分区,那么,Swap 交换分区是什么,到底有什么用呢?本文将介绍有关 Linux 中 Swap 的一些知识 ,让读者对 Swap 能有一个清晰的了解和掌握。
2017-07-13 21:51:41
666
原创 Linux中硬链接与软链接的区别与联系
链接为 Linux 系统解决了文件的共享使用问题,还带来了隐藏文件路径、增加权限安全及节省存储等好处。链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link),也即软链接(Soft Link)。本文,我们将详细讲解关于这两种链接的区别与联系。
2017-05-21 22:36:02
521
原创 Python 异常处理 (三)
上一篇(Python 异常处理 (二))中,我们了解了如何使用traceback模块和logging模块获取异常信息。这一篇,我们将讲述有关于with,assert,raise的相关知识。
2017-04-16 17:03:38
706
原创 Python 异常处理 (二)
上一篇(Python 异常处理 (一))中,我们讲了有关于异常的一些基本知识。这一篇,我们来讲一下如何使用Python中的traceback模块和logging模块获取详细的异常信息。
2017-04-11 13:57:57
519
原创 Python 异常处理 (一)
最近在使用Python的过程中,经常需要考虑在代码中加入异常处理的部分,故而特意抽了一些时间仔细查看了相关资料。如今写下这篇博客作为学习笔记,方便以后随时查阅。
2017-03-28 13:36:17
1497
An overview of gradient descent optimization algorithms
2018-03-11
An overview of gradient descent optimization algorithms(译文)
2018-03-11
Gensim官方教程中译版
2018-01-31
软件工程(Shari Lawrence Pfleeger著)第4版课后完整版答案
2016-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人