machine learning
yuehanliushuang
这个作者很懒,什么都没留下…
展开
-
KNN
缺点:耗内存,存储所有训练样本,对每个测试样本都要计算和所有训练数据的距离,时间成本高代码如下:from numpy import *import osdef loaddata(): data=array([[1.0, 0.9], [1.0, 1.0], [0.1, 0.2], [0.0, 0.1]]) labels = ['A', 'A', '原创 2017-04-14 15:56:09 · 311 阅读 · 0 评论 -
Beta函数与Gamma函数及其与Beta分布的关系
相关函数在scipy.specialimport scipy.special as ssss.beta(x1, x2)1212相关分布(概率密度)在scipy.statsimport scipy.stats as stss.beta(a, b) # 随机变量1212β Function:B(x,y)=∫10tx−1(1−t)y−1dt转载 2017-04-12 15:12:14 · 3873 阅读 · 0 评论 -
MCMC(Markov Chain Monte Carlo)的理解与实践(Python)
理解MCMC及一系列改进采样算法的关键在于对马尔科夫随机过程的理解。更多详尽的讨论请参见 重温马尔科夫随机过程。对于给定的概率分布 π(x),我们希望能有便捷的方式生成它(π(x))对应的样本。由于马氏链能收敛到平稳分布,于是一个很nice的想法(by Metropolis, 1953)是:如果我们能够构造一个转移矩阵为 P的马氏链,使得该马氏链的平稳分布恰好是 π(x),那么我们从任转载 2017-04-12 15:09:21 · 4985 阅读 · 0 评论 -
牛顿法
牛顿法相比梯度下降法速度更快,每次更新使损失以二次方的速度减少,因此称二次迭代,其原理如下:牛顿法至少有两个应用方向,1、求方程的根,2、最优化。牛顿法涉及到方程求导,下面的讨论均是在连续可微的前提下讨论。 1、求解方程。并不是所有的方程都有求根公式,或者求根公式很复杂,导致求解困难。利用牛顿法,可以迭代求解。原理是利用泰勒公式,在x0处展开,且展开到一阶,即f(x)转载 2017-04-03 15:18:43 · 474 阅读 · 0 评论 -
局部加权平均-线性回归
定义:给定我们要预测的样本的特征,求该样本与训练样本集之间的距离作为相应训练样本权重,然后模型训练和线性回归一样特点:这样我们可以用局部线性函数近似非线性函数,但是,每个预测样本都要训练一个模型,时间复杂度较高原创 2017-04-03 11:39:26 · 1448 阅读 · 0 评论 -
梯度下降与随机梯度下降
梯度下降:假设 y=f(x)导数:dy>0 ,则随x增加y值变大,dy当我们最小化目标函数时,参数x用下式更新,alpha为常数x := x-alpha*dy当 dy>0 时 ,则随x增加y值变大,上式x值减小,则y值也减小当 dy同理,当我们最大化目标函数时,参数x用下式更新,alpha为常数x := x+alpha*dy随机梯度下降:每次用单个样原创 2017-04-02 17:13:46 · 451 阅读 · 0 评论 -
机器学习算法的调试 —— 梯度检验(Gradient Checking)
反向传播算法很难调试得到正确结果,尤其是当实现程序存在很多难于发现的bug 时。举例来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练(for(i=1; i 被漏写为 for(i=1; i),再比如忘记计算偏置项。这些错误会使你得到一个看似十分合理的结果(但实际上比正确代码的结果要差)。因此,仅从计算结果上来看,我们很难发现代码中有什么东西遗漏了。本节中,我转载 2017-04-12 10:17:40 · 684 阅读 · 0 评论 -
机器学习算法——SVD奇异值分解
一、SVD奇异值分解的定义 假设是一个的矩阵,如果存在一个分解:其中为的酉矩阵,为的半正定对角矩阵,为的共轭转置矩阵,且为的酉矩阵。这样的分解称为的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩阵,称为右奇异矩阵。二、SVD奇异值分解与特征值分解的关系 特征值分解与SVD奇异值分解的目的都是提取一个矩阵最重要的特征。然而,特征值分解只适用于方转载 2017-04-11 19:12:30 · 413 阅读 · 0 评论 -
Python进阶之“属性(property)”详解
Python中有一个被称为属性函数(property)的小概念,它可以:将类方法转换为只读属性class Person(object): """""" #---------------------------------------------------------------------- def__init__(self,转载 2017-03-16 16:35:02 · 305 阅读 · 0 评论 -
Softmax公式推导
直接给出了梯度更新公式,但是没有给出公式推导。这里对公式推导进行简单的补充说明。转载 2017-04-15 09:33:57 · 1027 阅读 · 0 评论