预测模型

从模型到应用,一文读懂因子分解机

拈花ヽ惹草 提交于 2019-11-29 07:49:19
作者丨gongyouliu 编辑丨Zandy 来源 | 大数据与人工智能(ID: ai-big-data) 作者在上篇文章中讲解了《 矩阵分解推荐算法 》,我们知道了矩阵分解是一类高效的嵌入算法,通过将用户和标的物嵌入低维空间,再利用用户和标的物嵌入向量的内积来预测用户对标的物的偏好得分。本篇文章我们会讲解一类新的算法: 因子分解机 ( Factorization Machine ,简称 FM ,为了后面书写简单起见,中文简称为 分解机 ),该算法的核心思路来源于矩阵分解算法,矩阵分解算法可以看成是分解机的特例 (我们在第三节1中会详细说明) 。分解机自从2010年被提出后,由于易于整合交叉特征、可以处理高度稀疏数据,并且效果不错,在推荐系统及广告CTR预估等领域得到了大规模使用,国内很多大厂(如美团、头条等)都用它来做推荐及CTR预估。 本篇文章我们会从 分解机简单介绍、分解机的参数估计与模型价值、分解机与其他模型的关系、分解机的工程实现、分解机的拓展、近实时分解机、分解机在推荐上的应用、分解机的优势 等8个方面来讲解分解机相关的知识点。期望本文的梳理可以让读者更好地了解分解机的原理和应用价值,并且尝试将分解机算法应用到自己的业务中。 一、分解机简单介绍 分解机 最早由Steffen Rendle于2010年在ICDM会议(Industrial Conference on

paddlepaddle手写字体识别

て烟熏妆下的殇ゞ 提交于 2019-11-29 06:31:33
本文利用多层感知器训练(DNN)模型,用于预测手写数字图片,示例如下: 实践总体过程和步骤 首先导入必要的包 #导入需要的包 import numpy as np import paddle as paddle import paddle . fluid as fluid from PIL import Image import matplotlib . pyplot as plt import os Step1:准备数据。 (1)数据集介绍 MNIST 数据集包含60000个训练集和10000测试数据集。分为图片和标签,图片是28*28的像素矩阵,标签为0~9共10个数字。 (2) train_reader 和 test_reader paddle.dataset.mnist.train() 和 test() 分别用于获取mnist训练集和测试集 paddle.reader.shuffle() 表示每次缓存 BUF_SIZE 个数据项,并进行打乱 paddle.batch() 表示每 BATCH_SIZE 组成一个 batch (3)可以打印数据查看数据。 PaddlePaddle 接口提供的数据已经经过了归一化、居中等处理。 BUF_SIZE = 512 BATCH_SIZE = 128 #用于训练的数据提供器,每次从缓存中随机读取批次大小的数据 train_reader =

Sklearn K均值聚类

浪子不回头ぞ 提交于 2019-11-29 03:51:56
## 版权所有,转帖注明出处 章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Learn 可视化数据:主成分分析(PCA) SciKit-Learn 预处理数据 SciKit-Learn K均值聚类 SciKit-Learn 支持向量机 SciKit-Learn 速查 到目前为止,我们已经非常深入地了解了数据集,并且把它分成了训练子集与测试子集。 接下来,我们将使用聚类方法训练一个模型,然后使用该模型来预测测试子集的标签,最后评估该模型的性能。 聚类(clustering)是在一组未标记的数据中,将相似的数据(点)归到同一个类别中的方法。聚类与分类的最大不同在于分类的目标事先已知,而聚类则不知道。K均值聚类是聚类中的常用方法,它是基于点与点的距离来计算最佳类别归属,即靠得比较近的一组点(数据)被归为一类,每个聚类都有一个中心点。 我们首先创建聚类模型,对训练子集进行聚类处理,得到聚类中心点。然后使用模型预测测试子集的标签,预测时根据测试子集中的点(数据)到中心点的距离来进行分类。 创建模型 示例 创建聚类模型。 import numpy as np from sklearn import datasets # 加载 `digits` 数据集 digits =

笔记 - 基于贝叶斯网络的不确定估计(从一篇车载视角的行人框预测论文出发)

两盒软妹~` 提交于 2019-11-29 03:14:58
本文的出发点是一篇期刊论文,但集中探讨的是这篇文章中 不确定度估计的原理与过程 ,行文将与之前的文献报告不同。 原文 Bhattacharyya A , Fritz M , Schiele B . Long-Term On-Board Prediction of People in Traffic Scenes under Uncertainty[J]. 2017. 原文的一篇重要引用文献 Kendall A , Gal Y . What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision?[J]. 2017. 关键词与基础概念 : 车载视角、行人框预测、认知不确定性、偶然不确定性、采样、伯努利分布与dropout变分推断、蒙特卡洛积分、贝叶斯定理与贝叶斯推断、贝叶斯网络 近日在阅读“Long-Term On-Board Prediction of People in Traffic Scenes Under Uncertainty”,文章所提出的模型功能是基于车载移动视角对行人框位置做出预测,并能够同时评估两类不确定度(模型不确定度,数据不确定度)。 对神经网络的不确定度估计 涉及较多概率论的知识,而且从理论到应用的转化也涉及到使用近似量估计的问题,因此初次接触这部分知识该我带来了不小的挑战

商业数据分析(1)--解析方法与模型分类

与世无争的帅哥 提交于 2019-11-28 13:52:10
  总体来讲,商业数据分析主要分为三类,分别是描述性数量解析分析、预测性数量解析分析和指导性数量分析。   1.描述性数量解析分析:用于描述已发生的事情的一些列数量方法。例如数据查询、报表描述性统计、数据可视化、部分数据挖掘技术以及基本的表格分析。表格、图形、地图、汇总性的统计量。   2.预测性数量解析分析:根据历史数据构建模型然后对未来数据进行预报,或者搞清楚各种因素之间相互作用关系。例如通过对过去销售数据进行分析对未来数据进行预测。以及一些长期趋势季节性变化。线性回归、时间序列、某些数据挖掘技术、模拟分析以及风险分析。   3.指导性数据量解析分析:指明最有的办法,输出的结果是最好的决定。例如金融利于资产配置组合模型。优化模型,即根据现有环境的约束条件给出最优解。    来源: https://www.cnblogs.com/record-M-L/p/11409746.html

[AI] 论文笔记 - CVPR2018 Super SloMo: High Quality Estimation of Multiple Intermediate Frames for Video Interpolation

自作多情 提交于 2019-11-28 13:25:41
写在前面 原始视频(30fps) 补帧后的视频(240fps)   本文是博主在做实验的过程中使用到的方法,刚好也做为了本科毕设的翻译文章,现在把它搬运到博客上来,因为觉得这篇文章的思路真的不错。   这篇文章的简要思路:整个网络由两个U-Net构成,第一个U-Net负责计算光流,第二个U-Net负责矫正光流(有点借鉴了残差的意思),从而对视频进行补帧。   参考资料: 原文: Super SloMo: High Quality Estimation of Multiple Intermediate Frames for Video Interpolation ( https://arxiv.org/abs/1712.00080 ) 代码: https://github.com/avinashpaliwal/Super-SloMo    转载请注明出处,谢谢。    PS:文章有些内容涉及到公式,不方便搬运,所以采用了图片的方式。 摘要   在给定两个连续帧的情况下,视频插值的目标是生成中间帧,形成时空相干的视频序列。大多数现有的视频插值方法都集中在单帧插值上,我们提出了一种端到端的卷积神经网络,用于任意多帧的视频插值,该网络中的运动解释和遮挡推理是联合建模的。我们首先使用U-Net结构来计算相邻输入图像之间的双向光流。然后,在每个时间步长上对这些光流进行线性拟合

文献阅读报告 - Move, Attend and Predict

人走茶凉 提交于 2019-11-28 12:50:23
Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention-based Neural Model for People’s Movement Prediction[J]. Pattern Recognition Letters, 2018:S016786551830182X. 概览 本文与之前所阅读的几篇轨迹预测文章不同,其采纳循环神经网络对小场景中轨迹预测的提升,将其运用于 更大时间跨度(最小为小时,由GPS、打卡机等设备采集)的地点变换预测 上。具体来说,定义 Move, Attend and Predict (MAP) 模型,模型的输入由(二维地址, 时间戳)构成,输出则为根据以往地址信息所预测的 下一个地址 ,模型由RNN编码器、注意力模型和预测模型三部分组成,总体来说结构比较简单,某些技术受限于期刊审核时间稍有滞后,但其在实验评估部分的方法留留给我了一些启示,稍后将在文章中给出。 HighLights 时间信息与注意力机制 :以往相关研究如STF-RNN网络将(地点独热值,时间点独热值)元组一并嵌入作为循环神经网络的输入。而MAP模型则采用另一种思路,引入注意力模型,使用RNN单独处理二维地址信息并保存输出

热门数据挖掘模型应用入门(一): LASSO回归

喜夏-厌秋 提交于 2019-11-28 11:46:52
热门数据挖掘模型应用入门(一): LASSO回归 2016-10-10 20:46 作者简介: 侯澄钧,毕业于俄亥俄州立大学运筹学博士项目, 目前在美国从事个人保险产品(Personal Line)相关的数据分析,统计建模,产品算法优化方面的工作。 目录: 模型简介 线性回归 Logistic回归 Elstic Net模型家族简介 学习资料 1.模型简介 Kaggle网站 (https://www.kaggle.com/ )成立于2010年,是当下最流行的进行数据发掘和预测模型竞赛的在线平台。 与Kaggle合作的公司可以在网站上提出一个问题或者目标,同时提供相关数据,来自世界各地的计算机科学家、统计学家和建模爱好者,将受领任务,通过比较模型的某些性能参数,角逐出优胜者。 通过大量的比赛,一系列优秀的数据挖掘模型脱颖而出,受到广大建模者的认同,被普遍应用在各个领域。 在保险行业中用于拟合广义线性模型的LASSO回归就是其中之一。 LASSO回归的特点是在拟合广义线性模型的同时进行变量筛选(Variable Selection)和复杂度调整(Regularization)。 因此,不论目标因变量(dependent/response varaible)是连续的(continuous),还是二元或者多元离散的(discrete), 都可以用LASSO回归建模然后预测。

python时间序列分析

泪湿孤枕 提交于 2019-11-28 10:54:41
题记: 毕业一年多天天coding,好久没写paper了。在这动荡的日子里,也希望写点东西让自己静一静。 恰好 前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下。在此也要特别感谢 顾志耐和 散沙 ,让我喜欢上了python。 什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的(这里不考虑含外生变量的时间序列)。 为什么用python    用 两个字总结“情怀”,爱屋及乌,个人比较喜欢python,就用python撸了。能做时间序列的软件很多,SAS、R、SPSS、Eviews甚至matlab等等,实际工作中应用得比较多的应该还是SAS和R,前者推荐 王燕写的《应用时间序列分析》,后者推荐“ 基于R语言的时间序列建模完整教程 ”这篇博文( 翻译版 )。python作为科学计算的利器,当然也有相关分析的包:statsmodels中tsa模块,当然这个包和SAS、R是比不了,但是python有另一个神器:pandas!pandas在时间序列上的应用,能简化我们很多的工作。 环境配置    python推荐直接装Anaconda,它集成了许多科学计算包,有一些包自己手动去装还是挺费劲的

Keras神经网络的学习与使用(2)

爱⌒轻易说出口 提交于 2019-11-28 10:35:54
Keras中函数与优化器的学习 激活函数 Sigmoid函数 防止梯度弥散现象的发生 Softmax激活函数 ReLU函数 Keras激活函数的使用 优化器 SGD优化器 学习率 Adadelta优化器 损失函数 均方误差 交叉熵损失函数 激活函数 机器学习模型的学习过程就是一个不断地通过数据集来修正自身数学模型中参数的过程。 引入激活函数可以增加神经网络模型的 非线性 ,以便增强对样本非线性关系的拟合能力。如果没有激活函数,那么神经网络的每一层都只相当于矩阵相乘,即便叠加了若干层,也只相当于将这些矩阵连续相乘而已。 激活函数有很多,例如ReLU、Sigmoid、tanh、elu等。 Sigmoid函数 Sigmoid激活函数是一个非线性函数,它的定义域可以是全体实数,而值域却是(0, 1)。也就是说,使用Sigmoid函数通常用在回归预测和二分类(即按照是否大于0.5进行分类)模型的输出层中。 Sigmoid函数的公式如下: S ( x ) = 1 1 + e − x S(x) = \frac{1}{1+e^{-x}} S ( x ) = 1 + e − x 1 ​ 该函数在python下画图 import numpy as np from math import * import matplotlib . pyplot as plt x = np . arange ( - 10