01 2017 档案

摘要:在协同过滤推荐算法总结中,我们讲到了用矩阵分解做协同过滤是广泛使用的方法,这里就对矩阵分解在协同过滤推荐算法中的应用做一个总结。(过年前最后一篇!祝大家新年快乐!明年的目标是写120篇机器学习,深度学习和NLP相关的文章) 1. 矩阵分解用于推荐算法要解决的问题 在推荐系统中,我们常常遇到的问题是这 阅读全文
posted @ 2017-01-26 12:28 刘建平Pinard 阅读(47668) 评论(86) 推荐(19) 编辑
摘要:推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候 阅读全文
posted @ 2017-01-25 15:12 刘建平Pinard 阅读(94696) 评论(66) 推荐(41) 编辑
摘要:在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法。由于scikit-learn中没有关联算法的类库,而Spark MLlib有,本文的使用以Spark MLlib作为使用 阅读全文
posted @ 2017-01-22 14:24 刘建平Pinard 阅读(14118) 评论(24) 推荐(4) 编辑
摘要:前面我们讲到频繁项集挖掘的关联算法Apriori和FP Tree。这两个算法都是挖掘频繁项集的。而今天我们要介绍的PrefixSpan算法也是关联算法,但是它是挖掘频繁序列模式的,因此要解决的问题目标稍有不同。 1. 项集数据和序列数据 首先我们看看项集数据和序列数据有什么不同,如下图所示。 左边的 阅读全文
posted @ 2017-01-20 23:13 刘建平Pinard 阅读(38816) 评论(32) 推荐(8) 编辑
摘要:在Apriori算法原理总结中,我们对Apriori算法的原理做了总结。作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈。为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,无论多少数据,只需要扫描两次数据集,因此提高了算法运行的效率。 阅读全文
posted @ 2017-01-19 21:19 刘建平Pinard 阅读(82273) 评论(80) 推荐(48) 编辑
摘要:Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置 阅读全文
posted @ 2017-01-17 17:05 刘建平Pinard 阅读(121255) 评论(52) 推荐(30) 编辑
摘要:典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这两组数据是相关的呢?CCA可以帮助我们分析这个问题。 1. C 阅读全文
posted @ 2017-01-16 17:19 刘建平Pinard 阅读(67803) 评论(59) 推荐(20) 编辑
摘要:在局部线性嵌入(LLE)原理总结中,我们对流形学习中的局部线性嵌入(LLE)算法做了原理总结。这里我们就对scikit-learn中流形学习的一些算法做一个介绍,并着重对其中LLE算法的使用方法做一个实践上的总结。 1. scikit-learn流形学习库概述 在scikit-learn中,流形学习 阅读全文
posted @ 2017-01-11 16:32 刘建平Pinard 阅读(11342) 评论(0) 推荐(5) 编辑
摘要:局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法。和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,它广泛的用于图像图像识别,高维数据可视化等领域。下面我们就对L 阅读全文
posted @ 2017-01-10 12:34 刘建平Pinard 阅读(66448) 评论(94) 推荐(15) 编辑
摘要:奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SV 阅读全文
posted @ 2017-01-05 15:44 刘建平Pinard 阅读(286931) 评论(125) 推荐(124) 编辑
摘要:在线性判别分析LDA原理总结中,我们对LDA降维的原理做了总结,这里我们就对scikit-learn中LDA的降维使用做一个总结。 1. 对scikit-learn中LDA类概述 在scikit-learn中, LDA类是sklearn.discriminant_analysis.LinearDis 阅读全文
posted @ 2017-01-04 17:04 刘建平Pinard 阅读(42219) 评论(29) 推荐(8) 编辑
摘要:在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结。这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结。LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了 阅读全文
posted @ 2017-01-03 16:47 刘建平Pinard 阅读(297882) 评论(207) 推荐(55) 编辑
摘要:在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维。 1. scikit-learn PCA类介绍 在scikit-learn中,与PCA相关的类都在sklearn.decomposition包中。 阅读全文
posted @ 2017-01-02 20:55 刘建平Pinard 阅读(156644) 评论(74) 推荐(18) 编辑