Data Mining
文章平均质量分 81
Rachel-Zhang
yiyan程序员 https://weibo.com/u/2607574543
展开
-
统计学习方法——CART, Bagging, Random Forest, Boosting
本文从统计学角度讲解了CART(Classification And Regression Tree), Bagging(bootstrap aggregation), Random Forest Boosting四种分类器的特点与分类方法,参考材料为密歇根大学Ji Zhu的pdf与组会上王博的讲解。CART(Classification And Regression Tree)原创 2012-11-10 09:46:34 · 85257 阅读 · 25 评论 -
应用scikit-learn做文本分类
文本挖掘的paper没找到统一的benchmark,只好自己跑程序,走过路过的前辈如果知道20newsgroups或者其它好用的公共数据集的分类(最好要所有类分类结果,全部或取部分特征无所谓)麻烦留言告知下现在的benchmark,万谢!嗯,说正文。20newsgroups官网上给出了3个数据集,这里我们用最原始的20news-19997.tar.gz。分为以下几个过程:1.加载数据集2.提feature3.分类{Naive Bayes,KNN,SVM}4.聚类说明: scipy官网上有参考原创 2014-04-13 20:53:15 · 99227 阅读 · 50 评论 -
python并行调参——scikit-learn grid_search
上篇应用scikit-learn做文本分类中以20newsgroups为例讲了如何用三种方法提取训练集=测试集的文本feature,但是vectorizer取多少个word呢?预处理时候要过滤掉tf>max_df的words,max_df设多少呢?tfidftransformer只用tf还是加idf呢?classifier分类时迭代几次?学习率怎么设?……“循环一个个试过来啊”……啊好吧,matlab里就是这么做的……好在scikit-learn中提供了pipeline(for estimat原创 2014-04-17 14:12:28 · 35757 阅读 · 16 评论 -
Convolution Neural Network (CNN) 原理与实现
本文结合Deep learning的一个应用,Convolution Neural Network 进行一些基本应用,参考Lecun的Document 0.1进行部分拓展,与结果展示(in python)。分为以下几部分:1. Convolution(卷积)2. Pooling(降采样过程)3. CNN结构4. 跑实验下面分别介绍原创 2014-05-15 20:51:07 · 106012 阅读 · 51 评论 -
Matrix Factorization, Algorithms, Applications, and Avaliable packages
来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/美帝的有心人士收集了市面上的矩阵分解的几乎所有算法和应用,由于源地址在某神秘物质之外,特转载过来,源地址Matrix Decompositions has a long history and generally centers around a set of kno转载 2014-06-13 00:12:34 · 11552 阅读 · 5 评论 -
GMM-HMM语音识别模型 原理篇
本文简明讲述GMM-HMM在语音识别上的原理,建模和测试过程。这篇blog只回答三个问题:1. 什么是Hidden Markov Model?2. GMM是神马?怎样用GMM求某一音素(phoneme)的概率?3. 用GMM+HMM大法解决语音识别原创 2014-05-28 20:52:33 · 108445 阅读 · 45 评论 -
Deep learning From Image to Sequence
本文笔记旨在概括地讲deep learning的经典应用。内容太大,分三块。1. 回顾 deep learning在图像上的经典应用 1.1 Autoencoder 1.2 MLP 1.3 CNN<详细的见上一篇CNN>2. deep learning处理语音等时序信号 2.1 对什么时序信号解决什么问题 2.2 准备知识 2.2.1 Hidden Markov Model(HMM) 2.2.2 GMM-HMM for Speec原创 2014-10-10 09:19:50 · 22169 阅读 · 6 评论 -
Image classification with deep learning常用模型
本文中,我会根据下大家image classification常用的cnn模型,针对cifar10(for 物体识别),mnist(for 字符识别)& ImageNet(for 物体识别)做一个model 总结。本文不讲coding(coding请见Convolution Neural Network (CNN) 原理与实现篇)本文不涉及公司内部资料,纯公开资料汇总好,本文就从数据集说起,对数据集不熟悉的小伙伴请先去了解下这3个数据集,下面我们针对每个数据集画出其通用模型。原创 2015-01-07 16:07:31 · 35122 阅读 · 47 评论 -
经典统计语言模型
本文介绍三个经典统计语言模型, HAL,LSA, 与COALS.原创 2015-06-01 23:11:24 · 14923 阅读 · 3 评论 -
Python数据可视化——散点图
本文记录了python中的数据可视化——散点图scatter,令x作为数据(50个点,每个30维),我们仅可视化前两维。labels为其类别(假设有三类)。这里的x就用random来了,具体数据具体分析。label设定为[1:20]->1, [21:35]->2, [36:50]->3,(python中数组连接方法:先强制转为list,用+,再转回array)用matplotlib的scatter原创 2015-06-10 10:58:47 · 175415 阅读 · 24 评论 -
MC, MCMC, Gibbs采样 原理&实现(in R)
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例子:1. Markov Chain (马尔科夫链)2. Random Walk(随机游走)3. MCMC具体方法: 3.1 M-H法 3.2 Gibbs采样 PS:本篇blog为ese机器学习短期班参考资料(20140516课程)。原创 2014-05-15 19:50:44 · 90533 阅读 · 28 评论 -
python实现并行爬虫
问题背景:指定爬虫depth、线程数, python实现并行爬虫 思路: 单线程 实现爬虫类Fetcher 多线程 threading.Thread去调Fetcher 方法:Fetcher 中,用urllib.urlopen打开指定url,读取信息:response = urllib.urlopen(self.url)content = respon原创 2015-09-07 20:06:51 · 22166 阅读 · 4 评论 -
Decision Tree 及实现
本文基于python逐步实现Decision Tree(决策树),分为以下几个步骤:1.加载数据集2.熵的计算3.根据最佳分割feature进行数据分割4.根据最大信息增益选择最佳分割feature5.递归构建决策树6.样本分类将分别体现于代码。原创 2014-03-17 12:12:15 · 31116 阅读 · 41 评论 -
K近邻分类算法实现 in Python
K近邻(KNN):分类算法* Machine Learning的Python库很多,比如mlpy,这里实现只是为了掌握方法* MATLAB 中的调用,见《MATLAB分类器大全(svm,knn,随机森林等)》* 算法复杂度高(可用KD树优化,C中可以用libkdtree或者ANN)* k越小越容易过拟合,但是k很大会降分类精度(设想极限情况:k=1和k=N(样本数))本文不原创 2014-03-02 14:37:24 · 20814 阅读 · 14 评论 -
Aprior算法简化算法——FP-Tree思想与实现
在关联规则挖掘领域最经典的算法法是Apriori,其致命的缺点是需要多次扫描事务数据库。于是人们提出了各种裁剪(prune)数据集的方法以减少I/O开支,韩嘉炜老师的FP-Tree算法就是其中非常高效的一种。支持度和置信度严格地说Apriori和FP-Tree都是寻找频繁项集的算法,频繁项集就是所谓的“支持度”比较高的项集,下面解释一下支持度和置信度的概念。设事务数据库为:转载 2012-08-31 10:29:38 · 19356 阅读 · 22 评论 -
Karhunen-Loeve Transform (KLT) 原理及PCA应用
Karhunen-Loeve Transform(KLT)是一种数据变换与分析方式,常用于数据压缩和PCA降维。1. KLT是什么变换,KLT的目的是什么?KLT是对向量x做的一个正交变换y=Φx,目的是变换到y后去除数据相关性。PS:其中,Φ是x特征向量组成的矩阵,满足ΦTΦ=I,当x都是实数时,Φ是正交矩阵。2. 为什么说KLT可以去除数原创 2012-10-25 09:26:00 · 27701 阅读 · 3 评论 -
GMM的EM算法实现
在 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明进行了详细说明。本文主要针对如何用EM算法在混合高斯模型下进行聚类进行代码上的分析说明。1. GMM模型:每个 GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为一个“Co原创 2012-11-19 11:03:16 · 139334 阅读 · 82 评论 -
The culture of Statistic Learning
在MIT 150周年庆的Brains, Minds, and Machines研讨会上, Prof. Noam Chomsky发表了一个观点,他的大概意思是有很多语言模型采用统计的方法建模,有些取得了成功,但他觉得大多数是失败的,他觉得应该更多重视简洁的,公式化的理论,而非这些统计上的结论,正如下文中他所言:Prof. Noam ChomskyIt's true there's been a lo原创 2012-12-04 01:41:42 · 9248 阅读 · 17 评论 -
奇异值分解SVD应用——LSI
潜在语义索引(Latent Semantic Indexing)是一个严重依赖于SVD的算法,本文转载自之前吴军老师《数学之美》和参考文献《机器学习中的数学》汇总。————————————在自然语言处理中,最常见的两类的分类问题分别是,将文本按主题归类(比如将所有介绍亚运会的新闻归到体育类)和将词汇表中的字词按意思归类(比如将各种体育运动的名称个归成一类)。这两种分类问题都可用通过矩阵运算来圆满地转载 2012-10-31 09:49:07 · 52090 阅读 · 38 评论 -
Comprehensions on Group NMF
最近看了一下group sparsity和group structure方面的东西,本文主要针对了其中一种在NMF上的应用得到的group sparsity总结了一些东西。这篇理论上的文章没有被引用很多,但是其在EEG上用Group NMF做得一篇文章倒是有些影响力的。具体参考reference吧。总的来说,group sparsity或者单纯的sparsity对于一些有物理意义的东西比较好解释,原创 2013-06-27 13:11:53 · 11064 阅读 · 6 评论 -
MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
train_data是训练特征数据, train_label是分类标签。Predict_label是预测的标签。MatLab训练数据, 得到语义标签向量 Scores(概率输出)。1.逻辑回归(多项式MultiNomial logistic Regression)Factor = mnrfit(train_data, train_label);Scores = mnrval(Factor, tes转载 2013-12-05 10:50:30 · 56201 阅读 · 5 评论 -
Matlab并行编程方法
本文讲一下matlab中的并行方法与技巧。分为以下几个板块:1. 什么东西好并行?2. 怎么并行?3. parfor vs. SPMD4. 注意事项及经验总结原创 2014-01-03 08:08:27 · 114110 阅读 · 11 评论 -
聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut
聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral clustering,Ncut五个算法在聚类中的应用。Clustering Algorithms分类1. Partitioning approach: 建立数据的不同分割,然后用相同标准评价聚类结果。原创 2012-11-11 13:44:48 · 123952 阅读 · 47 评论 -
R语言 基本数据分析
本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现。不多说,直接上代码,代码中有注释。1. 基本作图(盒图,qq图)#basic plotboxplot(x)qqplot(x,y)2. 线性拟合#linear regressionn = 10x1 = rnorm(n)#variable 1x2 = rnorm(n)#varia原创 2014-02-08 23:52:14 · 43907 阅读 · 4 评论 -
KMeans和KMedoid 的Matlab实现
KMeans和KMedoid算法是聚类算法中比较普遍的方法,本文讲了其原理和matlab中实现的代码。1.目标: 找出一个分割,使得距离平方和最小2.K-Means算法: 1. 将数据分为k个非空子集 2. 计算每个类中心点(k-means中用所有点的平均值,K-medoid用离该平均值最近的一个点)center 3. 将每个object聚类到最近的原创 2012-11-18 20:26:15 · 55736 阅读 · 52 评论 -
Residual Networks <2015 ICCV, ImageNet 图像分类Top1>
本文介绍一下2015 ImageNet中分类任务的冠军——MSRA何凯明团队的Residual Networks。实际上,MSRA是今年Imagenet的大赢家,不单在分类任务,MSRA还用residual networks赢了 ImageNet的detection, localization, 以及COCO数据集上的detection和segmentation, 那本文就简单分析下Residual原创 2016-01-15 00:04:43 · 26600 阅读 · 13 评论