预测模型

文献阅读笔记 - Social Ways

匿名 (未验证) 提交于 2019-12-03 00:03:02
文献引用 Amirian J, Hayet J B, Pettre J. Social Ways: Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs[J]. 2019. 文章是继Social LSTM、Social GAN模型后的进一步提升,在理想的监控俯瞰数据库ETH、UCY上进行数据的预测。 重点贡献 有: 引入了注意力机制使模型自主分配对交互信息的关注。 增强模型对多合理轨迹的预测能力。 提供了一种能够验证各模型的多轨迹预测能力的小型合成场景和轨迹生成效果的判断指标。 如上图所示,文章的基本框架是GAN网络,在不考虑batch批处理的情况下,模型逐一为每个行人预测轨迹。 在Generator中,对于待预测行人 \(i\) ,首先会将所有行人的已知轨迹进行编码,而后基于 \(i\) 和其他行人之间的地理和运动信息,引入注意力机制使得模型对其他行人的交互信息自主适应。行人 \(i\) 的轨迹编码、注意力池化后的交互信息、噪音、latent code(新引入内容,之后会讲到)四种输入作为Decoder的输入,解码出行人 \(i\) 的预测轨迹。 在Discriminator中,会对生成轨迹/真实轨迹进行判别,判别的结果作为Generator/Discriminator的代价函数。

[Scene Graph] Knowledge-Embedded Routing Network for Scene Graph Generation 论文解读

匿名 (未验证) 提交于 2019-12-03 00:02:01
[Scene Graph] Knowledge-Embedded Routing Network for Scene Graph Generation (CVPR 2019) 论文解读 简介 这篇CVPR2019的论文解决的问题是 通过一张图像生成相对应的场景图 。场景图包括图像中 物体区域 、 区域标签 和 物体之间的关系 。由于作者发现物体和物体之间的关系有些是极为常见的而有些则不是很常见,这种关系分布的不均匀性导致在训练一个完备模型时需要大量的样本,因此将物体共存的统计学意义上的相关信息显式地引入到模型的训练中。这种做法可以有效的使语义空间正则化(即,很少见的物体间关系也可以在预测时凸显出来)并且可以准确的预测物体间的关系。文章中使用的网络模型属于GGNN门控图神经网络(Gated Graph Neural Network)被称为KERN(Knowledge-Embedded Routing Network),使用的数据集是Visual Genome。而且为了衡量该模型对不常见的物体关系的预测性,在常用的Recall@K度量方法基础上提出了一个mean Recall@K方法。 带着问题看论文 文章中提到的物体之间的相关性(statistical correlation/co-occurrence)是如何统计出来的? 所谓的statistical

TensorFlow 房价预测

匿名 (未验证) 提交于 2019-12-02 23:52:01
TensorFlow 房价预测 前置知识:监督学习(Supervised Learning) 监督学习是机器学习的一种方法,指从训练数据(输入和预期输出)中学到一个模型(函数), 并根据模型可以推断新实例的方法。 函数的输出通常为一个连续值(回归分析)或类别标签(分类)。 前置知识:监督学习典型算法 前置知识:线性回归 在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变   量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。 理想函数:

查全率(Recall),查准率(Precision),灵敏性(Sensitivity),特异性(Specificity),F1,PR曲线,ROC,AUC的应用场景

匿名 (未验证) 提交于 2019-12-02 23:52:01
之前介绍了这么多分类模型的性能评价指标( 《 分类模型的性能评价指标(Classification Model Performance Evaluation Metric) 》 ),那么到底应该选择哪些指标来评估自己的模型呢?答案是应根据应用场景进行选择。 查全率(Recall) :recall是相对真实的情况而言的:假设测试集里面有100个正类,如果模型预测出其中40个是正类,那模型的recall就是40%。查全率也称为 召回率 ,等价于 灵敏性(Sensitivity) 和 真正率(True Positive Rate,TPR) 。 查全率的应用场景 :需要尽可能地把所需的类别检测出来,而不在乎结果是否准确。比如对于地震的预测,我们希望每次地震都能被预测出来,这个时候可以牺牲precision。假如一共发生了10次地震,我们情愿发出1000次警报,这样能把这10次地震都涵盖进去(此时recall是100%,precision是1%),也不要发出100次警报,其中有8次地震给预测到了,但漏了2次(此时recall是80%,precision是8%)。 查准率(Precision) :precision是相对模型的预测结果而言的:假设模型一共预测出了100个正类,其中80个是正确的,那么precision就是80%。 查准率的应用场景 :需要尽可能地把所需的类别检测准确

应用深度神经网络预测学生期末成绩

匿名 (未验证) 提交于 2019-12-02 23:49:02
基本思路: 首先,将学生成绩(平时成绩x、期末成绩y:csv格式)装载; 接着,将成绩数据标准化。(PS:虽然这里的成绩已经[0~100]之间了,本文是为了学习DNN,故不省略这一步) 接着,将平时成绩x,期末成绩y进一步拆分(按比例,如20%)为训练数据和测试数据。PS:测试数据用来检验训练出的模型性能 接着,创建DNN模型。依次设置一系列的参数。 接着,训练模型(fit函数)。model1.fit(x_train, y_train) 接着,评估模型性能。用测试集数据评估,还可以用训练集数据。 如果性能不好,则调参(第四步) 先设置DNN每层计算方式,先设置每个隐层、最后设置输出层 + 隐层。设置参数:激活函数(Sigmoid、ReLU: Rectifier)、计算单元数量units + 输出层。Layer("Linear") 学习速率: learning_rate=0.02 random_rate = 2019 : 用来再现相同的数据 模型允许最大迭代次数:n_iter = 10

LSTM模型预测sin函数详解

匿名 (未验证) 提交于 2019-12-02 23:49:02
注解:fun_data()函数生成训练数据和标签,同时生成测试数据和测试标签HIDDEN_SIZE = 128,使用128维的精度来定义LSTM的状态和输出精度,就是LSTM中的h,c lstm_model()函数定义了一个可重入的模型,分别由评估函数和训练函数调用,在训练前使用空模型预测并输出未训练数据并可视化通过with tf.variable_scope("lstm_model",reuse=tf.AUTO_REUSE) as scope:定义了在多次实例化模型的时候共享训练结果run_eval()定义了评估函数:实现了训练及可视化结果 run_train()定义了训练函数:实现了训练过程。如果还要提高拟合精度可以把TRAINING_STEPS设大些,不过比较耗时,我的电脑比较老,感觉训练一千次拟合精度就很高了,再训练已经没意义了,呵呵。图一:还未训练之间的结果,拟合基本上不行图二:训练500-2000次基本就能很好的预测sin上的任何点了。 1 # LSTM预测sin曲线 2 #tensorflow 1.13.1 3 #numpy 1.16.2 4 import numpy as np 5 import tensorflow as tf 6 import matplotlib.pyplot as plt 7 plt.rcParams['font.sans-serif']=[

词向量

两盒软妹~` 提交于 2019-12-02 23:30:02
来源:https://www.numpy.org.cn/deep/basics/word2vec.html 词向量 本教程源代码目录在 book/word2vec ,初次使用请您参考 Book文档使用说明 。 # 说明 本教程可支持在 CPU/GPU 环境下运行 Docker镜像支持的CUDA/cuDNN版本 如果使用了Docker运行Book,请注意:这里所提供的默认镜像的GPU环境为 CUDA 8/cuDNN 5,对于NVIDIA Tesla V100等要求CUDA 9的 GPU,使用该镜像可能会运行失败; 文档和脚本中代码的一致性问题 请注意:为使本文更加易读易用,我们拆分、调整了 train.py 的代码并放入本文。本文中代码与train.py的运行结果一致,可直接运行train.py进行验证。 # 背景介绍 本章我们介绍词的向量表征,也称为word embedding。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。 在这些互联网服务里,我们经常要比较两个词或者两段文本之间的相关性。为了做这样的比较,我们往往先要把词表示成计算机适合处理的方式。最自然的方式恐怕莫过于向量空间模型(vector space model)。 在这种方式里,每个词被表示成一个实数向量(one-hot vector),其长度为字典大小

数字识别,神经网络

元气小坏坏 提交于 2019-12-02 23:29:07
来源:https://www.numpy.org.cn/deep/basics/fit_a_line.html 数字识别 本教程源代码目录在 book/recognize_digits ,初次使用请您参考 Book文档使用说明 。 # 说明: 硬件环境要求: 本文可支持在CPU、GPU下运行 Docker镜像支持的CUDA/cuDNN版本: 如果使用了Docker运行Book,请注意:这里所提供的默认镜像的GPU环境为 CUDA 8/cuDNN 5,对于NVIDIA Tesla V100等要求CUDA 9的 GPU,使用该镜像可能会运行失败。 文档和脚本中代码的一致性问题: 请注意:为使本文更加易读易用,我们拆分、调整了train.py的代码并放入本文。本文中代码与train.py的运行结果一致,可直接运行 train.py 进行验证。 # 背景介绍 当我们学习编程的时候,编写的第一个程序一般是实现打印"Hello World"。而机器学习(或深度学习)的入门教程,一般都是 MNIST 数据库上的手写识别问题。原因是手写识别属于典型的图像分类问题,比较简单,同时MNIST数据集也很完备。MNIST数据集作为一个简单的计算机视觉数据集,包含一系列如图1所示的手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个数字。每张图片都经过了大小归一化和居中处理。

集成学习算法——adaboost

前提是你 提交于 2019-12-02 23:08:29
  adaboost是boosting类集成学习方法中的一种算法,全称是adaptive boost,表示其是一种具有自适应性的算法,这个自适应性体现在何处,下面来详细说明。 1.adaboost算法原理   在boosting算法框架中,新的弱学习器是基于已有的弱学习器的输出结果生成的,已有的弱学习器产生的损失(用损失函数来评估)是固定的,而新的弱学习器的作用就是使得当前模型(包含它自身)损失尽可能减小,达到局部最优。   adboost算法关注的是样本的输出(这里有点废话了,每个模型关注的都是样本的输出结果),它通过赋予、调整每个样本的权重值,来调整样本在构建新弱学习器起到的作用,样本权重越大,则起到的作用越大。以二分类问题为例,若某个样本类别在当前预测错误,那么新的弱学习器将尽量保证它们的类别预测正确,下图 在弱学习器1中,样本s3被错误分类,那么在构造弱学习器2时,样本s3会被赋予较大的权重,样本s1、s2、s4被赋予较小的权重,也即是说弱学习器2将着力于将样本s3类别预测正确。 在弱学习器2中,样本s4的类别又被预测错误,同样的,样本s4权重提升。   样本的最终输出结果是每个弱学习器输出结果的线性加权组合。在adboost算法中,除了对样本赋予权重并自适应调整,还会给每个弱学习器赋予权重,这样adboost的最终输出可以表达为如下形式    其中

大作业

匿名 (未验证) 提交于 2019-12-02 23:03:14
一、boston房价预测 1. 读取数据集 #导入包 from sklearn.model_selection import train_test_split from sklearn.preprocessing import PolynomialFeatures import pandas as pd#导入数据集from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_split #波士顿房价数据集 data = load_boston() # 划分数据集 x_train, x_test, y_train, y_test = train_test_split(data.data,data.target,test_size=0.3) 3. 线性回归模型:建立13个变量与房价之间的预测模型,并检测模型好坏。 #建立模型 from sklearn.linear_model import LinearRegression LR = LinearRegression() LR.fit(x_train,y_train) print('系数:',LR.coef_,"截距:",LR.intercept_)   运行结果: #检测模型好坏 from sklearn.metrics