01 2017 档案

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