[翻译]用神经网络做回归(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官网,还 ...
随机推荐
- java面试准备之基础排序——冒泡与选择排序
选择排序: [java] public void select(int[] arr){ for(int i=0;i<arr.length;i++){ ...
- c#读取文本文档实践4-读入到list泛型集合计算后写入新文档
商品 数量 单价英语 66 100语文 66 80数学 66 100化学 66 40物理 66 60 上面截图是要处理的文本文档内容,目的是计算出总价并加在最后一列. 这一篇与上一篇比较类似,目的相同 ...
- 【matlab】用matlab 保存带标记图像、图片的方法总结
最近看了一些用matlab对图形图片进行保存的帖子和资源,关于图像保存的方法给大家分享一下这些方法是大家所使用方法的一个总结. 如今常用的方法有三种printf,imwrite,saveas下面分别介 ...
- 设计模式之二:MVC
模型(Model) 视图(View) 控制器(Controller) (MVC) 是 Cocoa 中的一种行为模块,并且也是所有 Cocoa 设计模式中使用最多的.在程序中按照它们的角色来分类这些对象 ...
- SharePoint 2013 开发——其他社交功能
博客地址:http://blog.csdn.net/FoxDave 上一篇讲了如何获取用户配置文件的相关属性,它属于SharePoint 2013社交功能的一个小的构成部分.社交功能是SharePoi ...
- GFT_News Auto
using AnfleCrawler.Common; using Newtonsoft.Json.Linq; using System; using System.Collections.Generi ...
- 性能测试报告的指标选择、数据选择和分析的参考【以Apache AB test为例】
前几天尝试用loadrunner初试了一下性能测试,对于如何选择数据.生成数据后如何分析很是迷惑,刚刚翻看一篇网友的博客,很有条理,特此记录一下,以供参考 转自: http://liriguang.i ...
- github常见操作和常见错误!错误提示:fatal: remote origin already exists.
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- vs2012 vs2010 opencv2.4.7配置
http://blog.csdn.net/xiaohanstu/article/details/45309149?utm_source=tuicool <pre name=.7配置 .配置 () ...
- 测试api代码,简单的接口测试代码
http://www.oschina.net/code/snippet_1408874_43829 <html lang="zh-CN"> <head> ...