[翻译]用神经网络做回归(Using Neural Networks With Regression)
本文英文原文出自这里, 这个博客里面的内容是Java开源, 分布式深度学习项目deeplearning4j的介绍学习文档.
简介:
一般来说, 神经网络常被用来做无监督学习, 分类, 以及回归. 也就是说, 神经网络可以帮助对未标记数据进行分组, 对数据进行分类, 或者在有监督训练之后输出连续的值. 典型的神经网络在分类方面的应用, 会在网络的最后一层使用逻辑回归分类器(之类)的将连续(continue)的值转换成为离散值如: 0/1, 比如, 给定一个人的身高, 体重, 以及年龄, 你可以给出它有心脏病或者没有心脏病的判断. 而真正的回归是将一组连续的输入映射到另一组连续的输出.
例如, 给定一座房子的房龄, 面积, 以及到一所好学校的距离, 你将对这座房子的价格进行预测: 这就是连续型输入映射到连续性输出. 这里面没有分类任务中的0/1, 而仅仅是将独立变量 x 映射到连续的输出y.
NN-Regression结构:
在上图中, x表示输入, 特征在网络前面的层进行前向传播, 很多x's与最后隐层的每个神经元相连接, 每个x将会乘上一个相应的权重w. 这些乘积之和再加上一个偏置, 被送到一个激活函数ReLU(=max(x,0)), 这个一个被广泛应用的激活函数, 它不会像sigmoid激活函数那样出现饱和. 对于每个隐层神经元, ReLUctant输入一个激活值a, 在网络的输出节点, 计算这些激活值之和作为最后的输出. 也就是说, 利用神经网络来做回归将有一个输出节点, 而且这个节点仅是对前面节点的激活值进行相加. 得到的 ŷ就是由你所有的x映射得到的独立变量.
训练过程:
为了进行网络的反向传播以及网络的训练, 你可以简单地使用网络的输出ŷ与真实值y进行比较, 通过调整权重和偏置使得网络的error达到最小. 可以使用Root-means-squared-error(RMSE)作为loss函数.
可以使用Deeplearning4j来建立多层神经网络, 在网络的最后增加一个输出层, 具体的代码参考如下:
//Create output layer
.layer()
.nIn($NumberOfInputFeatures)
.nOut()
.activationFunction('identity')
.lossFunction(LossFunctions.LossFunction.RMSE)
其中, nOut输出层的神经元数目, nIn为特征向量的维度, 在上图中, 这应该设置为4, activationFunction应该被设置为'identity'.
我的问题:
- 如果要输出多个值, 怎么做? 训练多个模型?
- 还有没有其他的方式做回归?
[翻译]用神经网络做回归(Using Neural Networks With Regression)的更多相关文章
- AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks
ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...
- 论文翻译:2018_Source localization using deep neural networks in a shallow water environment
论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...
- 深度神经网络入门教程Deep Neural Networks: A Getting Started Tutorial
Deep Neural Networks are the more computationally powerful cousins to regular neural networks. Learn ...
- 卷积神经网络用于视觉识别Convolutional Neural Networks for Visual Recognition
Table of Contents: Architecture Overview ConvNet Layers Convolutional Layer Pooling Layer Normalizat ...
- 机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)
原文链接:https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/ 神经 ...
- 强化学习之二:Q-Learning原理及表与神经网络的实现(Q-Learning with Tables and Neural Networks)
本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译.(This article is my personal translation for the tutor ...
- 卷积神经网络(Convolutional Neural Networks)CNN
申明:本文非笔者原创,原文转载自:http://www.36dsj.com/archives/24006 自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural ...
- 一目了然卷积神经网络 - An Intuitive Explanation of Convolutional Neural Networks
An Intuitive Explanation of Convolutional Neural Networks 原文地址:https://ujjwalkarn.me/2016/08/11/intu ...
- 利用Caffe做回归(regression)
Caffe应该是目前深度学习领域应用最广泛的几大框架之一了,尤其是视觉领域.绝大多数用Caffe的人,应该用的都是基于分类的网络,但有的时候也许会有基于回归的视觉应用的需要,查了一下Caffe官网,还 ...
随机推荐
- 启动本地Oracle
net start OracleOraDb10g_home1TNSListenernet start OracleServiceORCL第一个是监听服务第二个是数据库服务
- 使用url下载网络图片以及流介绍
使用url下载网络图片的时候,首先需要建立一个URL对象,然后使用一个输入流获取该URL中的内容.之后使用读取该输入流的内容,使用一个输出流写到本地文件中.最后关闭输入和输出流.下面是一个简单的下载代 ...
- Enable SSHD on Ubuntu
https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
- 【转】局域网内访问VS2012 调试的IIS Express web服务器
1.修改发布项目的web属性 2.在我的文档中打开IISExpress\config\applicationhost.config 加上下面的一句 3.重启调试 转自:http://blog.chin ...
- jsp无法引入外部.JS或者.CSS文件的有关问题 (转)
<!-- *************JSP代码******************--> <%@ page language="java" pageEncodin ...
- SOA的概念
面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中 ...
- ios学习之路
整合网络资源和自己的实际经验,表述于此. 1 Xcode详解 非常实用的xcode介绍,详情请见外部链接http://demo.netfoucs.com/shulianghan/article/det ...
- ES6 - for...of
for...of是一种用来遍历数据结构的方法,可遍历的对象包括:数组,对象,字符串,节点数组等 我们先来看一下现在存在的遍历方式: var arr=[1,2,3,4] (1)for循环 缺点:代码不够 ...
- 2016.1.4~2016.1.7真题回顾!-- HTML5学堂
2016.1.4~2016.1.7真题回顾!-- HTML5学堂 2015悄然而逝,崭新的2016随即而行!生活需要新鲜感,学习JavaScript的过程需要有成就感!成就感又是来自于每一天的不断练习 ...
- jquery选择器之基本筛选器
HTML示例代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...