随笔分类 - 机器学习
布隆过滤器的概述及Python实现
摘要:布隆过滤器 布隆过滤器是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。正是由于这个特性,它被称作概率性数据结构(probabilistic data structure)。 空间效率 我们来仔细地看
阅读全文
数据挖掘中如何处理缺失数据
摘要:最近遇到了这个问题,这里想到了几种方法。第一种,用均值、中位数、众数等数值补充。如果数据近似于normal distribution,可以用mean来代替,如果数据是skewed distribution的,则用median来替代。不过,这相当于是人为给数据增加了噪音,最终的效果是正向还是负向也不得...
阅读全文
Backtracking line search的理解
摘要:使用梯度下降方法求解凸优化问题的时候,会遇到一个问题,选择什么样的梯度下降步长才合适。假设优化函数为,若每次梯度下降的步长都固定,则可能出现左图所示的情况,无法收敛。若每次步长都很小,则下降速度非常慢,需要很多轮的迭代,如右图所示。所以步长的选择和收敛速度是一个取舍关系。 于是,有了一种可调节步长的...
阅读全文
distributed 以及 distributional 语义表达的区别
摘要:昨天在审核资讯翻译的时候遇到这两个单词,文章里讲的也不清楚,感觉翻译的也不到位。今天就单独拿出来比较一下吧。尽管这两个单词相似,它们的具体实现方法还是有很大区别的。Distributional word representation主要是基于Distributional假说:"linguistic ...
阅读全文
nvcc fatal : Cannot find compiler 'cl.exe' in PATH解决方法
摘要:我在测试安装的deep learning工具theano。按照官网Baby Steps - Algebra一步步输入。>>> import theano.tensor as T>>> from theano import function>>> x = T.dscalar('x')>>> y = T...
阅读全文
机器学习实践中应避免的七种常见错误
摘要:统计建模和工程开发很相似。在工程开发中,人们有多种方法搭建一套键-值存储系统,每种设计针对使用模式有一套不同的假设。在统计建模中,也有很多算法来构造一个分类器,每种算法对数据也有各自的假设集合。当处理少量数据时,因为实验成本很低,我们尽可能多的尝试各种算法,从而选出效果最优的算法。但提到“大数据”,...
阅读全文
Matlab神经网络工具箱学习之二
摘要:螃蟹的分类这个例子的目的是根据螃蟹的品种、背壳的长宽等等属性来判断螃蟹的性别,雄性还是雌性。训练数据一共有六个属性: species, frontallip, rearwidth, length, width and depth.这里每个属性所对应的是螃蟹哪一部分的真实性状并不是关键。我们关心的只是已知样本是6维的向量,输出是0/1值,求分类效果最好的网络模型。首先载入样本数据[x,t] = crab_dataset;% size(x) = [6, 200];% size(t) = [2, 200];然后初始化神经网络例子里使用含有一层隐含层的模型,隐含层有10个神经元。调用Matlab的p.
阅读全文
Kmeans算法的应用实例(Matlab版本)
摘要:K-means是一种经典的聚类算法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。假设要把样本集分为c个类别,算法描述如下: (1)适当选择c个类的初始中心; (2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类; (3)利用均值等方法更新该类的中心值; (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。 该算法的最大优势在于简洁和快速。算法的关键在于初始中心...
阅读全文
浙公网安备 33010602011771号