Rate this post

Trong phần này, chúng tôi đã giới thiệu ngắn gọn cách triển khai thuật toán dựa trên Machine Learning để đào tạo mô hình tuyến tính để phù hợp với một tập hợp các điểm dữ liệu.

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

Vì mục đích này, không cần phải có bất kỳ kiến ​​thức nào về học sâu. Chúng ta sẽ bắt đầu với cuộc thảo luận về học có giám sát. Chúng ta sẽ thảo luận về khái niệm học tập có giám sát và nó liên quan đến nó như thế nào.

Machine Learning

Machine Learning là một ứng dụng của AI. ML (Machine Learning) cung cấp cho hệ thống khả năng học hỏi và cải thiện với sự trợ giúp của kinh nghiệm một cách tự động. ML tập trung vào việc phát triển các chương trình máy tính có thể truy cập dữ liệu và sử dụng nó để tự học.

Quá trình học tập bắt đầu với dữ liệu hoặc quan sát, chẳng hạn như ví dụ, hướng dẫn hoặc kinh nghiệm trực tiếp, để tìm kiếm các mẫu trong dữ liệu và đưa ra quyết định tốt hơn trong tương lai dựa trên các ví dụ mà chúng tôi cung cấp. Mục đích của nó là cho phép máy tính học tự động mà không cần sự can thiệp của con người và điều chỉnh các hành động cho phù hợp.

Supervised Learning

Như tên cho biết về sự hiện diện của một người giám sát như một giáo viên. Trong học tập có giám sát, chúng tôi đào tạo hoặc dạy máy bằng cách sử dụng dữ liệu được gắn nhãn tốt. Được gắn nhãn tốt có nghĩa là một số dữ liệu đã được gắn thẻ với câu trả lời đúng. Sau đó, máy được cung cấp một bộ dữ liệu mới. Thuật toán học tập có giám sát phân tích dữ liệu đào tạo và tạo ra kết quả chính xác từ dữ liệu được gắn nhãn.

Học tập có giám sát được phân loại thành hai loại thuật toán lớn:

  • Classification: Vấn đề phân loại là một vấn đề khi biến đầu ra hoặc đơn giản là đầu ra là một danh mục như “đỏ” hoặc “xanh” hoặc “có bệnh hoặc không có bệnh”.
  • Regression: Vấn đề hồi quy là một vấn đề khi biến đầu ra hoặc đơn giản là đầu ra là một giá trị thực hoặc liên tục, chẳng hạn như “tiền lương” hoặc “trọng lượng”.

Unsupervised Learning

Trong học tập không giám sát, máy được đào tạo bằng cách sử dụng thông tin không được phân loại cũng như không được gắn nhãn và cho phép thuật toán hoạt động trên thông tin đó mà không cần hướng dẫn. Trong học tập không giám sát, nhiệm vụ là nhóm thông tin không được sắp xếp theo những điểm tương đồng, khác biệt và mẫu mà không cần đào tạo trước về dữ liệu.

Không có người giám sát, đồng nghĩa với việc máy sẽ không được đào tạo. Vì vậy, máy bị hạn chế tự tìm ra cấu trúc ẩn.

Học không giám sát được phân loại thành hai loại thuật toán lớn:

Clustering: Vấn đề phân cụm là một vấn đề mà chúng ta phải khám phá các nhóm vốn có trong dữ liệu. Chẳng hạn như phân nhóm học sinh theo khóa học hoặc hành vi lứa tuổi.

Association: Một vấn đề liên kết là một vấn đề mà chúng ta phải tìm ra các quy tắc mô tả một phần lớn dữ liệu của chúng ta, chẳng hạn như những người mua táo cũng muốn mua chuối.

Making Prediction (Creating Data Model)

Đưa ra dự đoán là bước đầu tiên của việc lập mô hình hồi quy tuyến tính. Trong mô hình hồi quy tuyến tính, chúng tôi sử dụng học có giám sát vì hồi quy là phạm trù rộng thứ hai của nó. Vì vậy, người học được đào tạo và sử dụng các tập dữ liệu được liên kết với các tính năng được gắn nhãn để xác định ý nghĩa của dữ liệu đào tạo của chúng tôi.

Người học có thể dự đoán đầu ra tương ứng trước khi đưa dữ liệu mới nhập vào máy.

Các bước để tìm dự đoán

  • Bước đầu tiên là cài đặt mỏ hàn và nhập nó để hoạt động với nó.
  • Bước tiếp theo là khởi tạo biến c và c để biết phương trình của một đường.
  • Khởi tạo phương trình đường thẳng sao cho y = w * x + b, ở đây w là dốc và b là số hạng chệch, và y là dự đoán.
  • Dự đoán được tính toán bên trong phương thức forward ().

Hãy xem một ví dụ để hiểu cách dự đoán được thực hiện trong hồi quy tuyến tính.

import torch  
b=torch.tensor(3.0,requires_grad=True)  
c=torch.tensor(1.0,requires_grad=True)  
def forward(x):  
       y=b*x+c  
       return y  
x=torch.tensor([4.0])  
forward(x)  

Đầu ra:

import torch  
b=torch.tensor(3.0,requires_grad=True)  
c=torch.tensor(1.0,requires_grad=True)  
def forward(x):  
       y=b*x+c  
       return y  
x=torch.tensor([[4.0],[5.0],[6.0]])  
forward(x)  

Dự đoán bằng cách sử dụng lớp tuyến tính

Có một cách chuẩn khác để dự đoán ràng buộc. Đối với điều này, chúng ta phải nhập lớp tuyến tính của gói torch.nn. Trong điều này, chúng tôi sử dụng phương thức manual_seed () để tạo các số ngẫu nhiên. Khi chúng ta đang tạo một mô hình với lớp tuyến tính, nó sẽ được cung cấp các giá trị số ngẫu nhiên cho lớp tuyến tính, điều này có ý nghĩa kể từ khi thu hồi.

Hãy xem một ví dụ về cách thực hiện dự đoán với mô hình và phương thức manual_seed ().

import torch  
from torch.nn import Linear  
torch.manual_seed(1)  
model=Linear(in_features=1,out_features=1)  
print(model.bias,model.weight)  
x=torch.tensor([2.0])  
print(model(x))  

Đối với nhiều dữ liệu

import torch  
from torch.nn import Linear  
torch.manual_seed(1)  
model=Linear(in_features=1,out_features=1)  
print(model.bias,model.weight)  
x=torch.tensor([[2.0],[4.0],[6.0]])  
print(model(x))  

Leave a Reply

Call now
%d bloggers like this: