tìm mô hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

34 80 0
tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo đồ án tính tốn, HK1 năm học 2019-2020 Điểm (dành cho GV ghi) Bảng phân công nhiệm vụ (SV ghi cụ thể GV dễ đặt câu hỏi cho điểm SV) Hoàng Thị xoan Đọc tài liệu, cài đặt viết báo cáo thuật tốn phương pháp bình phương tối thiểu Nguyễn Thị Nga Đọc tài liệu, cài đặt viết báo cáo thuật toán giảm Gradient Chữ ký SV (mỗi SV ký xác nhận trước nộp báo cáo) Nhóm , lớp HP: 1816 MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG ĐẶT VẤN ĐỀ CHƯƠNG CƠ SỞ LÝ THUYẾT .5 1.1 GIỚI THIỆU TÌM MƠ HÌNH TUYẾN TÍNH CỦA TẬP DỮ LIỆU 1.1.1 Lý thuyết [1] 1.1.2 Phân tích toán 1.2 PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU[2] .7 1.2.1 Nghiệm thuật tốn hồi quy tuyến tính biến 1.2.2.Tóm tắt thuật toán 1.3 THUẬT TOÁN GIẢM GRADIENT CHƯƠNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12 2.1 PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU 12 2.1.1 Thuật toán 12 2.1.2 Chương trình C++ .12 2.2.THUẬT TOÁN GIẢM GRADIENT 22 2.2.1 Thuật toán 22 2.2.2 Chương trình C++ .23 CHƯƠNG TRIỂN KHAI VÀ ĐÁNH GIÁ KÊT QUẢ 29 3.1 MÔ TẢ DỮ LIỆU 29 3.2 PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU 30 3.3 THUẬT TOÁN GIẢM GRADIENT 32 3.3.1 Điểm khởi tạo khác 32 3.3.2.Learning rate () khác 33 3.3.3 Giới hạn khác 34 KẾT LUÂN CHUNG .35 TÀI LIỆU THAM KHẢO 35 Page Hoàng Thị Xoan, Nguyễn Thị Nga DANH MỤC HÌNH ẢNH Hình 1: Biểu diễn mối liên hệ diện tích giá nhà khơng có yếu tố bên ngồi tác động Hình 2: Biểu diễn mối liên hệ diện tích giá nhà có yếu tố bên ngồi tác động Hình 3: Mối quan hệ giá trị dự đoán giá trị thực tế Hình 4: Khoảng sai số Hình 5: Kết toán .7 Hình 6: Mơ hình hồi quy tuyến tính .8 Hình 7: Minh họa Gradient Hình 8: Biểu diễn lặp Gradient 10 Hình 9: Biểu diễn Learning rate cho trường hợp[3] 10 Hình 10: Sự khác cho vị trí chọn ban đầu 11 Hình 11: Đồ thị phân bố liệu 15 mẫu bảng .30 Hình 12: Kết dự đoán 10 mẫu liệu bảng 31 Hình 13: Kết dự đoán 15 mẫu liệu bảng 31 Hình 14: Đồ thị hàm mát với w0 = w1 = -10 33 Hình 15: Đồ thị hàm mát với w0 = w1 = 33 Hình 16: Đồ thị hàm mát với = 1e-5, w0 = w1 = 0, = 1e-6 .34 Hình 17: Đồ thị hàm mát với = 6, w0 = w1 = 0, = 1e-6 34 DANH MỤC B Y Bảng 1: Dữ liệu đầu vào gồm 20 mẫu sinh từ phương trình y=3*x-4 với x=rand(20,1); .30 Bảng 2: Dữ liệu đầu vào chiều cao cân nặng 15 người [2] 30 Bảng 3: Bảng kết tìm với giá trị khác từ liệu bảng với = 1e-2, giá trị khởi tạo w0 = w1 = .33 Bảng 4: Bảng kết tìm với giá trị khác từ liệu bảng với = 1e-5, giá trị khởi tạo w0 = w1 = -34 33 Bảng 5: Bảng so sánh ưu, nhược điểm hai phương pháp .37 ĐẶT VẤN ĐỀ Page Nhóm , lớp HP: 1816 Hồi quy tuyến tính hay nói “Linear Regression” chủ đề tiếng thống kê đặc biệt Machine Learning Trước đến với định nghĩa rõ ràng hồi quy tuyến tính nói ví dụ mà bạn hay gặp sống: Ví dụ: Ta có ngơi nhà x1 có diện tích y1 () bán với giá s1(đ) có số liệu thơng kê 1000 ngơi nhà với diện tích giá bán,giả sử ngơi nhà với diện tích lớn bán với giá cao liệu có thêm ngơi nhà với diện tích biết trước dự đốn giá bán khơng ? Từ ví dụ hiểu sơ qua phần hồi quy tuyến tính Hồi quy tuyến tính thuật toán Machine Learning cho phép ánh xạ đầu vào số thành đầu số khớp dòng điểm liệu, bạn nhìn hình bên điểm màu xanh tượng trưng cho ngơi nhà với diện tích giá bán biết trước, điểm màu đỏ điểm cần dự đốn giá bán, để trực quan vẽ đường thằng qua tất điểm màu xanh từ ta dễ dàng nhận thấy dự đốn giá bán ngơi nhà tượng trưng điểm màu đỏ Hình 1: Biểu diễn mối liên hệ diện tích giá nhà khơng có yếu tố bên ngồi tác động Từ ví dụ hiểu sơ qua phần hồi quy tuyến tính Hồi quy tuyến tính thuật toán Machine Learning cho phép chúng ta” khớp” tập điểm liệu Nhưng thực tế khơng phải mà giá nhà cịn phụ thuộc vào nhiều yếu tố khác số phòng,thời điểm,nhà có “mặt đường “ hay khơng Vậy ta tìm giá bán ngơi nhà có ngơi nhà thê vào Hình 2: Biểu diễn mối liên hệ diện tích giá nhà có yếu tố bên tác động Trong báo cáo trình bày hai phương pháp phương pháp bình phương tối thiểu phương pháp giảm gradient CHƯƠNG CƠ SỞ LÝ THUYẾT Page Hoàng Thị Xoan, Nguyễn Thị Nga 1.1 GIỚI THIỆU TÌM MƠ HÌNH TUYẾN TÍNH CỦA TẬP DỮ LIỆU 1.1.1 Lý thuyết [1] Hồi quy tuyến tính phương pháp tối ưu hóa để lựa chọn đường thể gần cho tập liệu ứng với cực trị tổng sai số thống kê (error) đường khớp liệu" Tính tổng khoảng cách giá trị dự đoán giá trị thực tế điểm liệu cho nhỏ Hình 3: Mối quan hệ giá trị dự đoán giá trị thực tế Giả sử liệu gồm điểm vói i=1, 2,… ,n Chúng ta cần tìm hàm f thỏa mãn : f () yi Giả sử hàm f thay đổi hình dạng phụ thuộc vào tham số w f(x) = f (pj, x) Nội dung phương pháp tìm giá trị tham số pj cho biểu thức sau đạt cực tiểu: (1) 1.1.2 Phân tích tốn Quay lại ví dụ nêu trước ta cho giá nhà phụ thuộc vào diện tích thực tế giá nhà phụ thuộc vào nhiều yếu tố khác vị trí thời điểm, số phịng,… ,n hàm f(x) có dạng hàm số đơn giản nhất mơ tả mối quan hệ giá nhà n đại lượng đầu vào là: )= ++++…… + Trong đó:   { } tham số x=[] vector hàng chứa thông tin biết(diện tích ,vị trí,thời diểm,… vv) Page Nhóm , lớp HP: 1816  y giá trị thực cần tìm dựa liệu (tức giá nhà ví dụ này) Trong trường hợp tổng qt input gồm n biến thuật tốn tìm phương trình gọi linear regression n biến Nhưng báo xét linear regression biến f(x) có dạng sau: )== += +Với = x=  Mục tiêu tốn tìm hệ số tối ưu {để cho y có khác nhay nhỏ  Số đầu thêm vào để phép tính đơn giản thuận tiện cho việc tính tốn Chúng ta khơng tìm đường thẳng qua tất điểm cho trước (trừ chúng thẳng hàng).Do phương trình ln có mát định Độ lớn mát phụ thuộc tham số () Như muốn sai khác e giá trí thực y giá trị đự đoán nhỏ Nói cách khác muốn giá trị sau nhỏ tốt  Trong hệ số để thuận tiện cho việc tính tốn(khi đạo hàm bị triệt tiêu ) Hình 4: Khoảng sai số Điều muốn, tổng sai số nhỏ nhất, tương đương với việc tìm để hàm số sau đạt giá trị nhỏ = = = Trong n số giá trị ban đầu dùng để huấn luyện thuật tốn Ký hiệu có nghĩa giá trị biến giá trị vào thứ i giá trị vào ban đầu để huấn luyện thuật toán Các quy ước ký hiệu sử dụng mặc định từ trở Hàm số gọi hàm mát(loss function) toán linear regression Chúng ta mong mát(sai số) nhỏ điều đồng nghĩa với việc tìm vector hệ số cho giá trị hàm mát nhỏ Chúng ta tìm giá trị w làm làm cho hàm Page Hoàng Thị Xoan, Nguyễn Thị Nga mát đạt giá trị nhỏ nhất.Có phương pháp để tìm phương pháp bình phương tối thiểu phương pháp Gradient Descent 1.2 PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU[2] 1.2.1 Nghiệm thuật tốn hồi quy tuyến tính biến Ta cịn đơn giản hóa hàm mát cách : Đặt X= ma trận với hàng input (hàng i ứng với) Đặt y= vector output hàm mát viết lại thành = Hình 5: Kết tốn Việc tìm nghiệm thuật tốn hồi quy tuyến tính biến tìm tham số = để hàm có giá trị nhỏ Cách phổ biến để tìm nghiệm cho tốn tối ưu giải phương trình đạo hàm Trước tìm nghiệm cần phải đơn giản hóa phép tốn phương trình mát(2) Khi hàm số mát viết dạng ma trận đơn giản hơn: = (2) Ký hiệu độ dài vector Đạo hàm theo hàm (2) ta được: L’() =( ma trận vng khả nghịch ,cho L’(w)=0 ta có cong thức: = (3) 1.2.2.Tóm tắt thuật tốn Yêu cầu :Cho trước n liệu tạo thuật toán.Bộ liệu thứ I chứa input output ,trong input thứ i chứa biến Nhiệm vụ tìm mối quan hệ Page Nhóm , lớp HP: 1816 input output hàm tuyến tính để đưa vào input ,ta dự đốn output ứng với nó: = + Hình 6: Mơ hình hồi quy tuyến tính Page Hồng Thị Xoan, Nguyễn Thị Nga 1.3 THUẬT TOÁN GIẢM GRADIENT Trong toán Machine learning toán tối ưu, thường phải làm việc với điểm cực trị (thường điểm cực tiểu) hàm số Trong mục 1.2 đoán giá nhà phương pháp bình phương tối thiểu, phải cố gắng tìm giá trị nhỏ hàm chi phí (cost function) mà đơi cịn gọi hàm mát (loss function) Vậy Thuật toán Gradient gì? Gradient có liên hệ với việc tìm kiếm cực trị toán tối ưu? Chúng ta tìm hiểu phần Trong kiến thức tốn phổ thơng biết, muốn tìm cực trị hàm số giải phương trình đạo hàm hàm số Tuy nhiên phương trình lúc giải dễ dàng, có trường hợp việc giải phương trình bất khả thi => Vậy gặp tình này, phải làm gì? May thay, thuật tốn Gradient cho cách thức tìm điểm cực tiểu cục cách xấp xỉ sau số vòng lặp Trong thực tế, giá trị liệu khơng có 100% mà đơi cần số gần Thuật toán Gradient dùng để tìm điểm cực trị hàm số Hình 7: Minh họa Gradient Để hiểu rõ ta lấy ví dụ sau : Ví dụ: Quả bóng lăn xuống dốc Trong mơi trường vật lý mà ta giả định bóng lăn xuống nhanh dốc đứng (mặc dù vậy) xuống đến chân dốc bóng dừng lại Hiện tượng dễ hình dung giúp bạn hiểu quy trình Gradient Xét hàm số y = f(x) ta cần tìm điểm cực tiểu hàm số.Một cách hình ảnh, f’(x) > đồ thị dốc sang trái, x có xu hướng giảm để "xuống dốc"; f’(x) < đồ thị dốc sang phải, x có Page Nhóm , lớp HP: 1816 xu hướng tăng để "xuống dốc"; f’(x) = x nằm "chân dốc" ta tìm điểm cực tiểu hàm số Xuất phát từ điểm x bất kỳ, ta cần điều chỉnh x để có xu hướng tiến điểm mà hàm số đạt cực tiểu Điều đạt cách lặp lại liên tiếp phép biến đổi x=x-f’(x) (4) Hình 8: Biểu diễn lặp Gradient Thông thường, ta thực phép lặp đến f'(x) = mà |f'(x)| nhỏ ta coi tìm điểm cực tiểu Trong phép biến đổi trên, α gọi learning rate Learning rate lớn "bước nhảy" x lớn số lần lặp cần thiết để tìm điểm cực tiểu giảm Tuy nhiên learning rate q lớn sau lần lặp x cách xa điểm cực tiểu ta khơng thể tìm điểm cực tiểu  Learning_rate () gì? Learning rate: đại lượng dùng để điều chỉnh tốc độ học máy Việc chọn hệ số learning_rate quan trọng, có trường hợp:  Nếu learning_rate nhỏ: lần hàm số giảm nên cần nhiều lần thực bước để hàm số đạt giá trị nhỏ  Nếu learning_rate hợp lý: sau số lần lặp bước vừa phải hàm đạt giá trị đủ nhỏ  Nếu learning_rate lớn: gây tượng vượt (overshoot) không đạt giá trị nhỏ hàm Hình 9: Biểu diễn Learning rate cho trường hợp[3] Page 10 Nhóm , lớp HP: 1816 for(int i=0;i

Ngày đăng: 12/10/2020, 10:27

Hình ảnh liên quan

Bảng phân công nhiệm vụ - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Bảng ph.

ân công nhiệm vụ Xem tại trang 1 của tài liệu.
Hình 1: Biểu diễn mối liên hệ diện tích và giá nhà khi không có yếu tố bên ngoài tác động - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 1.

Biểu diễn mối liên hệ diện tích và giá nhà khi không có yếu tố bên ngoài tác động Xem tại trang 4 của tài liệu.
Hình 2: Biểu diễn mối liên hệ diện tích và giá nhà khi có yếu tố bên ngoài tác động - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 2.

Biểu diễn mối liên hệ diện tích và giá nhà khi có yếu tố bên ngoài tác động Xem tại trang 4 của tài liệu.
1.1. GIỚI THIỆU TÌM MÔ HÌNH TUYẾN TÍNH CỦA TẬP DỮ LIỆU 1.1.1. Lý thuyết [1] - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

1.1..

GIỚI THIỆU TÌM MÔ HÌNH TUYẾN TÍNH CỦA TẬP DỮ LIỆU 1.1.1. Lý thuyết [1] Xem tại trang 5 của tài liệu.
Hình 5: Kết quả bài toán - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 5.

Kết quả bài toán Xem tại trang 7 của tài liệu.
Hình 6: Mô hình hồi quy tuyến tính - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 6.

Mô hình hồi quy tuyến tính Xem tại trang 8 của tài liệu.
Hình 7: Minh họa của Gradient - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 7.

Minh họa của Gradient Xem tại trang 9 của tài liệu.
Hình 9: Biểu diễn Learning rate cho từng trường hợp[3] - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 9.

Biểu diễn Learning rate cho từng trường hợp[3] Xem tại trang 10 của tài liệu.
Hình 8: Biểu diễn lặp của Gradient - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 8.

Biểu diễn lặp của Gradient Xem tại trang 10 của tài liệu.
Hình 10: Sự khác nhau cho từng vị trí chọn ban đầu - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 10.

Sự khác nhau cho từng vị trí chọn ban đầu Xem tại trang 11 của tài liệu.
Chúng tôi kiểm chứng chương trình trên 2 tập dữ liệu sinh từ matlab(bảng 1) và dữ liệu trong tài liệu[2] (bảng 2)  - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

h.

úng tôi kiểm chứng chương trình trên 2 tập dữ liệu sinh từ matlab(bảng 1) và dữ liệu trong tài liệu[2] (bảng 2) Xem tại trang 26 của tài liệu.
Bảng 1: Dữ liệu đầu vào gồm 20 mẫu được sinh từ phương trình y=3*x-4 với x=rand(20,1); - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Bảng 1.

Dữ liệu đầu vào gồm 20 mẫu được sinh từ phương trình y=3*x-4 với x=rand(20,1); Xem tại trang 27 của tài liệu.
Bảng 2: Dữ liệu đầu vào về chiều cao và cân nặng của 15 người [2] - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Bảng 2.

Dữ liệu đầu vào về chiều cao và cân nặng của 15 người [2] Xem tại trang 27 của tài liệu.
Nhận xét:Từ kết quả chạy chương trìn hở dữ liểu bảng 1 thì chúng ta cho ra kết quả gần đúng - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

h.

ận xét:Từ kết quả chạy chương trìn hở dữ liểu bảng 1 thì chúng ta cho ra kết quả gần đúng Xem tại trang 28 của tài liệu.
Hình 12: Kết quả dự đoán của 10 mẫu dữ liệu ở bảng 2 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 12.

Kết quả dự đoán của 10 mẫu dữ liệu ở bảng 2 Xem tại trang 29 của tài liệu.
Hình 13: Kết quả dự đoán của 15 mẫu dữ liệu ở bảng 2 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 13.

Kết quả dự đoán của 15 mẫu dữ liệu ở bảng 2 Xem tại trang 29 của tài liệu.
Bảng 3: Bảng kết quả tìm được với mỗi giá trị khác nhau từ dữ liệu bảng 1 vớ i= 1e-2, giá trị khởi tạo w0 = w1 = 0 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Bảng 3.

Bảng kết quả tìm được với mỗi giá trị khác nhau từ dữ liệu bảng 1 vớ i= 1e-2, giá trị khởi tạo w0 = w1 = 0 Xem tại trang 30 của tài liệu.
Hình 14: Đồ thị hàm mất mát với w0 = w1 = -10 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 14.

Đồ thị hàm mất mát với w0 = w1 = -10 Xem tại trang 31 của tài liệu.
Cùng một dữ kiện bài toán lấy từ bảng 1, chọn = 0.1, = 1e-6 ta có: - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

ng.

một dữ kiện bài toán lấy từ bảng 1, chọn = 0.1, = 1e-6 ta có: Xem tại trang 31 của tài liệu.
Hình 16: Đồ thị hàm mất mát vớ i= 1e-5, w0 = w1 =0, = 1e-6 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 16.

Đồ thị hàm mất mát vớ i= 1e-5, w0 = w1 =0, = 1e-6 Xem tại trang 32 của tài liệu.
Hình 17: Đồ thị hàm mất mát vớ i= 6, w0 = w1 =0, = 1e-6 - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Hình 17.

Đồ thị hàm mất mát vớ i= 6, w0 = w1 =0, = 1e-6 Xem tại trang 32 của tài liệu.
Bảng 5: Bảng so sánh ưu,nhược điểm của hai phương pháp - tìm mô  hình hóa dữ liệu bằng phương pháp bình phương tối thiểu và thuật toán giảm gradient

Bảng 5.

Bảng so sánh ưu,nhược điểm của hai phương pháp Xem tại trang 33 của tài liệu.

Từ khóa liên quan

Mục lục

  • 1.1. GIỚI THIỆU TÌM MÔ HÌNH TUYẾN TÍNH CỦA TẬP DỮ LIỆU

  • 1.1.1. Lý thuyết [1]

  • 1.1.2. Phân tích bài toán

  • 1.2. PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU[2]

    • 1.2.1. Nghiệm của thuật toán hồi quy tuyến tính một biến

    • 1.2.2.Tóm tắt thuật toán

    • 1.3. THUẬT TOÁN GIẢM GRADIENT

    • 2.1. PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU

      • 2.1.1. Thuật toán

      • 2.1.2. Chương trình C++

      • 2.2.THUẬT TOÁN GIẢM GRADIENT

        • 2.2.2. Chương trình C++

        • 3.1. MÔ TẢ DỮ LIỆU

        • 3.2. PHƯƠNG PHÁP BÌNH PHƯƠNG TỐI THIỂU

        • 3.3. THUẬT TOÁN GIẢM GRADIENT

          • 3.3.1. Giới hạn dưới khác nhau

          • 3.3.2. Điểm khởi tạo khác nhau

          • 3.3.3.Learning rate () khác nhau

Tài liệu cùng người dùng

Tài liệu liên quan