深度学习笔记2torch实现线性回归

转自:http://www.aichengxu.com/view/2464032

代码地址: https://github.com/vic-w/torch-practice/tree/master/linear-reg



--使用神经网络模块的线性函数,一个输入一个输出,参数有w和b,这个是要优化的值

model = nn.Linear(1, 1)

 

--误差的评价指标是Mean Squared Error均方误差,优化使用的函数

criterion = nn.MSECriterion()

 

--循环1000次来修正误差,模拟修正过程

for i=1,1000 do

   --前向传播,模型通过输入数据计算输出数据

  price_predict = model:forward(month_train)

  --前向传播,前向计算误差,通过预测数据与实际数据的差值计算

  err = criterion:forward(price_predict, price_train)

  print(i,err)

  model:zeroGradParameters()

  --计算偏导数,后向传播

  gradient = criterion:backward(price_predict, price_train)

  --预测值的偏导数再反向推导出每个可调参数的偏导数

  model:backward(month_train, gradient)

  --更新参数,求出△w就可以更新了,给出了学习率

  model:updateParameters(0.01)

end

 

month_predict = torch.range(1,12)

--利用模型前向计算结果

local price_predict =model:forward(month_predict:reshape(12,1))

--画图

--gnuplot在itorch中好像没法使用

Plot = require 'itorch.Plot'

--画线,如果要画多条线的话就是用如下的方法,调用多个line函数,line函数的参数,横坐标,纵坐标是对应的点,画出来是折线

plot =Plot():line(month,price,'red','example'):line(month_predict:reshape(12),price_predict:reshape(12),'blue','predict'):legend(true):title('LinePlot Demo'):draw()


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值