Khả năng giải thích trong mô hình tuyến tính

Explainable AI trong Python

Fouad Trad

Machine Learning Engineer

Mô hình tuyến tính

Hồi quy tuyến tính
  • Dự đoán giá trị liên tục

Hình một đường khớp nhiều điểm; trục x là điểm kiểm tra, trục y là xác suất trúng tuyển.

Explainable AI trong Python

Mô hình tuyến tính

Hồi quy tuyến tính
  • Dự đoán giá trị liên tục

Hình một đường khớp nhiều điểm; trục x là điểm kiểm tra, trục y là xác suất trúng tuyển.

Hồi quy logistic
  • Dùng cho phân loại nhị phân

Hình một đường phân tách các điểm dữ liệu là giao dịch theo số tiền và thời điểm thực hiện.

Explainable AI trong Python

Vì sao mô hình tuyến tính dễ giải thích?

  • Học tổ hợp tuyến tính của các đặc trưng đầu vào
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

Hình hai đồ thị hồi quy tuyến tính và logistic như trước, kèm phương trình mỗi mô hình học: hồi quy tuyến tính học dạng Giá điện thoại=푐_0+푐_1∗Bộ nhớ, hồi quy logistic học dạng 푐_0+푐_1∗Thời điểm+푐_2∗Số tiền giao dịch=0

Explainable AI trong Python

Hệ số

  • Cho biết mức độ quan trọng của từng đặc trưng
    • Giá trị tuyệt đối lớn hơn → quan trọng hơn
    • Giá trị tuyệt đối nhỏ hơn → kém quan trọng hơn
  • So sánh hệ số → dùng giá trị tuyệt đối
  • Lưu ý: Chuẩn hóa thang đo đặc trưng trước khi tính hệ số

Hình phương trình Giá điện thoại=푐_0+5∗Bộ nhớ+2∗Số ống kính, làm nổi bật các hệ số

Explainable AI trong Python

Hệ số

  • Cho biết mức độ quan trọng của từng đặc trưng
    • Giá trị tuyệt đối lớn hơn → quan trọng hơn
    • Giá trị tuyệt đối nhỏ hơn → kém quan trọng hơn
  • So sánh hệ số → dùng giá trị tuyệt đối
  • Lưu ý: Chuẩn hóa thang đo đặc trưng trước khi tính hệ số

Hình minh họa phương trình Giá điện thoại=𝑐_0+𝑐_1∗Bộ nhớ+c_2∗Số ống kính, nhấn mạnh Bộ nhớ thường ở hàng trăm đến hàng nghìn GB, còn số ống kính thường < 4.

Explainable AI trong Python

Tuyển sinh

Điểm GRE Điểm TOEFL Xếp hạng trường SOP LOR CGPA Xác suất trúng tuyển Chấp nhận
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0
X_train = data.drop(['Chance of Admit', 'Accept'], axis=1)

y_reg = data['Chance of Admit']
y_cls = data['Accept']
Explainable AI trong Python

Huấn luyện mô hình

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LinearRegression, LogisticRegression


scaler = MinMaxScaler() X_train_scaled = scaler.fit_transform(X_train)
lin_reg = LinearRegression() lin_reg.fit(X_train_scaled, y_reg)
log_reg = LogisticRegression() log_reg.fit(X_train_scaled, y_cls)
Explainable AI trong Python

Tính hệ số

Hồi quy tuyến tính
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
Hồi quy logistic
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Explainable AI trong Python

Trực quan hóa hệ số

Hồi quy tuyến tính
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

Biểu đồ cột thể hiện CGPA và điểm GRE là đặc trưng quan trọng nhất.

Hồi quy logistic
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

Biểu đồ cột thể hiện CGPA và điểm GRE là đặc trưng quan trọng nhất.

Explainable AI trong Python

Ayo berlatih!

Explainable AI trong Python

Preparing Video For Download...