Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
470,13 KB
Nội dung
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