pytorch学习笔记(一):线性模型

举报
zstar 发表于 2022/08/06 01:08:26 2022/08/06
【摘要】 y=x*w loss= (y_pred-y)^2 通过穷举法来穷举w,绘图可以查看到使Loss最小的w为2 (该方法提前知道w在0-4.1之间) import numpy as np import m...

y=x*w
loss= (y_pred-y)^2

通过穷举法来穷举w,绘图可以查看到使Loss最小的w为2
(该方法提前知道w在0-4.1之间)

import numpy as np
import matplotlib.pyplot as plt
x_data = [ 1.0 , 2.0 , 3.0]
y_data = [ 2.0 , 4.0 , 6.0]
def forward(x):
    return x * w
def loss(x, y):
    y_pred = forward(x)
    return (y_pred-y) * (y_pred-y)

w_list = []
mse_list = []
for w in np.arange( 0.0 , 4.1 , 0.1):
    print (' w=',w)
    l_sum = 0
    for x_val, y_val in zip (x_data, y_data):
        y_pred_val = forward(x_val)
        loss_val = loss(x_val, y_val)
        l_sum += loss_val
        print ('\t', x_val, y_val, y_pred_val, loss_val)
    print (' MSE=', l_sum / 3)
    w_list.append(w)
    mse_list.append(l_sum / 3)
plt.plot(w_list, mse_list)
plt.ylabel('Loss')
plt.xlabel('w')
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述

文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。

原文链接:zstar.blog.csdn.net/article/details/116565606

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。