크크루쿠쿠

DL01.Linear Model 본문

DeepLearning/공부

DL01.Linear Model

JH_KIM 2021. 1. 6. 01:05

 

 

Supervised learning → dataset에 y값 즉 답이 주어져 있을 경우의 학습!

 

Model design

방정식 형태로 w 라는 weight와 b라는 bias가 구성되어있음 → x와 y의 관계를 나타냄

예시에서는 간단히 b를 없애고 시작한다.

 

 

w를 임의로 추측한다.

MSE

 

 

학습시 나오는 loss를 나타내는 대표적인 function

loss가 최소가 되는 w를 찾아야함!!

N → all data 를 뜻한다.

 

앞의 예시에서의 MSE를 나타내는 표

 

 

 

 

 

 

 

 

예시 코드

 

 

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import numpy as np
import matplotlib.pyplot as plt
 
x_data = [1.02.03.0]
y_data = [2.04.06.0]
 
 
# our model for the forward pass
def forward(x):
    return x * w
 
 
# Loss function
def loss(x, y):
    y_pred = forward(x)
    return (y_pred - y) * (y_pred - y)
 
# List of weights/Mean square Error (Mse) for each input
w_list = []
mse_list = []
 
for w in np.arange(0.04.10.1):
    # Print the weights and initialize the lost
    print("w=", w)
    l_sum = 0
 
    for x_val, y_val in zip(x_data, y_data):
        # For each input and output, calculate y_hat
        # Compute the total loss and add to the total error
        y_pred_val = forward(x_val)
        l = loss(x_val, y_val)
        l_sum += l
        print("\t", x_val, y_val, y_pred_val, l)
    # Now compute the Mean squared error (mse) of each
    # Aggregate the weight/mse from this run
    print("MSE=", l_sum / len(x_data))
    w_list.append(w)
    mse_list.append(l_sum / len(x_data))
 
# Plot it all
plt.plot(w_list, mse_list)
plt.ylabel('Loss')
plt.xlabel('w')
plt.show()
cs

plt.show() 의 출력 결과.

w=2.0 일 경우 Loss가 최소임을 확인할 수 있다.

 

 

 

'DeepLearning > 공부' 카테고리의 다른 글

Prompt Engineering Guide 1. Introduction  (0) 2023.03.27
NLP 01.Text Classification  (0) 2021.01.21
DL04. Linear Regression in the PyTorch way  (0) 2021.01.13
DL03. Back-propagation 역전파  (0) 2021.01.09
DL02. Gradient Descent  (0) 2021.01.06
Comments