Tải bản đầy đủ (.docx) (16 trang)

NONLINEAR REGRESSION

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (746.48 KB, 16 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT - HUNG
KHOA CÔNG NGHỆ THÔNG TIN
…..o0o…..

BÁO CÁO KẾT THÚC HỌC PHẦN
LINUX VÀ PHẦN MỀM MÃ NGUỒN MỞ

Giảng viên hướng dẫn

: Ths. Hà Huy Tồn

Nhóm sinh viên thực hiện

: Đặng Văn Vượng 1900615
: Nguyễn Minh Hiếu
1900925

Lớp

: K43CNT2

*

Hà Nội - Năm 2023


MỤC LỤC
Phần A: NONLINEAR REGRESSION................................................................1
1.1. Hồi quy phi tuyến tính trong học máy là gì?................................................................................1
1.2. Các ứng dụng của hồi quy phi tuyến tính....................................................................................2
1.3. Các loại hồi quy phi tuyến tính....................................................................................................3


1.4. Ví dụ hồi quy phi tuyến tính........................................................................................................3
1.5. Ưu và nhược điểm của hồi quy phi tuyến tính............................................................................4
1.6. HỒI QUY PHI TUYẾN TÍNH ƯU ĐIỂM:...........................................................................................4
1.7. HỒI QUY PHI TUYẾN TÍNH............................................................................................................5

Phần B: Thực hành hồi quy phi tuyến tính............................................................6
2.1. Cách thực hiện hồi quy phi tuyến tính.........................................................................................6

Phần C: KẾT LUẬN...........................................................................................10
DANH MỤC TÀI LIỆU THAM KHẢO..............................................................1
NHẬN XÉT...........................................................................................................2


Phần A: NONLINEAR REGRESSION
A.1. Hồi quy phi tuyến tính trong học máy là gì?
Hồi quy phi tuyến tính là một mô tả chung cho các kỹ thuật thống kê được sử dụng
để mơ hình hóa mối quan hệ giữa một biến phụ thuộc và một hoặc nhiều biến độc lập.
Không giống như hồi quy tuyến tính, giả định mối quan hệ tuyến tính giữa các tính
năng độc lập và nhãn phụ thuộc, hồi quy phi tuyến tính cho phép mơ hình hóa các mối
quan hệ phức tạp hơn. Trong thế giới thực, không phải mọi tập dữ liệu sẽ tuân theo
mối quan hệ tuyến tính của Hồi quy tuyến tính.
Vì vậy, làm thế nào chúng ta có thể tạo ra một mơ hình cho một mối quan hệ phi
tuyến tính? Có rất nhiều phương pháp khác nhau! Như đã thảo luận trong “Giới thiệu
về Học tập Thống kê” (được gọi là ISLR, bạn có thể tải xuống miễn phí tại đây), các
mơ hình hồi quy phi tuyến tính có thể được phân loại thành một số loại khác nhau. Các
danh mục này có thể bao gồm hồi quy đa thức (ví dụ chính của chúng tơi trong bài
đăng này), hồi quy logarit và hồi quy hàm mũ.
Hình thức phổ biến nhất của hồi quy phi tuyến tính là hồi quy đa thức, cho phép
chúng ta mở rộng mơ hình để bắt đầu mơ hình hóa các thuật ngữ và tính năng tương
tác ở cấp độ cao hơn. Chúng ta sẽ khám phá hồi quy đa thức sau trong bài đăng này,

nhưng trước tiên, hãy khám phá một số ứng dụng của hồi quy phi tuyến.
Ví dụ:

Rõ ràng, dữ liệu này khơng tn theo mối quan hệ tuyến tính giữa trục X và trục
Y, điều đó có nghĩa là chúng ta khơng thể chỉ vẽ một mơ hình tuyến tính. Thay vào đó,


chúng ta sẽ cần tạo ra một mơ hình phi tuyến tính (ví dụ: hồi quy đa thức bậc cao hơn)
để phù hợp với dữ liệu.
Ở đây chúng ta có thể thấy kết quả của mơ hình tuyến tính trên dữ liệu (bậc 1) so
với hồi quy đa thức phi tuyến bậc cao hơn (bậc 4):

Hình 1.1: So sánh giữa tuyến tính với phi tuyến tính
Như bạn có thể thấy ở trên, hồi quy phi tuyến tính có thể phù hợp với dữ liệu hơn.
Hãy khám phá một số ứng dụng trong thế giới thực của hồi quy phi tuyến tính.

A.2. Các ứng dụng của hồi quy phi tuyến tính
Vì rất nhiều tập dữ liệu trong thế giới thực sẽ khơng tn theo mối quan hệ tuyến
tính nên có rất nhiều ứng dụng của hồi quy phi tuyến tính.
Các ứng dụng này bao gồm mơ hình dự đốn, dự báo chuỗi thời gian, xấp xỉ hàm
và làm sáng tỏ các mối quan hệ phức tạp giữa các biến.
Các mơ hình này có thể đặc biệt hữu ích khi một mơ hình tuyến tính khơng thể
nắm bắt đầy đủ các mẫu trong dữ liệu và cần có các chức năng linh hoạt và phức tạp
hơn.
Nhiều ngành công nghiệp bao gồm ngân hàng, kỹ thuật và y học sử dụng hồi quy
phi tuyến tính. Nó có thể được sử dụng với nhiều loại dữ liệu, bao gồm dữ liệu phụ
thuộc vào thời gian, phân loại và liên tục.
Mục tiêu của hồi quy phi tuyến tính là tìm ra hàm phi tuyến nắm bắt tốt nhất mối
quan hệ giữa các biến đầu vào và đầu ra và đưa ra các dự đốn chính xác dựa trên nó.
Hãy thảo luận về một số loại hồi quy phi tuyến tính khác nhau trong phần tiếp theo.



A.3. Các loại hồi quy phi tuyến tính
Có nhiều loại hồi quy phi tuyến tính. Trong python, nhiều mơ hình học máy có thể
được sử dụng để dự đốn nhãn liên tục theo kiểu phi tuyến tính bằng hồi quy. Ví dụ:
Mạng thần kinh: Mơ hình này bao gồm các lớp tế bào thần kinh nhân tạo được
kết nối với nhau cho phép mạng thần kinh học các mối quan hệ phi tuyến tính giữa đầu
vào và đầu ra.
Cây quyết định và rừng ngẫu nhiên: Các phương pháp dựa trên cây như cây
quyết định và rừng ngẫu nhiên có thể được sử dụng để mơ hình hóa mối quan hệ phi
tuyến tính vì chúng sử dụng phân vùng đệ quy để mơ hình hóa mối quan hệ.
Hồi quy vectơ hỗ trợ (SVR): Về mặt kỹ thuật, SVR là một mô hình tuyến tính.
Tuy nhiên, bạn có thể thay đổi hạt nhân được sử dụng để tìm hiểu các ranh giới quyết
định phi tuyến tính, chẳng hạn như sử dụng hạt nhân hàm cơ sở hướng tâm (RBF).
K-Láng giềng gần nhất (KNN): Đây là một phương pháp đơn giản, phi tham số
được sử dụng cho cả phân loại và hồi quy. Mặc dù thường không phải là lựa chọn đầu
tiên cho nhiệm vụ hồi quy, nhưng nó vẫn có thể được sử dụng như một kiểm tra phi
tuyến tính “nhanh”.
Hồi quy đa thức: Đây là một dạng hồi quy tuyến tính trong đó mối quan hệ giữa
biến độc lập x và biến phụ thuộc y được mơ hình hóa dưới dạng đa thức bậc n. Hồi
quy đa thức là một lựa chọn tốt đầu tiên khi cần một mơ hình phi tuyến vì nó là một
mơ hình đơn giản và dễ hiểu. Nó có thể mơ hình hóa một loạt các mối quan hệ phi
tuyến tính bằng cách thêm các thuật ngữ đa thức vào mơ hình tuyến tính. Ngồi ra, nó
rất dễ thực hiện, như chúng ta sẽ khám phá trong phần triển khai của bài đăng này.

A.4. Ví dụ hồi quy phi tuyến tính
Có nhiều tình huống mà người ta có thể sử dụng hồi quy phi tuyến tính.
Trong thế giới tài chính, hồi quy phi tuyến tính có thể được sử dụng để mơ hình
hóa mối quan hệ phi tuyến tính giữa giá cổ phiếu và các yếu tố của công ty, chẳng hạn
như các nguyên tắc cơ bản từ việc lấp đầy cơng ty hoặc phân tích kỹ thuật. Hồi quy phi

tuyến tính có thể giúp tạo ra các mơ hình có thể hướng dẫn các nhà đầu tư hoặc nhà
phân tích giúp dự báo hiệu suất trong tương lai của một cơng ty hoặc thậm chí cố gắng
giải thích hiệu suất lịch sử của giá cổ phiếu.


Trong lĩnh vực khoa học y tế, hồi quy phi tuyến tính thường được sử dụng để mơ
hình hóa mối quan hệ giữa các phép đo sinh lý của bệnh nhân với khả năng mắc bệnh,
chẳng hạn như bệnh tim. Bạn thậm chí có thể quen thuộc với một số khía cạnh của các
mơ hình này, chẳng hạn như sử dụng kết quả xét nghiệm máu hoặc đo cân nặng để
phân tích mức độ “nguy cơ” của một bệnh nhân đối với một bệnh cụ thể.
Trong cơng trình dân dụng, hồi quy phi tuyến được sử dụng để mơ hình hóa mối
quan hệ giữa các thành phần của xi măng (như đá vôi, cát, đất sét, phụ gia, v.v.) với
cường độ của nó. Một nghiên cứu điển hình phổ biến là khả năng lập mơ hình kết quả
kiểm tra độ sụt cho xi măng chỉ bằng cách sử dụng dữ liệu và so sánh các kết quả này
với kiểm tra độ sụt trong thế giới thực.
Trong phần triển khai dưới đây, chúng tôi sẽ sử dụng hồi quy phi tuyến tính trên
tập dữ liệu quảng cáo bằng cách tạo một tập hợp các tính năng đa thức trước rồi áp
dụng mơ hình tuyến tính, tạo ra hồi quy đa thức một cách hiệu quả. Chúng ta sẽ phân
tích các kênh chi tiêu khác nhau và xem chúng có thể được sử dụng như thế nào để dự
đoán doanh thu đầu ra.

A.5. Ưu và nhược điểm của hồi quy phi tuyến tính
Mặc dù chúng ta có thể thấy rằng hồi quy phi tuyến tính được thực hiện dễ dàng
trong Scikit-Learn, nhưng chúng ta hãy xem xét một số ưu và nhược điểm của hồi quy
phi tuyến tính. Chúng tơi sẽ bắt đầu với những ưu điểm:

A.6. HỒI QUY PHI TUYẾN TÍNH ƯU ĐIỂM:
Nó cho phép linh hoạt hơn trong việc mơ hình hóa mối quan hệ giữa các biến phụ
thuộc và biến độc lập, vì nó có thể nắm bắt các mối quan hệ phi tuyến tính và phi
cộng. Điều này đặc biệt hữu ích khi mối quan hệ giữa các biến phức tạp và khơng thể

biểu diễn chính xác bằng mơ hình tuyến tính.
Nó có thể tính đến nhiều loại phân phối cơ bản hơn và thể hiện tốt hơn dữ liệu
khơng bình thường, cải thiện dự đốn và cung cấp thông tin chi tiết mới về mối quan
hệ giữa các biến.
Nói chung, hồi quy phi tuyến tính có khả năng xử lý các mối quan hệ phức tạp hơn
giữa các tính năng và nhãn của bạn.
Nó khơng phải là một giải pháp hồn hảo mặc dù! Có một số nhược điểm, chúng
ta hãy thảo luận về một số nhược điểm:


A.7. HỒI QUY PHI TÚN TÍNH
Thơng thường, nó sẽ tốn nhiều thời gian và tính tốn hơn là chỉ hồi quy tuyến tính,
do khối lượng cơng việc bổ sung của các mơ hình bậc cao hơn.
Tùy thuộc vào dữ liệu và trường hợp sử dụng, đơi khi có thể khó diễn giải trực tiếp
kết quả của mơ hình phi tuyến tính. Ví dụ, trực giác đằng sau một tính năng bậc cao là
khó hiểu đối với hầu hết mọi người.
Để thực hiện hồi quy phi tuyến tính, bạn sẽ phải chọn một mơ hình thích hợp từ
nhiều tùy chọn khác nhau. Do đó, bạn sẽ cần hiểu rõ về các mối quan hệ cơ bản của
các mơ hình. Một nguồn tuyệt vời để hiểu các mơ hình này là tham gia một trong các
lớp Học máy với Python của chúng tơi!
Sự khác biệt giữa hồi quy phi tuyến tính và hồi quy tuyến tính
Như chúng ta đã thấy ở trên, các mơ hình hồi quy phi tuyến tính sẽ cho phép
chúng ta lập mơ hình mối quan hệ giữa các biến phụ thuộc và biến độc lập khơng có
mối quan hệ tuyến tính. Tuy nhiên, hãy nhớ rằng hồi quy phi tuyến tính sẽ yêu cầu
nhiều dữ liệu hơn để tạo ra các mơ hình chính xác và thường sẽ yêu cầu chúng tôi
chuyển đổi dữ liệu, như chúng tôi đã làm trong ví dụ triển khai của mình thơng qua bộ
công cụ đa thức mà Scikit-Learn cung cấp.


Phần B: Thực hành hồi quy phi tuyến tính

B.1. Cách thực hiện hồi quy phi tuyến tính
Hãy thực hiện hồi quy phi tuyến tính bằng hồi quy đa thức với Python và ScikitLearn. Trước tiên, chúng ta sẽ bắt đầu với việc nhập và đọc dữ liệu mẫu của mình, đó
là tệp “advertising.csv” từ Introduction to Statistical Learning.

Hiện đang sử dụng Scikit-Learn, chúng tơi sẽ nhập Tính năng Đa thức, tính năng
này sẽ giúp chúng tơi chuyển đổi tập dữ liệu gốc của mình bằng cách thêm các tính
năng đa thức
Chúng tơi sẽ đi từ phương trình ở dạng (hiển thị ở đây như thể chúng tơi chỉ có
một tính năng x):
$$\hat{y} = \beta_0 + \beta_1x_1 + \epsilon $$
và tạo thêm đặc trưng từ đặc trưng x gốc cho bậc d nào đó của đa thức.
$$\hat{y} = \beta_0 + \beta_1x_1 + \beta_1x^2_1 + … + \beta_dx^d_1 + \epsilon$
$
Sau đó, chúng ta có thể gọi mơ hình hồi quy tuyến tính trên đó, vì trên thực tế,
chúng ta chỉ coi các đặc trưng đa thức mới này x^2, x^3, … x^d là các đặc trưng mới.
Rõ ràng là chúng ta cần cẩn thận trong việc chọn giá trị chính xác của d , bậc của mơ
hình. Kết quả số liệu của chúng tôi trên bộ kiểm tra sẽ giúp chúng tôi điều này!
Điều đáng chú ý là chúng tơi có nhiều tính năng X, khơng chỉ một tính năng duy
nhất như trong cơng thức trên. Vì vậy, trên thực tế, PolynomialFeatures cũng sẽ tính
đến các điều khoản tương tác. Ví dụ: nếu một mẫu đầu vào là hai chiều và có dạng [a,
b], thì các đặc trưng đa thức bậc 2 là [1, a, b, a^2, ab, b^2].


Bây giờ chúng tơi có các tính năng đa thức, chúng tơi có thể thực hiện phân chia
thử nghiệm tàu hỏa của chúng tôi với Scikit-learn:

Tiếp theo, chúng tôi phù hợp với mơ hình hồi quy tuyến tính trên dữ liệu đào
tạo:

Chúng tơi muốn đánh giá mơ hình của mình một cách cơng bằng, vì vậy chúng tơi

lấy số liệu hiệu suất trên bộ thử nghiệm (dữ liệu mà mô hình chưa từng thấy trước
đây).

Bây giờ tùy thuộc vào tập dữ liệu và kết quả của bạn, bạn có thể khơng hài lịng
với hiệu suất RMSE được hiển thị ở trên. Trong trường hợp đó, chúng ta có thể bắt đầu
chỉnh sửa các siêu đường kính của mơ hình, điều quan trọng nhất ở đây là bậc của đa
thức.
Bây giờ chúng ta có thể quay lại và điều chỉnh mơ hình và các tham số của mình.
Hãy cùng khám phá các Đa thức bậc cao trong một vòng lặp và vạch ra lỗi của chúng.
Điều này sẽ dẫn chúng ta đến một cuộc thảo luận về Overfitting.
Hãy sử dụng vòng lặp for để làm như sau:
B1.Tạo dữ liệu đa thức bậc khác nhau X
B2.Chia dữ liệu đa thức đó cho đào tạo/kiểm tra


B3.Phù hợp với dữ liệu đào tạo
B4.Báo cáo lại các số liệu về cả kết quả đào tạo và kiểm tra
B5.Vẽ các kết quả này và khám phá trang bị thừa

Bây giờ chúng ta có thể vẽ kết quả bằng Matplotlib:


Ở đây chúng ta có thể thấy rằng bậc 3 của đa thức có lẽ có ý nghĩa nhất, vì lỗi
kiểm tra là khớp quá mức tại hoặc sau đa thức 4. Điều này có nghĩa là chúng ta có thể
chỉ cần đào tạo lại mơ hình cuối cùng của mình dưới dạng đa thức bậc 3, sau đó
chuyển đổi và lưu lại cho tương lai sử dụng với mã Python sau:


Scikit học phi tuyến tính
Trong phần này, chúng ta sẽ tìm hiểu cách Scikit học phi tuyến tính hoạt động

trong python
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tơi có thể
tạo scikit learn phi tuyến tính
x = số. sắp xếp (5 * số. ngẫu nhiên. rand(42, 1), axis=0) được sử dụng để tạo cùng
một dữ liệu
y[. 5] += 3 * (0. 5 – số. ngẫu nhiên. rand(9)) được sử dụng để thêm nhiễu vào các
mục tiêu
svrrbf = SVR(kernel=”rbf”, C=100, gamma=0. 1, epsilon=0. 1) đã quen với mơ
hình hồi quy
lw = 2 được sử dụng để xem kết quả
hình, trục = cốt truyện. subplots(nrows=1, ncols=3, figsize=(15, 10), sharey=True)
được sử dụng để vẽ đồ thị hình và trục trên màn hình
trục[ix].
cốt
truyện
(x,
svr.
phù
hợp
(x,
y).
dự
đốn(x),color=model_color[ix],lw=lw,label{}model”. format(kernel_label[ix]),) được
sử dụng để vẽ trục trên màn hình
trục[ix].
phân
tán
(x
[svr.
hỗ

trợ_],y[svr.
support_],facecolor=”none”,edgecolor=model_color[ix],s=50,label=”{} vectơ hỗ trợ”.
format(kernel_label[ix]),) được sử dụng để vẽ biểu đồ phân tán trên màn hình
quả sung. văn bản (0. 5, 0. 04, “data”, ha=”center”, va=”center”) được dùng để
chuyển văn bản thành hình
import numpy as num
from sklearn.svm import SVR
import matplotlib.pyplot as plot
x = num.sort(5 * num.random.rand(42, 1), axis=0)
y = num.sin(x).ravel()
y[::5] += 3 * (0.5 - num.random.rand(9))
svrrbf = SVR(kernel="rbf", C=100, gamma=0.1, epsilon=0.1)
lw = 2
svrs = [svrrbf]
kernel_label = ["RBF"]
model_color = ["m"]
fig, axes = plot.subplots(nrows=1, ncols=3, figsize=(15, 10), sharey=True)
for ix, svr in enumerate(svrs):


axes[ix].plot(
x,
svr.fit(x, y).predict(x),
color=model_color[ix],
lw=lw,
label="{} model".format(kernel_label[ix]),
)
axes[ix].scatter(
x[svr.support_],
y[svr.support_],

facecolor="none",
edgecolor=model_color[ix],
s=50,
label="{} support vectors".format(kernel_label[ix]),
)
axes[ix].scatter(
x[num.setdiff1d(num.arange(len(x)), svr.support_)],
y[num.setdiff1d(num.arange(len(x)), svr.support_)],
facecolor="none",
edgecolor="r",
s=50,
label="other training data",
)
fig.text(0.5, 0.04, "data", ha="center", va="center")
fig.text(0.06, 0.5, "target", ha="center", va="center", rotation="vertical")
plot.show()

Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, trong đó chúng tơi có
thể thấy rằng dữ liệu phi tuyến tính được hiển thị trên màn hình


Phần C: KẾT LUẬN
Nhóm tơi đã giới thiệu cho mọi người biết thêm về hồi quy phi tuyến tính và nhiều
trường hợp sử dụng, ứng dụng và ví dụ về thuật tốn. Chúng tơi cũng đã hướng dẫn
bạn một ví dụ triển khai hồi quy phi tuyến tính thơng qua hồi quy đa thức với Python
và Scikit-Learn. Hy vọng rằng bạn có thể sử dụng kiến thức về hồi quy phi tuyến tính
này với tập dữ liệu của riêng mình và các tác vụ học máy bằng cách sử dụng các ví dụ
về python của chúng tơi!



DANH MỤC TÀI LIỆU THAM KHẢO
1. />2. Giáo trình Numerical Methods for Engineers


NHẬN XÉT
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×