π 211220_DL_(2)(3)
x_data=[1,2,3]
y_data=[1,2,3]
def cost(x, y, w):
c=0
for i in range (len(x)):
hx=w*x[i]
c= c+(hx-y[i])**2
return c/len(x)
w λ κΈ°μΈκΈ° (κ°νΈνκ² νκΈ° μν΄μ μ νΈμ μλ΅μ€) y=ax νμ
print(cost(x_data, y_data, -1))
print(cost(x_data, y_data, 0))
print(cost(x_data, y_data, 1))
print(cost(x_data, y_data, 2))
print(cost(x_data, y_data, 3))
18.666666666666668
4.666666666666667
0.0
4.666666666666667
18.666666666666668
β wκ° 1μΌλ costκ° κ°μ₯ μ μ κ²μ μ μ μμ
for w in np.linspace(-3, 5, 50):
c=cost(x_data, y_data,w)
print("w=",w, "cost",c)
plt.plot(w,c,'ro')
plt.xlabel("w")
plt.ylabel('cost')
plt.show()
w= -3.0 cost 74.66666666666667
w= -2.836734693877551 cost 68.69582118561709
w= -2.673469387755102 cost 62.97376093294461
w= -2.510204081632653 cost 57.500485908649175
.
.
.
w= 4.673469387755102 cost 62.97376093294459
w= 4.836734693877551 cost 68.69582118561709
w= 5.0 cost 74.66666666666667