机器学习与数据挖掘
文章平均质量分 63
记忆星空
这个作者很懒,什么都没留下…
展开
-
ID3 and C4.5 Decision Tree
ID3决策树主要是用来进行分类,它的主要做法还是比较简单的,但是基于是递归的建树,所以写起代码来不是那么好写,它的做法大概是:对于初始样本,选择一个最优的feature(怎么样算是最优,下面会解释),将一个点根据这个feature的不同取值,分成不同的分支,也就是说feature取几个值,就有几个分支,然后递归它的每一个分支,直到达到某些条件则停止递归。原创 2015-04-14 16:29:09 · 626 阅读 · 0 评论 -
Least Angel Regression
最小角回归和上一篇说的forward stepwise有一些相似的地方是都是将一些variable选到variable集合中来,不一样的是,forward stepwise 每次选的都是与当前残差相关度最大的variable,选进来以后,会重新对所有的入选variable做一下回归,而最小角回归的做法是,同样是首先找到与当前残差相关度最大的variable,然后沿着这个这个variable的方向行原创 2015-01-12 11:48:46 · 1233 阅读 · 0 评论 -
Spectral Clustering
谱聚类一般用于无向图点的聚类,进行谱聚类首先需要得到需要这个图的临界矩阵W和度矩阵D。临界矩阵的定义相信大家都清楚,w(i,j)=0表示i,j两个点没有边相连,否则w(i,j)=1,至于对于任意一个图,什么时候让两个点相连呢,到本文后面会去讨论,另外一个矩阵叫做度矩阵,用D表示,它是一个对角矩阵,定义如下:最为重要不是D或者W,而是D-W,定义一个图的laplacian矩阵为原创 2014-12-19 23:36:45 · 694 阅读 · 0 评论 -
About PCA
在处理高维度的数据时,比如数据个数为m,每个数据都是n维的,经常遇到的一个问题就是m*n这个值非常大,这不仅对于存储,而且对于计算都是不小的麻烦,主成分分析法(PCA)可以有效的解决这个问题,主成分分析法的大概意思就是,让原来的每个特征经过线性组合生成新的几个特征,新的特征的个数,一般是远远小于原来特征的个数,这样我们处理每个数据的新特征就行,但是我们如何选择新的特征呢,或者说如何选择线性组合的系原创 2014-12-08 09:57:22 · 560 阅读 · 0 评论 -
Probabilistic Latent Semantic Analysis(PLSA)
对于上次说的LSA模型,它能解决多个单词一个意义,但是不能解决多个意义一个单词,就是多义词的问题,而PLSA模型能较好的解决这个问题,首先说下,这个模型的假设:1 假设生成一个单词的过程是这样的:首先选择一篇文章di,然后再次基础上选择一个潜变量zk,最后在此基础上再在选择一个单词。如果p(di,wj)表示第i个文本中第j个单词的概率,根据假设有:2 另外一个非常重要的假设是,单词wj原创 2014-12-13 20:35:42 · 1069 阅读 · 2 评论 -
Latent Semantic Analysis(LSA)
对于一个term-document加权词频矩阵(如TD/IDF),如果他的规模m*n非常大,那么这些文本的存储还有计算聚类都会有不小的麻烦,LSA采用SVD分解将高维文本映射到低维的隐含语义空间,较好的解决了这个问题。分解后的三部分都有解释,U*sigma的每行都是每个单词在隐含语义层的坐标,V*sigma的每行都是每个文本在隐含语义层的坐标,另外也有一种说法就是U,V分别为单词和文本在潜原创 2014-12-12 10:15:02 · 1125 阅读 · 0 评论 -
BP Neural Networks初步理解
神经网络应该有很多种,先说最经典的bp神经网络,bp的全称就是Back Propagation,中文译为反向传播。首先来一张神经网络的图:这是一张只有一层hidden layer的神经网络,它的大致做法可以用这样的式子表示:其实X是输入层,Y是输出层,Z是隐藏层,alpha和beta都是待估计的参数,第一行那个字母函数一般选择sigmoid函数,而gk(T)这个函数是sotfm原创 2015-03-11 11:14:42 · 1571 阅读 · 0 评论 -
Logistic regression ,Softmax regression and Newton's method
首先说的是Logistic regression,z这个回归的相对还是比较简单的,但是一般来说他只能用于分两类(0或1)的情况,虽然我曾在Andrew Ng的课上好像记得也可以处理多类的情况,但是 Softmax regression貌似是一个更好的处理多类情况的一个方法。Logistic regression的思想其实非常简单,就是将负无穷到正无穷的区间用一个函数映射到了0到1的区间。这个函原创 2015-04-12 21:04:26 · 814 阅读 · 0 评论 -
Regularization and Ridge Regression
对于线性回归中过拟合的问题,有一种叫做regularization的方法,将代价函数改成了原创 2014-12-23 11:58:00 · 916 阅读 · 0 评论 -
About Bayesian Theory
当我们要判断一个x他属于哪一类时,也就是要判断他的y值,那么可以通过这个公式转移,朴素贝叶斯分类器的做法比较简单,直接比较分母,因为分子是相同的,我只要找到使得分子最大的那个y,就是x属于的类别,但是这里需要注意的有两点:1 P(x/y)应该可以写成P(x1/y)*p(x2/y)*....p(xn/y),这需要这些属性条件独立才能这样拆开来做。2 对于P(xi/y)这个值,如果一旦出现了0原创 2015-04-18 15:58:31 · 598 阅读 · 0 评论 -
SVD and PCA
MIT 线性代数课程中讲过的矩阵分解有很多种,但是据我所知最重要的应该是SVD分解了,假如现在想把行空间的正交基通过A左乘的方法变换到列空间的正交基,既有:需要说明的一点是,我们可以轻易得到行空间的正交基,但是并不是所有的A都能满足变换过去后还是正交基的条件,所以,这个A需要满足条件,或者说A和U,V需要满足一定的关系。将上式左右两边都乘以V的转置,就可以得到矩阵奇异值分解的公式,SV原创 2014-12-09 10:09:16 · 1175 阅读 · 3 评论 -
Projection Matrix and Linear Regression
假如想把一个向量投影到一个空间,我们想得到投影后的向量,那么我只需要用一个投影矩阵乘以原来的向量就能得到投影后的矩阵,那么如何得到这个投影矩阵呢,下面开始推导,首先从一维空间开始:对于上面这幅图来说,a,b都是向量,x是一个数,可以得到:解出: 因为aTb是一个数字,所以我们能将数字和向量a交换,得到投影后的向量xa。对于投影到一维空间来说,原创 2014-12-15 11:42:14 · 1605 阅读 · 2 评论 -
CART Decision Tree and two pruning theory
之前讲过ID3和C4.5决策树,CART和他们的区别虽然不大,但还是有一些值得说明的区别:1 CART节点分支只能是两个,就是说二分,对于连续型feature,那么就和C4.5的方法一样,选取最优的分界。如果是离散型feature,那么我们想要分成两部分,就显得比较复杂,比如说1,2,3分成两部分,可以是{1,2},{3}和{1,3},{2},{2,3},{1}。这里可以说一个公式,n个属性,原创 2015-04-16 11:23:12 · 727 阅读 · 0 评论 -
subset selection
这几天看the elements of statistical learning,觉得非常吃力,可能自己水平还不够,觉得这书不适合初学者看,就从Subset Selection 这一章节来说,本文说了主要说了三个点,best-subset selection,stepwise selection and stagewise selection,但是后面两个并没有特别详细的做法步骤,看的似懂非懂,后原创 2015-01-09 10:44:39 · 5270 阅读 · 1 评论 -
Bias and Variance
本文主要是想解释清楚machine learning中比较重要的两个概念及他们的关系,之前说到过过拟合问题,过拟合问题可以这样理解,由于我只是为了目标cost函数最小而选用比较复杂的模型来拟合,来达到每个点基本都是完全预测正确这样的一个效果,但是问题来了,这样的预测模型好不好?原创 2015-04-14 21:16:27 · 638 阅读 · 0 评论 -
Fisher's linear discriminant(Linear Discriminant Analysis)
Fisher's linear discriminant的主要思想是(简单起见这里先讨论分成2类的情况)将高维的数据投影到一维,在这一维上,我们就能轻易得到分类。以下两幅图分别来自prml 和the elements,我觉得非常好的说明了在分成两类的情况下Fisher's linear discriminant的思想(左图的投影没有右图的好):原创 2015-01-21 20:37:36 · 7356 阅读 · 4 评论 -
Apriori算法及python代码实现
Apriori算法作用就是在一个数据集合中,找到满足出现次数大于等于一个阀值的子集及出现个数,这句话可能不是很好理解。举一个例子,比如说你是一家超市的店主,每天你的超市有大量的商品卖出,你想知道哪几样的商品,他们被一起买的次数很多,那么你可以改变超市商品摆放布局,让被一起买的商品放的位置近一些,这样可能能提高超市的销售额。那么假如现在有很多张顾客购买的清单,他们总共购买了n种商品,你想找出这n种商原创 2015-02-28 12:50:32 · 4268 阅读 · 2 评论 -
Preliminary understanding of bagging and boosting
boosting and bagging这两个概念在统计学习理论中还是挺重要的,两者都采取训练多次的做法,但是还是有一些区别,先说比较简单的bagging。bagging 也称bootstrap aggregation,它其实就是抽样了很多次,然后每次对抽样训练出一个分类器,那么最后的分类结果是基于这些所有分类器投票的结果。bagging的具体做法:1 从样本集中用Bootstrap(原创 2015-04-19 20:12:49 · 527 阅读 · 0 评论 -
MapReduce初步理解及一些简单计算应用
MapReduce 只要靠2个函数来进行计算,map函数和reduce函数,分开来说的话,它主要计算过程如下:1 map函数的作用将多个输入转化成很多个键值对,具体如何转换,需要看具体问题编写具体的map函数。 2 对于产生的所有的键值对,会按照键的值进行分组,同一个键值的会分到同一组,每一组又可以归到一个reduce任务。3 对于相同键产生序列对,reduce任务会将它们按照某种方原创 2015-08-06 17:10:49 · 2190 阅读 · 0 评论 -
PageRank及其MapReduce实现
Pagerank是一个衡量网页重要性的算法,这个算法把互联网上的网页集合看成一个有向图,每个网页是一个节点,如果网页A有指向网页B的链接,则这两个点存在一条有向边A->B,那么如果A这个网页上有k个网页的链接,那么他会以1/k的概率从A这个网页跳到他所指的网页,所以可以用一个转移矩阵来表示一对网页集合的转移关系。这幅图相应的转移矩阵为:相信这个转移矩阵应该很好理解,另外就是一个原创 2015-08-08 17:30:19 · 4044 阅读 · 1 评论 -
Kmeans中k值的相关理论
Kmeans算法作为机器学习十大算法之一,它的流程相信不用多说,这里说下它的缺点:1.需要提前给定k值2.对初始聚类中心的选取有很大的依赖性3.如果长时间不能收敛,计算时间会很长。而对于初始聚类中心的选择,《大数据-互联网大规模数据挖掘》这本书里有相关的策略,主要提到了2点;1 尽量选择较远的点作为聚类中心:首先随机选一个点,然后选距离这个点最远的点作为第二个聚类中心,然后再选原创 2015-08-10 22:34:38 · 1287 阅读 · 0 评论 -
最小哈希和局部性哈希理论
最近在看《大数据-互联网大规模数据挖掘与分布式处理》这本书,觉得里面有些内容还是值得学习的,对于超大规模的文档集合,文档长度很长,文档的个数也很多,这么个情况下,如果寻找相似性比较高的文档对,会有一些问题,比如内存不够用,时间复杂度过大。首先需要说明两点:1相似度衡量的一个方法:采用Jaccard相似度,它的数学表达式为:A与B的相似度为A与B的交集除以A与B的并集。2 文本的特征:采原创 2015-08-11 19:29:52 · 1482 阅读 · 0 评论 -
EM Algorithm
上一次刚写了LSA模型,本来这次想写PLSA模型,但是由于PLSA模型是需要用到EM算法的,所以这里我想先解释下EM算法,原创 2014-12-13 11:12:23 · 764 阅读 · 0 评论 -
Gaussian discriminant analysis and Gaussian Mixture Model
高斯判别分析的做法和贝叶斯思想有一定的公式,他是根据贝叶斯原创 2015-04-17 17:05:35 · 1337 阅读 · 0 评论