Giới thiệu về học máy

Học máy (ML) là một trường con của trí tuệ nhân tạo (AI) tập trung vào việc tạo ra các hệ thống máy tính có thể học hỏi, thích ứng, dự đoán và tương quan, tất cả đều không cần tuân theo hướng dẫn rõ ràng.

Mục tiêu của học máy là hiểu và xử lý một lượng lớn dữ liệu bằng cách tận dụng các thuật toán và tạo ra các mô hình tổng quát có thể tạo ra kết quả đầu ra thân thiện với người dùng.

Học máy thường hoạt động bằng cách làm theo các bước dưới đây:

  1. Thu thập dữ liệu từ nhiều nguồn khác nhau
  2. Làm sạch dữ liệu để có tính đồng nhất
  3. Xây dựng mô hình bằng thuật toán ML
  4. Đạt được những hiểu biết sâu sắc từ kết quả của mô hình
  5. Trực quan hóa dữ liệu và chuyển đổi kết quả thành biểu đồ trực quan

1. Thu thập dữ liệu từ nhiều nguồn khác nhau

Học máy đòi hỏi nhiều dữ liệu để tạo ra một mô hình sẵn sàng sản xuất.

Việc thu thập dữ liệu cho ML được thực hiện theo hai cách: automatedmanual.

  • Thu thập dữ liệu tự động sử dụng các chương trình và tập lệnh lấy dữ liệu từ web.
  • Thu thập dữ liệu thủ công là quá trình thu thập dữ liệu theo cách thủ công và chuẩn bị một cách đồng nhất.

Thu thập dữ liệu tự động bằng cách sử dụng tính năng quét web bằng Python:

import requests
from bs4 import BeautifulSoup

# Scrape data from a website
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# Extract relevant information from the website
data = soup.find('div', class_='data-container').text
# Store the gathered data
with open('data.txt', 'w') as file:
    file.write(data)

2. Làm sạch dữ liệu để có tính đồng nhất

Đảm bảo tính đồng nhất của dữ liệu là một bước quan trọng để giúp máy học hoạt động và tạo ra kết quả.

Việc làm sạch dữ liệu cho ML được thực hiện thủ công hoặc tự động với sự trợ giúp của các thuật toán và bao gồm việc sửa và/hoặc xóa dữ liệu không chính xác, bị hỏng, bị định dạng sai, trùng lặp và không đầy đủ trong tập dữ liệu.

Làm sạch dữ liệu bằng Python và gấu trúc:

import pandas as pd

# Read data from a CSV file
data = pd.read_csv('data.csv')

# Remove duplicates
data = data.drop_duplicates()

# Fix missing values by filling with mean
data['column_name'].fillna(data['column_name'].mean(), inplace=True)

# Remove incorrect or corrupted data
data = data[data['column_name'] > 0]

# Save cleaned data to a new file
data.to_csv('cleaned_data.csv', index=False)

3. Xây dựng mô hình bằng thuật toán ML

ML (machine learning) model là một tệp chứa kết quả của các thuật toán machine learning và được dùng để suy luận về đầu vào động.

Mô hình ML (học máy) hoạt động bằng cách chứa danh sách các mẫu phù hợp với đầu vào theo thời gian thực, sau đó tạo ra đầu ra theo mẫu phù hợp.

Mô hình ML có thể có nhiều loại cấu trúc khác nhau, trong đó các loại phổ biến nhất là: phân loại nhị phân, phân loại nhiều lớp,hồi quy.

  • Mô hình phân loại nhị phân dự đoán kết quả nhị phân, nghĩa là một trong hai kết quả có thể xảy ra.
  • Mô hình phân loại nhiều lớp dự đoán một trong nhiều hơn hai kết quả.
  • Mô hình hồi quy dự đoán các giá trị số.

Quá trình xây dựng mô hình machine learning được gọi là training.

Đào tạo máy học được thực hiện với sự trợ giúp của các thuật toán và được chia thành hai loại: học có giám sáthọc không giám sát.

  • Học có giám sát (SL) là khi mô hình ML được huấn luyện bằng cách sử dụng dữ liệu được gắn nhãn, nghĩa là dữ liệu có cả giá trị đầu vào và đầu ra.
  • Học không giám sát (UL) là khi mô hình ML được đào tạo bằng cách sử dụng dữ liệu không được gắn nhãn, nghĩa là dữ liệu không có thẻ hoặc kết quả đã biết.

Mạng thần kinh (NN) là cốt lõi của học tập không giám sát và bao gồm ánh xạ giữa các dữ liệu trong tập dữ liệu, cho phép tạo ra mối tương quan.

Tạo mô hình phân loại nhị phân bằng thư viện scikit-learn của Python:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Load the dataset
X, y = load_dataset()

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Create a Logistic Regression model
model = LogisticRegression()

# Train the model
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, y_pred)

4. Đạt được những hiểu biết sâu sắc từ kết quả của mô hình

Đạt được những hiểu biết sâu sắc từ các mô hình ML có nghĩa là hiểu các mẫu chưa biết trước đó và kiểm tra khả năng đưa ra dự đoán và kết luận của mô hình.

Đạt được những hiểu biết sâu sắc là rất quan trọng để xác minh tính hợp lệ của mô hình và xác định xem có cần thực hiện bất kỳ thay đổi nào đối với (các) thuật toán học tập hay không.

Phân tích tầm quan trọng của tính năng trong mô hình được đào tạo bằng Python:

import matplotlib.pyplot as plt

# Get the feature importance scores
importances = model.coef_[0]

# Sort feature importance in descending order
sorted_indices = importances.argsort()[::-1]
sorted_importances = importances[sorted_indices]

# Plot the feature importance
plt.bar(range(len(sorted_importances)), sorted_importances)
plt.xticks(range(len(sorted_importances)), sorted_indices)
plt.xlabel('Feature Index')
plt.ylabel('Importance Score')
plt.title('Feature Importance')
plt.show()

5. Trực quan hóa dữ liệu và chuyển đổi kết quả thành biểu đồ trực quan

Trực quan hóa dữ liệu của mô hình ML bao gồm việc đưa dữ liệu đầu ra lên biểu đồ và cung cấp API tương tác.

Tạo biểu đồ phân tán các giá trị được dự đoán bằng Python:

import matplotlib.pyplot as plt

# Get the predicted values
y_pred = model.predict(X)

# Create a scatter plot
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Predicted Values')
plt.show()

Phần kết luận

Các ví dụ về mã ở trên minh họa cách triển khai thực tế cho từng bước trong học máy, từ thu thập và làm sạch dữ liệu đến xây dựng mô hình, hiểu biết sâu sắc và trực quan hóa dữ liệu.

Bài viết được đề xuất
Giới thiệu về trí tuệ nhân tạo
Sự khác biệt chính giữa AI và Học máy
Hướng dẫn cơ bản về máy tính xách tay dành cho nhà phát triển AI và ML
Học máy là gì?
AI trong an ninh mạng
Máy tính lượng tử sẽ ảnh hưởng đến AI như thế nào?
Vai trò của Machine Learning trong Web3