当前位置:网站首页>Lecture 2 Linear Model Linear Model
Lecture 2 Linear Model Linear Model
2022-08-05 05:23:00 【A long way to go】
参考资料
- 一句话解释numpy.meshgrid()
- matplotlib教程之——Custom profiles and drawing styles(rcParams和style)
- python中zip()函数的用法
- matplotlib之plot()详解
- matplotlib 3D绘图警告
课堂练习
实现线性模型y=wx的平面图
import numpy as np
import matplotlib.pyplot as plt
#保存数据集,The same index is a sample
x_data = [1.0, 2.0, 3.0]
y_data = [2.0, 4.0, 6.0]
#Feedforward of the model
def forward(x):
return x * w
#损失函数
def loss(x, y):
y_pred = forward(x) #According to the feedforward requirementy_hat
return (y_pred - y) ** 2 #计算损失
# 穷举法
w_list = [] #权重
mse_list = [] #The loss value corresponding to the weight
for w in np.arange(0.0, 4.1, 0.1):
print("w=", w)
l_sum = 0
#从x_data, y_data取出x_val, y_val
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('x_val==', x_val, 'y_val==',y_val, 'y_pred_val==',y_pred_val,'loss_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()
pattern trace
课后练习
实现线性模型(y=wx+b)并输出loss的3D图像
There are several issues that need to be addressed here
1.w,b的取值
in previous class practice,只需要取一个w,因此可以用for循环取值.Correction is required in the exercises after classw,bTwo values for value operation,因此要使用meshgrid函数
2.Images cannot be displayed in Chinese
Add in front
from pylab import * mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
3.matplotlib 3D绘图警告
matplotlib 3D绘图警告
Code for homework exercises:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
#Here the function is set to y=3x+2
x_data = [1.0,2.0,3.0]
y_data = [5.0,8.0,11.0]
def forward(x):
return x * w + b
def loss(x,y):
y_pred = forward(x)
return (y_pred-y)*(y_pred-y)
mse_list = []
W=np.arange(0.0,4.1,0.1)
B=np.arange(0.0,4.1,0.1)
w,b=np.meshgrid(W,B)
# print("w==",w)
# print('b==',b)
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)
print('x_val==', x_val,'\ny_val==', y_val,'\ny_pred_val==', y_pred_val, '\nloss_val==',loss_val)
l_sum += loss_val
fig = plt.figure()
ax = Axes3D(fig,auto_add_to_figure=False)
fig.add_axes(ax)
ax.plot_surface(w, b, l_sum/3)
ax.set_xlabel("权重 W")
ax.set_ylabel("偏置项 B")
ax.set_zlabel("损失值")
plt.show()
3D图:
边栏推荐
猜你喜欢
Flutter 父子组件如何都能收到点击事件
Structured light 3D reconstruction (1) Striped structured light 3D reconstruction
【过一下14】自习室的一天
逆向理论知识4
RL强化学习总结(一)
第四讲 反向传播随笔
2022杭电多校第一场01
Structured Light 3D Reconstruction (2) Line Structured Light 3D Reconstruction
The mall background management system based on Web design and implementation
[Study Notes Dish Dog Learning C] Classic Written Exam Questions of Dynamic Memory Management
随机推荐
Distributed systems revisited: there will never be a perfect consistency scheme...
MySQL中控制导出文件后变为了\N有什么解决方案吗?
LAB Semaphore Implementation Details
Judgment statement _switch and case
[cesium] 3D Tileset model is loaded and associated with the model tree
human weakness
The difference between span tag and p
Multi-threaded query results, add List collection
Database experiment five backup and recovery
phone call function
UVA10827
vscode+pytorch使用经验记录(个人记录+不定时更新)
多线程查询结果,添加List集合
第二讲 Linear Model 线性模型
【cesium】Load and locate 3D Tileset
【技能】长期更新
Flutter learning 5-integration-packaging-publish
uva1325
Error creating bean with name 'configDataContextRefresher' defined in class path resource
人性的弱点