代码地址: https://github.com/vic-w/torch-practice/tree/master/linear-reg
神经网络是由很多逻辑回归的节点级联组成的。而所谓逻辑回归,就是一个线性变换连接一个Sigmoid函数。所以说线性回归是神经网络最基本的组成单元。
这里先介绍一下最简单的线性回归,也就是单输入单输出函数的拟合。它的效果等同于用最小二乘法在二维空间里拟合出一条直线。
X表示输入,Y是输出。他们的关系是Y=aX+b。其中a和b是两个可调的参数。
假设我们有一组x到y的映射。比如说x是2015年的月份,y是深圳当月房价均价。
X Y
1 28993
2 29110
3 29436
4 30791
5 33384
6 36762
7 39900
8 39972
9 40230
10 40146
我们认为这两个变量成线性关系y=ax+b(当然这只是假设)。
我们有了数据和模型,接下来我们要在Torch里面写一个程序来预测一下11月的房价是多少。
现在可以开始写程序了。
首先要包含一些必要的库。
require 'torch' --Torch本身
require 'nn' --神经网络
require 'gnuplot' --画图的库
然后把我们的数据写进torch的tensor数据类型里。月份是1到10,价格是十个数字。