Làm thế nào để triển khai hồi quy tuyến tính cho học máy?



Bài viết này đề cập đến khái niệm hồi quy tuyến tính cho học máy với các thuật ngữ khác nhau và một trường hợp sử dụng để thực hiện hồi quy tuyến tính.

Trọng tâm của xoay quanh các biến đầu vào và đầu ra bằng cách sử dụng một thuật toán để dự đoán kết quả. Nếu một biến đầu vào mới xuất hiện trong bức tranh. Thuật toán hồi quy tuyến tính trong là một kỹ thuật học có giám sát để tính gần đúng hàm ánh xạ để có được những dự đoán tốt nhất. Trong bài này, chúng ta sẽ tìm hiểu về hồi quy tuyến tính cho học máy. Các chủ đề sau đây được thảo luận trong blog này.

Hồi quy là gì?

Mục tiêu chính của hồi quy là xây dựng một mô hình hiệu quả để dự đoán các thuộc tính phụ thuộc từ một loạt các biến thuộc tính. Một vấn đề hồi quy là khi biến đầu ra là giá trị thực hoặc giá trị liên tục, tức là tiền lương, trọng lượng, diện tích, v.v.





Chúng ta cũng có thể định nghĩa hồi quy như một phương tiện thống kê được sử dụng trong các ứng dụng như nhà ở, đầu tư, v.v. Nó được sử dụng để dự đoán mối quan hệ giữa một biến phụ thuộc và một loạt các biến độc lập. Chúng ta hãy xem xét các loại kỹ thuật hồi quy khác nhau.

hồi quy tuyến tính ví dụ trong học máy - edureka

Các loại hồi quy

Sau đây là các loại hồi quy.



  1. Hồi quy tuyến tính cơ bản
  2. Hồi quy đa thức
  3. Hỗ trợ hồi quy vectơ
  4. Hồi quy cây quyết định
  5. Hồi quy rừng ngẫu nhiên

Hồi quy tuyến tính cơ bản

Một trong những kỹ thuật hồi quy thú vị và phổ biến nhất là hồi quy tuyến tính đơn giản. Trong điều này, chúng ta dự đoán kết quả của một biến phụ thuộc dựa trên các biến độc lập, mối quan hệ giữa các biến là tuyến tính. Do đó, từ hồi quy tuyến tính.

Hồi quy đa thức

Trong kỹ thuật hồi quy này, chúng tôi biến đổi các đặc trưng ban đầu thành các đặc trưng đa thức của một bậc nhất định và sau đó thực hiện hồi quy trên đó.

Hỗ trợ hồi quy vectơ

Đối với hồi quy hoặc SVR, chúng tôi xác định một siêu phẳng có lề tối đa sao cho số điểm dữ liệu tối đa nằm trong các lề đó. Nó khá giống với thuật toán phân loại máy vector hỗ trợ.



sort () c ++

Hồi quy cây quyết định

ĐẾN có thể được sử dụng cho cả hồi quy và . Trong trường hợp hồi quy, chúng tôi sử dụng thuật toán ID3 (Iterative Dichotomiser 3) để xác định nút tách bằng cách giảm độ lệch chuẩn.

Hồi quy rừng ngẫu nhiên

Trong hồi quy rừng ngẫu nhiên, chúng tôi tập hợp các dự đoán của một số hồi quy cây quyết định. Bây giờ chúng ta đã biết về các loại hồi quy khác nhau, chúng ta hãy xem xét chi tiết hồi quy tuyến tính đơn giản.

Hồi quy tuyến tính là gì?

Hồi quy tuyến tính đơn giản là một kỹ thuật hồi quy trong đó biến độc lập có mối quan hệ tuyến tính với biến phụ thuộc. Đường thẳng trong sơ đồ là đường phù hợp nhất. Mục tiêu chính của hồi quy tuyến tính đơn giản là xem xét các điểm dữ liệu đã cho và vẽ đường phù hợp nhất để phù hợp với mô hình theo cách tốt nhất có thể.

Trước khi chuyển sang cách hoạt động của thuật toán hồi quy tuyến tính, chúng ta hãy xem xét một vài thuật ngữ quan trọng trong hồi quy tuyến tính đơn giản.

Thuật ngữ hồi quy tuyến tính

Các thuật ngữ sau đây rất quan trọng cần làm quen trước khi chuyển sang thuật toán hồi quy tuyến tính.

Chức năng ước lượng

Đường phù hợp nhất có thể dựa trên phương trình tuyến tính được đưa ra dưới đây.

  • Biến phụ thuộc sẽ được dự đoán được ký hiệu là Y.
  • Một đường tiếp xúc với trục y được biểu thị bằng điểm giao nhau b0.
  • bmộtlà hệ số góc của đường thẳng, x đại diện cho các biến độc lập xác định dự đoán của Y.
  • Sai số trong dự đoán kết quả được ký hiệu là e.

Hàm chi phí cung cấp các giá trị tốt nhất có thể cho b0và Bmộtđể tạo dòng phù hợp nhất cho các điểm dữ liệu. Chúng tôi thực hiện bằng cách chuyển bài toán này thành bài toán giảm thiểu để nhận được các giá trị tốt nhất cho b0và Bmột. Sai số được giảm thiểu trong bài toán này giữa giá trị thực và giá trị dự đoán.

Chúng tôi chọn chức năng trên để giảm thiểu lỗi. Chúng tôi bình phương chênh lệch lỗi và tính tổng lỗi trên tất cả các điểm dữ liệu, phép chia giữa tổng số điểm dữ liệu. Sau đó, giá trị được tạo ra cung cấp sai số bình phương trung bình trên tất cả các điểm dữ liệu.

Nó còn được gọi là MSE (Mean Squared Error), và chúng tôi thay đổi các giá trị của b0và Bmộtđể giá trị MSE được giải quyết ở mức tối thiểu.

Xuống dốc

Thuật ngữ quan trọng tiếp theo để hiểu hồi quy tuyến tính là xuống dốc. Nó là một phương pháp cập nhật b0và Bmộtđể giảm MSE. Ý tưởng đằng sau điều này là tiếp tục lặp lại b0và Bmộtcho đến khi chúng tôi giảm MSE xuống mức tối thiểu.

Để cập nhật b0và Bmột, chúng tôi lấy gradient từ hàm chi phí. Để tìm các gradient này, chúng tôi lấy các đạo hàm riêng đối với b0và Bmột. Các đạo hàm riêng này là các gradient và được sử dụng để cập nhật các giá trị của b0và Bmột.

Tỷ lệ học tập nhỏ hơn sẽ gần với mức tối thiểu, nhưng cần nhiều thời gian hơn và trong trường hợp tỷ lệ học tập lớn hơn. Thời gian thực hiện sớm hơn nhưng có khả năng vượt quá giá trị nhỏ nhất. Bây giờ chúng ta đã xem qua các thuật ngữ trong hồi quy tuyến tính, chúng ta hãy xem xét một số ưu điểm và nhược điểm của hồi quy tuyến tính đối với học máy.

Ưu điểm và nhược điểm

Ưu điểm Nhược điểm
Hồi quy tuyến tính hoạt động đặc biệt tốt cho dữ liệu có thể phân tách tuyến tínhGiả định về độ tuyến tính giữa các biến phụ thuộc và độc lập
Dễ dàng triển khai, diễn giải và đào tạo hiệu quả hơnNó thường khá dễ bị ồn và trang bị quá nhiều
Nó xử lý việc overfitting khá tốt bằng cách sử dụng các kỹ thuật giảm kích thước, chính quy hóa và xác nhận chéoHồi quy tuyến tính khá nhạy cảm với các ngoại lệ
Một lợi thế nữa là phép ngoại suy ngoài một tập dữ liệu cụ thểNó có xu hướng đa cộng tuyến

Các trường hợp sử dụng hồi quy tuyến tính

  • Dự báo bán hàng

  • Phân tích rủi ro

  • Ứng dụng nhà ở để dự đoán giá cả và các yếu tố khác

  • Ứng dụng tài chính để dự đoán giá cổ phiếu, đánh giá đầu tư, v.v.

Ý tưởng cơ bản đằng sau hồi quy tuyến tính là tìm mối quan hệ giữa các biến phụ thuộc và độc lập. Nó được sử dụng để có được dòng phù hợp nhất có thể dự đoán kết quả với ít sai sót nhất. Chúng ta có thể sử dụng hồi quy tuyến tính trong các tình huống thực tế đơn giản, như dự đoán điểm SAT liên quan đến số giờ học và các yếu tố quyết định khác.

Với ý nghĩ này, chúng ta hãy xem xét một trường hợp sử dụng.

Trường hợp sử dụng - Triển khai hồi quy tuyến tính

Quá trình này diễn ra theo các bước sau:

  1. Đang tải dữ liệu
  2. Khám phá dữ liệu
  3. Cắt dữ liệu
  4. Đào tạo và phân chia dữ liệu
  5. Tạo mô hình
  6. Đánh giá độ chính xác

Hãy để chúng tôi đi vào chi tiết của từng bước để thực hiện hồi quy tuyến tính.

1. Tải dữ liệu

Chúng ta có thể bắt đầu với bộ dữ liệu bệnh tiểu đường cơ bản đã có trong mô-đun bộ dữ liệu sklearn (scikit-learning) để bắt đầu hành trình với hồi quy tuyến tính.

from sklearn import datasets disease = datasets.load_diabetes () print (disease)

Đầu ra:

2. Khám phá dữ liệu

Sau khi tải xong dữ liệu, chúng ta có thể bắt đầu khám phá bằng cách chỉ cần kiểm tra các nhãn bằng cách sử dụng mã sau.

print (disease.keys ())

Đầu ra:

Đoạn mã trên cung cấp cho tất cả các nhãn từ tập dữ liệu, sau đó, chúng ta có thể cắt dữ liệu để chúng ta có thể vẽ đường cuối cùng. Chúng tôi cũng sẽ sử dụng tất cả các điểm dữ liệu, bây giờ, chúng tôi sẽ cắt cột 2 từ dữ liệu.

lớp có thể thay đổi trong ví dụ java
nhập numpy dưới dạng np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Đầu ra:

Sau bước này, chúng tôi sẽ chia dữ liệu thành tập huấn luyện và tập kiểm tra.

3. Tách dữ liệu

disease_X_train = disease_X [: - 30] disease_X_test = disease_X [-20:] disease_Y_train = disease.target [: - 30] disease_Y_test = disease.target [-20:]

Phần tiếp theo liên quan đến việc tạo mô hình, sẽ bao gồm nhập mô hình tuyến tính từ sklearn.

4. Tạo mô hình

from sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (bệnh_X_train, bệnh_Y_train) y_p Dự đoán = đăng ký dự đoán (bệnh_X_kiểm tra)

Để đánh giá độ chính xác của mô hình, chúng tôi sẽ sử dụng sai số bình phương trung bình từ scikit-learning.

5. Đánh giá

độ chính xác = mean_squared_error (disease_Y_test, y_p Dự đoán,) print (độ chính xác) weights = reg.coef_ intercept = reg.intercept_ print (weights, intercept)

Đầu ra:

Để rõ ràng hơn về cách các điểm dữ liệu trông như thế nào trên biểu đồ, chúng ta cũng hãy vẽ biểu đồ.

nhập matplotlib.pyplot dưới dạng plt plt.scatter (bệnh_X_test, bệnh_Y_test) plt.plot (bệnh_X_test, y_p Dự đoán) plt.show ()

Đầu ra:

Để có được mô hình chính xác hơn trong trường hợp này, chúng ta có thể sử dụng toàn bộ dữ liệu thay vì chỉ cột 2. Điều đó sẽ cung cấp độ chính xác như được hiển thị bên dưới:

# thực hiện một chút thay đổi trong mã ở trên và xóa mã biểu đồ để tránh lỗi disease_X = disease.data

Đầu ra:

Đến phần cuối của bài viết này, chúng ta đã tìm hiểu về Hồi quy tuyến tính cho Học máy. Tôi hy vọng bạn rõ ràng với tất cả những gì đã được chia sẻ với bạn trong hướng dẫn này.

Nếu bạn thấy bài viết này về “Hồi quy tuyến tính cho Máy học” có liên quan, hãy xem một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu.

Nếu bạn gặp bất kỳ câu hỏi nào, vui lòng đặt tất cả câu hỏi của bạn trong phần nhận xét của “Hồi quy tuyến tính cho Máy học” và nhóm của chúng tôi sẽ sẵn lòng trả lời.