# -*- coding: utf-8 -*-# @Time : 2023/1/27 16:50# @Author : DueFireTop# @FileName: DeepLearningExe_1.py# @Software: PyCharm"""
Question:
x = 1, y = 2
x = 2, y = 4
x = 3, y = 6
x = 4, y = ?
How to solve it?
define a function:
y = x * w, and w is a random value, y is the predictive value, named y_pred
y_pred = x_data * w
define a loss:
loss = (y_pred - y_data) * (y_pred - y_data), y_data is the true value
define the MSE:
MSE = (1/N)[(y_pred_1 - y_data_1)^2 + (y_pred_2 - y_data_2)^2 + ... + (y_pred_N - y_data_N)^2]
"""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]defforward(x):return x * w
defloss(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=0for x_val, y_val inzip(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()
输出结果:
D:\workPlace\Anaconda\Anaconda3-2022.10-Windows-x86_64\program\anaconda3\envs\paddletorch\python.exe D:/workPlace/code/code-python/DeepLearningStudyEnvironment/01-LinearModel/DeepLearningExe_1.py
w =0.01.02.00.04.02.04.00.016.03.06.00.036.0
MSE =18.666666666666668
w =0.11.02.00.13.612.04.00.214.443.06.00.3000000000000000432.49
MSE =16.846666666666668
w =0.21.02.00.23.242.04.00.412.963.06.00.600000000000000129.160000000000004
MSE =15.120000000000003
w =0.300000000000000041.02.00.300000000000000042.88999999999999972.04.00.600000000000000111.5599999999999993.06.00.900000000000000126.009999999999998
MSE =13.486666666666665
w =0.41.02.00.42.56000000000000052.04.00.810.2400000000000023.06.01.200000000000000223.04
MSE =11.946666666666667
w =0.51.02.00.52.252.04.01.09.03.06.01.520.25
MSE =10.5
w =0.60000000000000011.02.00.60000000000000011.95999999999999972.04.01.20000000000000027.8399999999999993.06.01.800000000000000317.639999999999993
MSE =9.146666666666663
w =0.70000000000000011.02.00.70000000000000011.68999999999999952.04.01.40000000000000016.7599999999999983.06.02.115.209999999999999
MSE =7.886666666666666
w =0.81.02.00.81.442.04.01.65.763.06.02.400000000000000412.959999999999997
MSE =6.719999999999999
w =0.91.02.00.91.21000000000000022.04.01.84.8400000000000013.06.02.710.889999999999999
MSE =5.646666666666666
w =1.01.02.01.01.02.04.02.04.03.06.03.09.0
MSE =4.666666666666667
w =1.11.02.01.10.80999999999999982.04.02.23.23999999999999933.06.03.30000000000000037.289999999999998
MSE =3.779999999999999
w =1.20000000000000021.02.01.20000000000000020.63999999999999972.04.02.40000000000000042.55999999999999873.06.03.60000000000000055.759999999999997
MSE =2.986666666666665
w =1.31.02.01.30.489999999999999942.04.02.61.95999999999999973.06.03.90000000000000044.409999999999998
MSE =2.2866666666666657
w =1.40000000000000011.02.01.40000000000000010.35999999999999982.04.02.80000000000000031.43999999999999933.06.04.23.2399999999999993
MSE =1.6799999999999995
w =1.51.02.01.50.252.04.03.01.03.06.04.52.25
MSE =1.1666666666666667
w =1.61.02.01.60.159999999999999922.04.03.20.63999999999999973.06.04.8000000000000011.4399999999999984
MSE =0.746666666666666
w =1.70000000000000021.02.01.70000000000000020.08999999999999992.04.03.40000000000000040.35999999999999963.06.05.10000000000000050.809999999999999
MSE =0.4199999999999995
w =1.81.02.01.80.039999999999999982.04.03.60.159999999999999923.06.05.40.3599999999999996
MSE =0.1866666666666665
w =1.90000000000000011.02.01.90000000000000010.0099999999999999742.04.03.80000000000000030.03999999999999993.06.05.70.0899999999999999
MSE =0.046666666666666586
w =2.01.02.02.00.02.04.04.00.03.06.06.00.0
MSE =0.0
w =2.11.02.02.10.0100000000000000182.04.04.20.040000000000000073.06.06.3000000000000010.09000000000000043
MSE =0.046666666666666835
w =2.21.02.02.20.040000000000000072.04.04.40.160000000000000283.06.06.60000000000000050.36000000000000065
MSE =0.18666666666666698
w =2.30000000000000031.02.02.30000000000000030.090000000000000162.04.04.60000000000000050.360000000000000653.06.06.90.8100000000000006
MSE =0.42000000000000054
w =2.40000000000000041.02.02.40000000000000040.160000000000000282.04.04.8000000000000010.64000000000000113.06.07.2000000000000011.4400000000000026
MSE =0.7466666666666679
w =2.51.02.02.50.252.04.05.01.03.06.07.52.25
MSE =1.1666666666666667
w =2.61.02.02.60.36000000000000012.04.05.21.44000000000000043.06.07.8000000000000013.2400000000000024
MSE =1.6800000000000008
w =2.71.02.02.70.490000000000000272.04.05.41.9600000000000013.06.08.1000000000000014.410000000000006
MSE =2.2866666666666693
w =2.80000000000000031.02.02.80000000000000030.64000000000000052.04.05.60000000000000052.5600000000000023.06.08.45.760000000000002
MSE =2.986666666666668
w =2.90000000000000041.02.02.90000000000000040.81000000000000062.04.05.8000000000000013.24000000000000243.06.08.7000000000000017.290000000000005
MSE =3.780000000000003
w =3.01.02.03.01.02.04.06.04.03.06.09.09.0
MSE =4.666666666666667
w =3.11.02.03.11.21000000000000022.04.06.24.8400000000000013.06.09.310.890000000000004
MSE =5.646666666666668
w =3.21.02.03.21.44000000000000042.04.06.45.7600000000000023.06.09.60000000000000112.96000000000001
MSE =6.720000000000003
w =3.30000000000000031.02.03.30000000000000031.69000000000000062.04.06.60000000000000056.76000000000000253.06.09.915.210000000000003
MSE =7.886666666666668
w =3.40000000000000041.02.03.40000000000000041.9600000000000012.04.06.8000000000000017.8400000000000043.06.010.20000000000000117.640000000000008
MSE =9.14666666666667
w =3.51.02.03.52.252.04.07.09.03.06.010.520.25
MSE =10.5
w =3.61.02.03.62.56000000000000052.04.07.210.2400000000000023.06.010.823.040000000000006
MSE =11.94666666666667
w =3.71.02.03.72.89000000000000062.04.07.411.5600000000000023.06.011.10000000000000126.010000000000016
MSE =13.486666666666673
w =3.80000000000000031.02.03.80000000000000033.2400000000000012.04.07.600000000000000512.9600000000000043.06.011.429.160000000000004
MSE =15.120000000000005
w =3.90000000000000041.02.03.90000000000000043.6100000000000012.04.07.80000000000000114.4400000000000053.06.011.70000000000000132.49000000000001
MSE =16.84666666666667
w =4.01.02.04.04.02.04.08.016.03.06.012.036.0
MSE =18.666666666666668