Linear regression là gì

  -  

Linear Regression (hồi quy tuyến đường tính) là một trong những trong số những thuật toán thù cơ bản nhất của Machine Learning. Tại bài viết này, tôi đang reviews đến chúng ta quan niệm về thuật tân oán này, lý thuyết toán học tập với phương pháp tiến hành thuật tân oán bên trên Pykhiêm tốn. Bài viết này được viết bởi Jupyter Lab.

Bạn đang xem: Linear regression là gì

Trước hết hãy import với setup những tlỗi viện cần thiết.


I. Lý tngày tiết toán thù học

1. Bài toán tìm phương thơm trình đường thẳng

Giả sử ta tất cả phân bố ở 1 khía cạnh phẳng dưới dạng một đường thẳng, trách nhiệm của họ là tìm thấy phương thơm trình con đường thẳng khớp nhất cùng với tài liệu đó. Phương thơm trình con đường thẳng mang đến bài tân oán này hơi đơn giản, phần nhiều họ đã rất gần gũi cùng với nó tự trung học:

$$y = ax + b$$

trong số đó $a$ rất có thể được xem là độ dốc xuất xắc slope, ra quyết định mang lại độ nghiêng của đường thẳng; còn $b$ có thể gọi là chặn giỏi intercept của mặt đường thẳng, quyết định sự di chuyển của con đường thẳng đối với cội toạ độ. Với $b = 0$, mặt đường thẳng vẫn đi qua cội toạ độ.

Hãy chú ý một tài liệu bao gồm dạng con đường thẳng cùng với $a = 3$ với $b = -5$ (là con đường thẳng red color vào hình bên dưới). Tại phía trên tôi sẽ sử dụng np.random nhằm tạo nên các điểm phân bố theo một mặt đường trực tiếp (những chấm xanh sống trong hình vẽ). Tại phần sau của bài viết này, ta đang cùng tìm hiểu biện pháp dùng Linear Regression để search pmùi hương trình đường trực tiếp ứng cùng với những điểm tài liệu rời rộc rạc kia.


1rng = np.random.RandomState(1)2x = 10 * rng.rand(25)3y = 3 * x - 5 + rng.randn(25)4plt.scatter(x, y)5plt.plot(x, 3 * x - 5, linestyle='solid', color='red')

2. Bài tân oán tổng quát

Tìm phương trình mặt đường trực tiếp là 1 trong những ngôi trường phù hợp hết sức dễ dàng của có thể vận dụng Linear Regression. Trên thực tiễn, dữ liệu của bài xích toán thù Linear Regression hoàn toàn có thể bên trong không khí nhiều hơn thế nữa 2 chiều. Lúc kia, ta có thể phát âm một biện pháp trực quan lại là output $ haty $ của bài xích toán thù chính là sự kết hợp các đầu vào $ x_i $ theo một Tỷ Lệ làm sao đó. Tỷ lệ này là các hệ số $ w_i $, với hay được hotline là trọng số của mô hình. Các cực hiếm $ x_i $ có thể được viết thành vector $mathbf X$, các trọng số $w_i$ rất có thể được viết thành vector $mathbf W$. Việc buổi tối ưu quy mô Linear Regression là tìm ra vector $ mathbfW $ thế nào cho tự input đầu vào $ mathbfX $ ta có thể tính ra được output $ haty $ của bài toán.

Xem thêm: Rip Có Nghĩa Là Gì - Định Nghĩa Từ Rip Trên Facebook Ngày Nay

Hãy thuộc cẩn thận màn biểu diễn bài bác tân oán vào không gian $n$ chiều. ví dụ như bài xích tân oán xác định gía nhà dựa trên $n$ ở trong tính của tòa nhà nlỗi diện tích, số phòng, khoảng cách mang đến trung thành tâm phố... Khi kia input đầu vào của bài tân oán sẽ là vector $ mathbfX = $ biểu hiện các nằm trong tính của căn nhà bên dưới dạng những số thực cùng output sẽ là $ haty = f(mathbfX) approx y $, cùng với $y$ là quý giá thiệt của căn nhà. $ f(mathbfX) $ rất có thể được xem bởi phương pháp sau:

$$f(mathbfX) = w_0 + w_1 x_1 + w_2 x_2 + w_3 x_3 + dots + w_n x_n$$

Nhìn bình thường giá trị dự đoán $ haty $ cùng quý hiếm thật $ y $ thường xuyên là 2 giá trị không giống nhau vì chưng không nên số quy mô. Nhiệm vụ của bài xích tân oán này là đi tìm những tmê say số buổi tối ưu $ w_0, w_1, w_2, w_3, dots, w_n $ làm thế nào để cho sự không giống nhau này là nhỏ tuổi duy nhất. Bài tân oán xác minh phương trình đường thẳng trong mục 1 đó là ngôi trường hợp $ n = 2 $, $w_1$ là $a$ với $w_0$ là $b$.

Ta có thể màn trình diễn tsi số dưới dạng một vector cột $ mathbfW = ^T $ với đầu vào $mathbf X$ không ngừng mở rộng bên dưới dạng $ mathbfarX = <1, x_1, x_2, x_3, dots, x_n> $. Tại trên đây, ta thêm số 1 vào $mathbfarX$ nhằm không nhất thiết phải xử trí riêng một ngôi trường hòa hợp tsi mê số tự do $w_0$.

Việc tính tân oán giá trị output dự đoán trngơi nghỉ thành:

$$haty = mathbfarXmathbfW$$

Sai số dự đoán $ e = y - haty $ được Điện thoại tư vấn là sai số dự đân oán. Giá trị này sẽ tiến hành buổi tối ưu làm thế nào để cho gần 0 tuyệt nhất.

3. Hàm mất non (loss function)

Chúng ta cần ước lượt view quy mô của họ bị sai, bị lỗi đến đâu, để từ bỏ kia buổi tối ưu quy mô để rất có thể vận động ít lỗi độc nhất. Việc tính lỗi này sẽ không thể phụ thuộc cảm tính, mà lại yêu cầu phụ thuộc vào tính tân oán số học. Đó là nguyên do quan niệm hàm mất đuối (loss function) thành lập và hoạt động. Ta hoàn toàn có thể đọc hàm này được thiết kế để review độ lỗi, độ không đúng của mô hình. Kết trái của hàm này có quý hiếm càng lớn thì mô hình của họ càng không nên. Việc về tối ưu bài toán thù được đưa về việc tối ưu các quý giá trọng số nhằm hàm mất non có mức giá trị bé dại duy nhất. Ở bài toán này, dữ liệu giảng dạy có $n$ mẫu mã - $n$ cặp cực hiếm $(mathbfX_i, y_i) $ cùng với $ i = 1, 2, dots, n $. Hàm mất mát có thể được có mang là:

$$mathcalL(mathbfW) = frac12sum_i=1^n (y_i - mathbfarX_imathbfW)^2 = frac12 |mathbfy - mathbfarXmathbfW |_2^2$$

Ở phương pháp bên trên, họ mang quý giá output thực tiễn sinh sống trong tập tài liệu đào tạo và huấn luyện $ mathbfy $ trừ đi quý giá dự đân oán $ haty = mathbfarXmathbfw $ tiếp đến đem bình phương của tác dụng đó nhằm khoảng chừng không nên số của 1 điểm dữ liệu. Tại sao không hẳn rước trị tuyệt đối hoàn hảo, do chỉ việc mang quý giá hoàn hảo và tuyệt vời nhất là ta đã có thể tất cả một dạng không đúng số rồi? Câu trả lời là do họ đề nghị một hàm để dễ tính tân oán đạo hàm sinh hoạt bước tìm nghiệm mang đến bài bác tân oán. Hàm bình phương gồm đạo hàm tại đông đảo điểm, còn trị hoàn hảo nhất gồm đạo hàm bị đứt tại điểm 0. Số $ frac12 $ trong phương pháp bên trên chỉ có ý nghĩa sâu sắc thẩm mỹ kết quả của đạo hàm.

Xem thêm: Zip Code Của Vietnam - Postal Codes In Vietnam

Giá trị về tối ưu của $ w $ được ký hiệu là:

$$mathbfw^* = argmin_mathbfw mathcalL(mathbfw)$$

4. Tìm nghiệm mang đến bài bác toán

Để tìm nghiệm mang đến bài xích tân oán Linear Regression, bạn có thể giải phương thơm trình đạo hàm của hàm loss bằng 0. Đạo hàm theo $w$ của hàm loss bao gồm dạng:

$$fracpartialmathcalL(mathbfw)partialmathbfw = mathbfarX^T(mathbfarXmathbfw - mathbfy)$$

$$mathbfw = (mathbfarX^TmathbfarX)^dagger mathbfarX^Tmathbfy$$

II. Cài đặt với Python

Ở phần này, chúng ta đã giải một bài toán thù dễ dàng, đó là việc đào bới tìm kiếm phương trình mặt đường trực tiếp cùng với dữ liệu từ xuất hiện ngơi nghỉ mục I.1. Việc mở rộng mã mối cung cấp nhằm giải những bài xích toán khác như dự đoán thù giá nhà, dự đoán thù unique rượu, dự đân oán giá bán xe cộ... độc giả rất có thể từ bỏ tra cứu tòi cùng mở rộng mã nguồn bên dưới. Dữ liệu thể nghiệm cho các bài tân oán khác rất có thể được thiết lập về từ bỏ phía trên. Việc mở rộng này sẽ giúp các bạn đọc sâu hơn về Linear Regression, đống thời có được năng lực áp dụng Linear Regression cho các bài bác tân oán khác nhau. Đó cũng đó là mục đích sau cuối của một kĩ sư AI.

Quay lại bài bác toán kiếm tìm pmùi hương trình đường thẳng. Quý Khách rất có thể thực hiện Jupyter Lab nhằm setup thuật toán, hay đơn giản và dễ dàng là viết toàn bộ vào một tệp tin Pybé. Trước hết hãy bảo đảm an toàn là bạn đang import không còn những thỏng viện cần thiết bằng phần code sống đầu nội dung bài viết này: