Rate this post

Việc đào tạo mô hình perceptron tương tự như mô hình hồi quy tuyến tính. Chúng tôi khởi tạo mô hình thần kinh của mình, mô hình này có hai nút đầu vào trong lớp đầu vào và một nút đầu ra duy nhất có chức năng kích hoạt sigmoid. Khi chúng tôi vẽ mô hình của mình với dữ liệu, chúng tôi nhận thấy rằng nó không phù hợp với dữ liệu của chúng tôi. Chúng ta cần huấn luyện mô hình này để mô hình có các thông số trọng lượng và độ chệch tối ưu và phù hợp với dữ liệu này.

Các bài viết liên quan:

Có các bước sau để đào tạo một mô hình:

Bước 1

Trong bước đầu tiên, tiêu chí mà chúng tôi sẽ tính toán sai số của mô hình của chúng tôi là thu hồi entropy chéo. Hàm tổn thất của chúng tôi sẽ được đo trên cơ sở tổn thất entropy chéo nhị phân (BCELoss) bởi vì chúng tôi chỉ xử lý hai lớp. Nó được nhập từ mô-đun nn.

criterion=nn.BCELoss()  

Bước 2

Bây giờ, bước tiếp theo của chúng tôi là cập nhật các thông số bằng trình tối ưu hóa. Vì vậy, chúng tôi xác định trình tối ưu hóa được sử dụng thuật toán giảm độ dốc (stochastic gradient descent).

optimizer=torch.optim.SGD(model.parameters(),lr=0.01)  

Bước 3

Bây giờ, chúng tôi sẽ đào tạo mô hình của mình cho một số kỷ nguyên cụ thể như chúng tôi đã làm trong mô hình tuyến tính. Vì vậy, mã sẽ tương tự như mô hình tuyến tính như

epochs=1000  
losses=[]  
fori in range(epochs):  
    ypred=model.forward(xdata)  
    loss=criterion(ypred,ydata)  
    print("epoch:",i,"loss:",loss.item())  
    losses.append(loss)  
    optimizer.zero_grad()  # Set the gradient to zero  
    loss.backward() #To compute derivatives   
    optimizer.step()    # Update the parameters   

Bây giờ, cuối cùng chúng ta vẽ biểu đồ mô hình tuyến tính mới của mình bằng cách gọi phương thức plotfit ().

plotfit('Trained Model')  

Leave a Reply

Call now
%d bloggers like this: