Mudux Blog

我究竟拿时间换了什么

SVM求解SMO算法理论详解

1. 介绍   前面介绍了支持向量机SVM的理论知识。SVM的学习问题可以形式化为求解凸二次规划问题,这样的凸二次规划问题具有全局最优解,并且有许多最优化算法可以用于这一个问题的求解。当训练样本容量很大是,这些算法往往变得非常低效,如何高效的实现支持向量机学习成为一个重要的问题。本次讲述其中的序列最小最优化(sequential minimal optimization, SMO)算法,这种...

决策树算法理论详解

1. 介绍   决策树(decision tree)是一种基本的分类与回归方法。决策树模型呈树形结构。在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。决策树学...

降维-PCA算法理论详解与实现

1. 介绍  PCA(Principal Component Analysis)是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。  PCA的数学推导可以从最大可分性和最近重构性两方面进行,前者的优化条件为划分后方差最大,后者的优化条件为点到划分超平面的距离最小,这里将从两个方面分别介绍。 2. 基于最大可分性 2.1 向量表示与基变换  先复习下线性代数的基本...

SVM算法理论详解

1. 介绍  支持向量机(Support Vecor Machine,以下简称SVM)虽然诞生只有短短的二十多年,但是自一诞生便由于它良好的分类性能席卷了机器学习领域,并牢牢压制了神经网络领域好多年。  SVM是一个二分类算法。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。支持向量机还包括核技巧,这使它实质上的非线性分类器。支持向量机的学习策略就是间隔最大化...

tensorflow embedding使用

 最近在学习推荐系统时,在很多模型如FM,FFM和DeepFM中对离散特征都使用了embedding方法,把稀疏特征映射为密集向量。这里总结下tensorflow中embedding的使用。 1. embedding_lookup等同于one-hot相乘 1 2 3 4 5 6 7 8 9 10 11 embedding = tf.get_variable(name='embedding'...

推荐系统-DeepFM模型理论详解与实现

1. 介绍  在CTR预估中,特征交互(feature interactions)对模型的性能有很大影响。在DeepFM模型出现之前,现有模型通常偏向低阶或者高阶交叉,或者需要特征工程。DeepFM paper提出了一个端到端的同时考虑低阶和高阶特征交互的模型DeepFM。这个模型结合了FM模型学习二阶交叉和DNN模型特征学习的优点。并和FNN,PNN,Wide&Deep模型做了对比...

推荐系统-FFM模型理论详解与实现

1. 应用背景  在CTR预估中,经常会遇到one-hot类型的变量,one-hot类型变量会导致严重的数据特征稀疏的情况,为了解决这一问题,在上一讲中,我们介绍了FM算法。这一讲我们介绍一种在FM基础上发展出来的算法-FFM(Field-aware Factorization Machine)。 2. 介绍  在点击率预测中logistic回归广泛使用。假设数据集是$D={(x^{(1)...

推荐系统-FM模型实现

 之前博客讲解了FM模型理论知识,这里用tensorflow实现FM模型。  这个库实现了任意FM模型,可作为参考。 注:这里只有二阶交叉项。 1. 数据集  来自MovieLens数据集,为用户对电影的评分数据。 2. tensorflow实现 util.py文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22...

推荐系统-FM模型理论详解

1. 应用背景  在计算广告和推荐系统中,CTR预估(click-through rate)和转化率CVR(conversion rate)估计是非常重要的一个环节。判断一个物品是否进行推荐需要根据CTR预估的点击率排序决定。业界常用的方法有人工特征工程+LR(Logistic Regression)、GBDT(Gradient Boosting Decision Tree) + LR、F...

logistic回归算法代码实现

 上个博客详细介绍了logistic回归理论知识,这里讲解如何实现logistic回归。 1. CPP实现 1.1 logistic.h文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4...