Machine Learning Cơ Bản.pdf

400 1 0
Machine Learning Cơ Bản.pdf

Đ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

Vũ Hữu Tiệp Machine Learning machinelearningcoban.com Vũ Hữu Tiệp Machine Learning Order ebook https:// machinelearningcoban.com/ ebook/ Blog: https:// machinelearningcoban.com Facebook Page: https:// www.facebook.com/ machinelearningbasicvn/ Facebook Group: https:// www.facebook.com/ groups/ machinelearningcoban/ Interactive Learning: https:fundaml.com Last update: March 27, 2018 Chương Lời tác giả Những năm gần đây, trí tuệ nhân tạo (artificial intelligence–AI ) lên chứng cách mạng công nghiệp lần thứ tư (1–động nước, 2–năng lượng điện, 3–cơng nghệ thơng tin) Trí tuệ nhân tạo trở thành thành phần cốt lõi hệ thống cơng nghệ cao Nó len lỏi vào hầu hết lĩnh vực đời sống mà không nhận Xe tự hành Google Tesla, hệ thống tự tag khuôn mặt ảnh Facebook; trợ lý ảo Siri Apple, hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix, hệ thống dịch đa ngôn ngữ Google Translate, máy chơi cờ vây AlphaGo gần AlphaGo Zero Google DeepMind, v.v., vài ứng dụng bật ứng dụng trí tuệ nhân tạo Học máy (machine learning–ML) tập trí tuệ nhân tạo Nó lĩnh vực nhỏ khoa học máy tính, có khả tự học hỏi dựa liệu đưa vào mà khơng cần phải lập trình cụ thể (Machine Learning is the subfiled of computer science, that “gives computers the ability to learn without being explicitly programmed”–Wikipedia) Những năm gần đây, phát triển hệ thống tính tốn với lượng liệu khổng lồ thu thập hãng công nghệ lớn giúp machine learning tiến thêm bước dài Một lĩnh vực đời gọi học sâu (deep learning–DL) Deep learning giúp máy tính thực thi việc tưởng chừng vào mười năm trước: phân loại ngàn vật thể khác ảnh, tự tạo thích cho ảnh, bắt chước giọng nói chữ viết người, giao tiếp với người, chuyển đổi ngôn ngữ, hay chí sáng tác văn thơ hay âm nhạc1 Mối quan hệ AI-ML-DL Deep learning tập machine learning Machine learning tập artificial intelligence (xem Hình 0.1) Đọc thêm: Inspirational Applications of Deep Learning (https:// goo.gl/ Ds3rRy) CHƯƠNG LỜI TÁC GIẢ ii Hình 0.1: Mối quan hệ artificial intelligence, machine learning, deep learning (Nguồn What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning? – https:// goo.gl/ NNwGCi) 0.1 Mục đích sách Những phát triển thần kỳ trí tuệ nhân tạo dẫn đến nhu cầu cao nhân lực ngành khoa học liệu, machine learning, ngành liên quan toàn giới Việt Nam năm tới Đó động lực để bắt đầu viết blog Machine Learning (https:// machinelearningcoban.com) từ đầu năm 2017 Tính tới thời điểm tơi viết dịng này, trang blog có 650 ngàn lượt ghé thăm Facebook page Machine Learning (https:// goo.gl/ wyUEjr ) blog có 10 nghìn lượt likes, Forum Machine Learning (https:// goo.gl/ gDPTKX ) có gần nghìn thành viên Trong trình viết blog trì trang Facebook, nhận nhiều ủng hộ bạn đọc tinh thần vật chất Ngoài ra, nhiều bạn đọc khuyến khích tơi tổng hợp kiến thức blog lại thành sách cho cộng đồng người làm machine learning sử dụng tiếng Việt Những ủng hộ lời động viên động lực lớn cho tơi bắt tay vào thực hoàn thành sách Lĩnh vực machine learning deep learning rộng lớn có nhiều nhánh nhỏ Để sâu vào nhánh, sách chắn bao quát vấn đề Mục đích sách cung cấp cho bạn khái niệm, kỹ thuật chung Machine Learning https:// machinelearningcoban.com iii CHƯƠNG LỜI TÁC GIẢ thuật toán machine learning Từ đó, bạn đọc muốn sâu vào vấn đề cụ thể tìm đọc thêm tài liệu, sách, khố học liên quan Hãy nhớ đơn giản trước hết Khi bắt tay vào giải toán machine learning hay toán nào, nên thuật toán đơn giản Khơng nên nghĩ có thuật tốn phức tạp giải vấn đề Những thuật tốn phức tạp thường u cầu độ tính tốn cao nhạy cảm với cách chọn tham số đầu vào Thêm vào đó, thuật tốn đơn giản giúp sớm có mơ hình tổng qt cho toán Kết thuật toán đơn giản, thường gọi baseline, giúp có nhìn ban đầu phức tạp toán Việc cải thiện kết dần thực bước sau Cuốn sách giúp bạn có nhìn hướng giải cho toán machine learning Để có sản phẩm thực tiễn, phải học hỏi thực hành thêm nhiều 0.2 Hướng tiếp cận sách Để giải toán machine learning, cần chọn mơ hình phù hợp Mơ hình mơ tả tham số, lên tới triệu tham số, mà cần tìm Thơng thường, tham số tìm cách giải toán tối ưu Khi viết thuật tốn machine learning, tơi bắt đầu ý tưởng trực quan, theo sau mô hình tốn học mơ tả ý tưởng Các tham số mơ hình tìm cách tối ưu mơ hình tốn học Các suy luận tốn học ví dụ mẫu Python cuối giúp bạn đọc hiểu rõ nguồn gốc, ý nghĩa, cách sử dụng thuật toán Xen kẽ phần thuật toán machine learning, giới thiệu kỹ thuật tối ưu bản, với hy vọng giúp bạn đọc hiểu rõ chất vấn đề 0.3 Đối tượng sách Cuốn sách thực hướng đến nhiều nhóm độc giả khác Nếu bạn khơng thực muốn sâu vào phần tốn, bạn tham khảo source code cách sử dụng thư viện Nhưng để sử dụng thư viện cách hiệu quả, bạn cần hiểu nguồn gốc mơ hình ý nghĩa tham số Nếu bạn thực muốn tìm hiểu nguồn gốc, ý nghĩa thuật tốn, bạn học nhiều điều từ cách xây dựng tối ưu mô hình Phần tổng hợp kiến thức tốn cần thiết Phần I nguồn tham khảo súc tích bạn có thắc mắc dẫn giải toán học sách2 Phần VII dành riêng để nói tối ưu lồi–một mảng quan trọng tối ưu, phù hợp với bạn thực muốn sâu thêm tối ưu Rất nhiều hình vẽ sách vẽ dạng vector graphics (độ phân giải cao), dùng giảng thuyết trình Các kiến thức sách xếp theo thứ tự từ dễ đến khó, sách hy vọng giáo trình cho khoá học machine learning tiếng Việt Bạn đọc chưa quen với nhiều khái niệm toán học phần đọc từ Phần II quay lại bạn gặp khó khăn Machine Learning https:// machinelearningcoban.com CHƯƠNG LỜI TÁC GIẢ iv Các dẫn giải toán học xây dựng phù hợp với chương trình tốn phổ thơng đại học Việt Nam Các từ khoá dịch sang tiếng Việt dựa tài liệu học nhiều năm học toán Việt Nam Các thuật ngữ tiếng Anh thường xuyên sử dụng, với hy vọng giúp bạn đọc dần làm quen với tài liệu tiếng Anh, giúp bạn học đại học nước ngồi tiếp cận Phần cuối sách có mục Index thuật ngữ quan trọng tiếng Anh nghĩa tiếng Việt kèm tơi tìm cách dịch phù hợp 0.4 u cầu kiến thức Để bắt đầu đọc sách này, bạn cần có kiến thức định đại số tuyến tính, giải tích ma trận, xác suất thống kê, kỹ lập trình Phần I sách ơn tập lại kiến thức tốn quan trọng cho machine learning Bất bạn đọc gặp khó khăn tốn, bạn khuyến khích đọc lại chương phần Ngôn ngữ lập trình sử dụng sách Python Lý tơi sử dụng ngơn ngữ ngơn ngữ lập trình miễn phí, cài đặt dễ dàng tảng hệ điều hành khác Quan trọng hơn, có nhiều thư viện hỗ trợ machine learning deep learning viết cho Python Có hai thư viện python thường sử dụng sách numpy scikit-learn Numpy (http:// www.numpy.org/ ) thư viện phổ biến giúp xử lý phép toán liên quan đến mảng nhiều chiều, với hàm gần gũi với đại số tuyến tính Nếu bạn đọc chưa quen thuộc với numpy, bạn tham gia khố học ngắn miễn phí trang web kèm theo sách (https:// fundaml.com) Bạn làm quen với cách xử lý mảng nhiều chiều với nhiều ví dụ tập thực hành trực tiếp trình duyệt Các kỹ thuật xử lý mảng sách đề cập Scikit-learn, hay sklearn, (http:// scikit-learn.org/ ) thư viện chứa nhiều thuật toán machine learning dễ sử dụng Tài liệu scikit-learn nguồn chất lượng cho bạn làm machine learning Scikit-learn dùng sách cách kiểm chứng lại kết mà thực dựa suy luận tốn học lập trình thơng qua numpy Tất nhiên, thư viện machine learning phổ biến có bạn tạo sản phẩm cách sử dụng thư viện mà khơng cần nhiều kiến thức tốn Tuy nhiên, sách không hướng tới việc sử dụng thư viện sẵn có mà khơng hiểu chất đằng sau chúng Việc sử dụng thư viện yêu cầu kiến thức định việc lựa chọn điều chỉnh tham số mơ hình 0.5 Source code kèm Toàn source code sách tìm thấy https:// github.com/ tiepvupsu/ ebookML_src Các file có ipynb file chứa code (Jupyter notebook) Các file có pdf, png hình tạo từ file ipynb Machine Learning https:// machinelearningcoban.com v CHƯƠNG LỜI TÁC GIẢ 0.6 Bố cục sách Cuốn sách chia thành phần tiếp tục cập nhật: Phần I ôn tập lại cho bạn đọc kiến thức quan trọng đại số tuyến tính, giải tích ma trận, xác suất, hai phương pháp phổ biến việc ước lượng tham số cho mơ hình machine learning thống kê Phần II giới thiệu khái niệm machine learning, kỹ thuật xây dựng vector đặc trưng cho liệu, mơ hình machine learning bản–linear regression, tượng cần tránh xây dựng mơ hình machine learning Phần III giúp bạn làm quen với mơ hình machine learning trực quan, không yêu cầu nhiều kiến thức tốn phức tạp Qua đây, bạn đọc có nhìn việc xây dựng mơ hình machine learning Phần IV đề cập tới lớp thuật toán machine learning phổ biến nhất–neural networks, tảng cho mơ hình deep learning phức tạp Phần giới thiệu kỹ thuật hữu dụng việc giải tốn tối ưu khơng ràng buộc Phần V giới thiệu kỹ thuật thường dùng hệ thống khuyến nghị sản phầm Phần VI giới thiệu kỹ thuật giảm chiều liệu Phần VII mang lại cho bạn nhìn bao quát tối ưu, đặc biệt tối ưu lồi Các toán tối ưu lồi có ràng buộc giới thiệu phần Phần VIII giới thiệu thuật toán phân lớp dựa ý tưởng support vector machine 0.7 Các lưu ý ký hiệu Các ký hiệu tốn học sách mơ tả Bảng 0.1 đầu Chương Các khung với font chữ có chiều rộng ký tự dùng để chứa đoạn source code text in a box with constant width represents source codes Các đoạn ký tự với constant width, deep red, ’string, dark green’ dùng để biến, hàm số, chuỗi, v.v., đoạn code Đóng khung in nghiêng Các khái niệm, định nghĩa, định lý, lưu ý quan trọng đóng khung in nghiêng Ký tự phân cách phần nguyên phần thập phân số thực dấu chấm, ‘.’, thay dấu phẩy, ‘,’, tài liệu tiếng Việt khác Cách làm thống với tài liệu tiếng Anh ngôn ngữ lập trình Machine Learning https:// machinelearningcoban.com CHƯƠNG LỜI TÁC GIẢ vi 0.8 Tham khảo thêm Có nhiều sách, khoá học, website hay machine learning deep learning, đó, có số mà tơi muốn đặc biệt nhấn mạnh: 0.8.1 Khố học Khóa học Machine Learning Andrew Ng Coursera (https:// goo.gl/ WBwU3K ) Khoá học Deep Learning Specialization Andrew Ng (https:// goo.gl/ ssXfYN ) Các khoá CS224n: Natural Language Processing with Deep Learning (https:// goo.gl/ 6XTNkH ); CS231n: Convolutional Neural Networks for Visual Recognition (http:// cs231n.stanford.edu/ ); CS246: Mining Massive Data Sets (https:// goo.gl/ TEMQ9H ) Stanford Introduction to Computer Science and Programming Using Python (https:// goo.gl/ 4nNXvJ ) MIT 0.8.2 Sách C Bishop, Pattern Recognition and Machine Learning (https:// goo.gl/ pjgqRr ), Springer, 2006 [Bis06] I Goodfellow et al., Deep Learning (https:// goo.gl/ sXaGwV ), MIT press, 2016 [GBC16] J Friedman et al., The Elements of Statistical Learning (https:// goo.gl/ Qh9EkB ), Springer, 2001 [FHT01] Y Abu-Mostafa et al., Learning from data (https:// goo.gl/ SRfNFJ ), AMLBook New York, 2012 [AMMIL12] S JD Prince, Computer Vision: Models, Learning, and Inference (https:// goo.gl/ 9Fchf3 ), Cambridge University Press, 2012 [Pri12] S Boyd et al., Convex Optimization (https:// goo.gl/ NomDpC ), Cambridge university press, 2004 [BV04] Ngoài ra, website Machine Learning Mastery (https:// goo.gl/ 5DwGbU ), Pyimagesearch (https:// goo.gl/ 5DwGbU ) Kaggle (https:// www.kaggle.com/ ), Scikit-learn (http: // scikit-learn.org/ ) nguồn thơng tin hữu ích Machine Learning https:// machinelearningcoban.com vii CHƯƠNG LỜI TÁC GIẢ 0.9 Đóng góp ý kiến Mọi ý kiến đóng góp, phản hồi, báo lỗi cho nội dung sách tốt đáng quý Các bạn gửi ý kiến tới vuhuutiep@gmail.com tạo issue https:// goo.gl/ zPYWKV Cuốn sách tiếp tục chỉnh sửa thêm chương sách giấy mắt Tất bạn đặt ebook nhận cập nhật sách giấy (dự tính vào năm 2018) 0.10 Vấn đề quyền Toàn nội dung blog sách (bao gồm source code hình ảnh minh hoạ) thuộc quyền tôi–Vũ Hữu Tiệp Tôi mong muốn kiến thức tạo đến với nhiều bạn đọc Tuy nhiên, tơi khơng ủng hộ hình thức chép khơng trích nguồn Mọi trích dẫn cần nêu rõ tên sách, tên tác giả (Vũ Hữu Tiệp), link gốc tới blog Các viết trích dẫn q 25% tồn văn post blog chương sách khơng phép, trừ trường hợp có đồng ý tác giả Mọi vấn đề liên quan đến chép, phân phát, đăng tải, sử dụng sách blog, trao đổi, cộng tác, xin vui lòng liên hệ với địa email vuhuutiep@gmail.com 0.11 Lời cảm ơn Trước hết, xin cảm ơn bạn bè friend list Facebook tơi nhiệt tình ủng hộ chia sẻ blog ngày đầu blog mắt Tôi xin chân thành cảm ơn bạn đọc blog Machine Learning Facebook page Machine Learning đồng hành suốt năm qua Khơng có độc giả, chắn tơi khơng có đủ động lực viết 30 blog nhiều ghi chép nhanh Facebook page Trong q trình viết blog, tơi nhận rất nhiều ủng hộ bạn đọc vật chất lẫn tinh thần Khơng có ủng hộ lời động viên viết sách, dự án bắt đầu Khi bắt đầu, số lượng pre-order sách tăng lên ngày Tôi thực biết ơn bạn pre-order lời nhắn gửi ấm áp Quan trọng hết, số lượng sách đặt trước tơi hồn thành khiến tơi tin sản phẩm tạo mang lại giá trị định cho cộng đồng Những điều góp phần tơi trì tinh thần làm việc cố gắng để tạo sản phẩm chất lượng Tơi may mắn nhận phản hồi tích cực góp ý từ thầy trường đại học lớn ngồi nước Tơi xin gửi lời cảm ơn tới thầy Phạm Ngọc Nam cô Nguyễn Việt Hương (ĐH Bách Khoa Hà Nội), thầy Chế Viết Nhật Anh (ĐH Bách Khoa Tp.HCM), thầy Nguyễn Thanh Tùng (ĐH Thuỷ Lợi), thầy Trần Duy Trác (ĐH Machine Learning https:// machinelearningcoban.com CHƯƠNG LỜI TÁC GIẢ viii Johns Hopkins), anh Nguyễn Hồng Lâm (người hướng dẫn thời gian thực tập U.S Army Research Lab) Tôi đặc biệt cảm ơn bạn Nguyễn Hoàng Linh Hoàng Đức Huy, Đại học Waterloo–Canada, người bạn nhiệt tình giúp tơi xây dựng trang FundaML.com giúp bạn đọc học Python/Numpy trực tiếp trình duyệt Tơi xin cảm ơn bạn Lê Việt Hải–nghiên cứu sinh ngành toán ứng dụng Penn State, Đinh Hoàng Phong–kỹ sư phần mềm Facebook–đã góp ý sửa đổi nhiều điểm ngơn ngữ tốn nháp Tơi tin sách sửa đổi nhiều so với phiên blog Tôi xin cảm ơn ba người bạn thân–Nguyễn Tiến Cường, Nguyễn Văn Giang, Vũ Đình Quyền– ln động viên tơi đóng góp nhiều phản hồi q giá cho sách Ngồi ra, tơi xin cảm ơn người bạn thân thiết khác Penn State bên cạnh thời gian tơi thực dự án, bao gồm gia đình anh Triệu Thanh Quang, gia đình anh Trần Quốc Long, bạn thân (cũng blogger) Nguyễn Phương Chi, đồng nghiệp John McKay, Tiantong Guo, Hojjat Mousavi, Omar Aldayel, Mohammad Tofighi Phòng nghiên cứu Xử lý Thơng tin Thuật tốn (Information Processing and Algorithm Laboratory–iPAL), ĐH bang Pennsylvania Cuối quan trọng nhất, xin cảm ơn gia đình tơi, người ln ủng hộ vô điều kiện hỗ trợ q trình tơi thực dự án Machine Learning https:// machinelearningcoban.com 295 CHƯƠNG 23 TẬP LỒI VÀ HÀM LỒI Hình 23.13: Mọi alpha-sublevel sets convex sets hàm số nonconvex Quay lại với Hình 23.12, hàng trên, α–sublevel sets hình lồi bao level set Ở Hình 23.12d, α–sublevel sets phần nửa mặt phẳng phía xác định đường thẳng level set Ở Hình 23.12e, α–sublevel set vùng bị giới hạn trục tọa độ đườnglevel set Ở Hình 23.12f, α–sublevel set khó tưởng tượng mộtchút Với α > 0, level sets đường màu vàng đỏ, α–sublevel set tương ứng phần nằm đường màu Các vùng này, dễ nhận thấy, khơng lồi Định lý 23.2 Nếu hàm số lồi α–sublevel set lồi Điều gược lại chưa đúng, tức α–sublevel set hàm số lồi hàm số chưa lồi Điều tồn giá trị α cho α–sublevel set hàm số không lồi (nonconvex ), hàm số khơng lồi (khơng lồi khơng có nghĩa concave, ý) Vì vậy, hàm hyperbolic khơng phải hàm lồi Các ví dụ Hình 23.12, trừ Hình 23.12f, tương ứng với hàm lồi Xét ví dụ việc hàm số không convex α–sublevel sets convex Hàm f (x, y) = −ex+y có α–sublevel set nửa mặt phẳng – convex, khơng phải convex (trong trường hợp concave) Hình 23.13 ví dụ khác việc hàm số có α–sublevel set lồi khơng phải hàm lồi Mọi α− sublevel set hàm số hình trịn – lồi, Machine Learning https:// machinelearningcoban.com CHƯƠNG 23 TẬP LỒI VÀ HÀM LỒI 296 hàm số khơng phải lồi Vì tìm hai điểm mặt cho đoạn thẳng nối hai điểm nằm hồn tồn phía mặt Chẳng hạn, đoạn thẳng nối điểm cánh điểm đáy khơng nằm hồn tồn phía mặt Những hàm số có tập xác định tập lồi có α–sublevel set lồi gọi chung quasiconvex Mọi hàm convex quasiconvex ngược lại không Định nghĩa thức quasiconvex function phát biểu sau Định nghĩa 23.9: Quasiconvex function Một hàm số f : C → R với C tập lồi Rn gọi quasiconvex với x, y ∈ C θ ∈ [0, 1], ta có: f (θx + (1 − θ)y) ≤ max{f (x), f (y)} Định nghĩa khác với định nghĩa convex function chút việc sử dụng hàm max 23.3.6 Kiểm tra tính chất lồi dựa vào đạo hàm Có cách để nhận biết hàm số khả vi có hàm lồi hay khơng dựa vào đạo hàm bậc bậc hai Tất nhiên trường hợp đạo hàm tồn First-order condition Trước hết định nghĩa phương trình mặt tiếp tuyến hàm số f khả vi điểm nằm đồ thị (mặt) hàm số (x0 , f (x0 ) Với hàm biến, phương trình tiếp tuyến điểm co hoành độ (x0 , f (x0 )) y = f (x0 )(x − x0 ) + f (x0 ) Với hàm nhiều biến, đặt ∇f (x0 ) gradient hàm số f điểm x0 , phương trình mặt tiếp tuyến cho bởi: y = ∇f (x0 )T (x − x0 ) + f (x0 ) First-order condition Giả sử hàm số f có tập xác định lồi, có đạo hàm điểm tập xác định Khi đó, hàm số f lồi với x, x0 tập xác định hàm số đó, ta có: f (x) ≥ f (x0 ) + ∇f (x0 )T (x − x0 ) (23.3) Tương tự thế, hàm số stricly convex dấu (23.3) xảy x = x0 Nói cách trực quan hơn, hàm số lồi mặt tiếp tuyến điểm đồ thị hàm số khơng nằm đồ thị Machine Learning https:// machinelearningcoban.com 297 CHƯƠNG 23 TẬP LỒI VÀ HÀM LỒI f is differentiable with convex domain f is convex iff f (x) ≥ f (x0 ) + ∇f (x0 )T (x − x0 ), ∀x, x0 ∈ domf T f (x) (x0 , f (x0 )) f (x )+ ∇ ) f (x ( x− (a) convex function ) x0 (b) nonconvex function Hình 23.14: Kiểm tra tính convexity dựa vào đạo hàm bậc Trái: hàm lồi tiếp tuyến điểm nằm đồ thị hàm số đó, phải: hàm khơng lồi Hình 23.14 minh hoạ đồ thị hàm lồi hàm không lồi Hình 23.14a mơ tả hàm lồi Hình 23.14b mơ tả hàm khơng lồi đồ thị vừa nằm trên, vừa nằm đường thẳng tiếp tuyến Ví dụ: Nếu ma trận đối xứng A xác định dương hàm số f (x) = xT Ax lồi Chứng minh: Đạo hàm bậc f (x) ∇f (x) = 2Ax Vậy first-order condition viết dạng (chú ý A ma trận đối xứng): xT Ax ≥ 2(Ax0 )T (x − x0 ) + xT0 Ax0 ⇔ xT Ax ≥ 2xT0 Ax − xT0 Ax0 ⇔ (x − x0 )T A(x − x0 ) ≥ Bất đẳng thức cuối dựa định nghĩa ma trận xác định dương Vậy hàm số f (x) = xT Ax hàm lồi  Second-order condition Với hàm nhiều biến, tức biến vector, giả sử có chiều d, đạo hàm bậc vector có chiều d Đạo hàm bậc hai ma trận vng có chiều d × d Đạo hàm bậc hai hàm số f (x), gọi Hessian, ký hiệu ∇2 f (x) Second-order condition Một hàm số có đạo hàm bậc hai convex domf convex Hessian ma trận nửa xác định dương với x tập xác định: ∇2 f (x)  Machine Learning https:// machinelearningcoban.com CHƯƠNG 23 TẬP LỒI VÀ HÀM LỒI 298 Nếu Hessian hàm số ma trận xác định dương hàm số strictly convex Tương tự, Hessian ma trận xác định âm hàm số strictly concave Với hàm số biến f (x), điều kiện tương đương với f ”(x) ≥ với x thuộc tập xác định (và tập xác định lồi) Ví dụ: • Hàm negative entropy f (x) = x log(x) stricly convex tập xác định x > tập lồi f ”(x) = 1/x số dương với x thuộc tập xác định • Hàm f (x) = x2 + sin(x) khơng hàm lồi đạo hàm bậc hai f ”(x) = − sin(x) nhận giá trị âm • Hàm cross entropy hàm strictly convex Xét ví dụ đơn giản với hai xác suất x − x với a số thuộc đoạn [0, 1] < x < 1: f (x) = −(a log(x) + (1 − 1−a a) log(1 − x)) có đạo hàm bậc hai xa2 + (1−x) số dương • Nếu A ma trận xác định dương f (x) = 21 xT Ax lồi A Hessian • Xét hàm số negative entropy với hai biến: f (x, y) = x log(x) + y log(y) tập giá trị T dương  x y Hàm số có đạo hàm bậc [log(x) + 1, log(y) + 1] Hessian 1/x , ma trận đường chéo với thành phần đường chéo dương 1/y nên ma trận xác định dương Vậy negative entropy hàm strictly convex Ngoài cịn nhiều tính chất thú vị hàm lồi, bạn khuyến khích đọc thêm Chương Convex Optimization [BV04] 23.4 Tóm tắt • Machine learning tối ưu có quan hệ mật thiết với Trong tối ưu, tối ưu lồi quan trọng • Trong tập lồi, đoạn thẳng nối hai điểm tập nằm hồn tồn tập Tập hợp giao điểm tập lồi tập lồi • Một hàm số lồi đoạn thẳng nối hai điểm đồ hàm số khơng nằm đồ thị • Một hàm số khả vi lồi tập xác định lồi mặt tiếp tuyến điểm không nằm phía đồ thị hàm số • Các norms hàm lồi, sử dụng nhiều tối ưu Machine Learning https:// machinelearningcoban.com Chương 24 Bài toán tối ưu lồi 24.1 Giới thiệu Chúng ta bắt đầu viết ba toán tối ưu gần với thực tế 24.1.1 Bài toán nhà xuất Bài toán: Một nhà xuất (NXB) nhận đơn hàng 600 “Machine Learning bản” tới Thái Bình 400 tới Hải Phịng NXB có 800 kho Nam Định 700 kho Hải Dương Giá chuyển phát sách từ Nam Định tới Thái Bình 50,000 VND (50k), tới Hải Phòng 100k Giá chuyển phát từ Hải Dương tới Thái Bình 150k, tới Hải Phòng 40k Hỏi để tốn chi phí chuyển phát nhất, cơng ty nên phân phối kho chuyển tới địa điểm? Phân tích Để cho đơn giản, ta xây dựng bảng số lượng chuyển sách từ nguồn tới đích sau: Nguồn Đích Đơn giá (×10k) Số lượng Nam Định Thái Bình x Nam Định Hải Phịng 10 y Hải Dương Thái Bình 15 z Hải Dương Hải Phịng t Tổng chi phí (objective function) f (x, y, z, t) = 5x + 10y + 15z + 4t Các điều kiện ràng buộc (constraints) viết dạng biểu thức tốn học là: • Chuyển 600 tới Thái Bình: x + z = 600 CHƯƠNG 24 BÀI TỐN TỐI ƯU LỒI 300 • Chuyển 400 tới Hải Phòng: y + t = 400 • Lấy từ kho Nam Định khơng q 800: x + y ≤ 800 • Lấy từ kho Hải Dương khơng q 700: z + t ≤ 700 • x, y, z, t số tự nhiên Ràng buộc số tự nhiên khiến cho toán khó giải số lượng biến lớn Với toán này, giả sử x, y, z, t số thực dương Nghiệm tìm làm tròn tới số tự nhiên gần Vậy ta cần giải toán tối ưu sau đây: Bài toán NXB1 (x, y, z, t) = arg 5x + 10y + 15z + 4t x,y,z,t thoả mãn: x + z = 600 y + t = 400 x + y ≤ 800 z + t ≤ 700 x, y, z, t ≥ (24.1) Nhận thấy hàm mục tiêu (objective function) hàm tuyến tính biến x, y, z, t Các điều kiện ràng buộc có dạng siêu phẳng nửa khơng gian, ràng buộc tuyến tính (linear constraints) Bài tốn tối ưu với objective function constraints tuyến tính gọi quy hoạch tuyến tính (linear programming (LP)) Dạng tổng quát cách thức lập trình để giải toán thuộc loại cho phần sau chương 24.1.2 Bài toán canh tác Bài tốn: Một anh nơng dân có tổng cộng 10ha (10 hecta) đất canh tác Anh dự tính trồng cà phê hồ tiêu diện tích đất với tổng chi phí cho việc trồng khơng q 16T (triệu đồng) Chi phí để trồng cà phê 2T cho 1ha, để trồng hồ tiêu 1T/ha Thời gian trồng cà phê ngày/ha hồ tiêu ngày/ha; anh có thời gian tổng cộng 32 ngày Sau trừ tất chi phí (bao gồm chi phí trồng cây), cà phê mang lại lợi nhuận 5T, hồ tiêu mang lại lợi nhuận 3T Hỏi anh phải quy hoạch để tối đa lợi nhuận? Phân tích Gọi x y số cà phê hồ tiêu mà anh nông dân nên trồng Lợi nhuận anh thu f (x, y) = 5x + 3y (triệu đồng) Đây hàm mục tiêu tốn Các ràng buộc toán viết dạng: Nghiệm cho tốn nhận thấy x = 600, y = 0, z = 0, t = 400 Nếu số lượng ràng buộc số biến nhiều hơn, cần lời giải tìm cách lập trình Machine Learning https:// machinelearningcoban.com 301 CHƯƠNG 24 BÀI TOÁN TỐI ƯU LỒI y + 5x x+4 y=3 3y = b( st on ac fe ib as x ) + tX se ant le y = 10 + 2x x y= (0, 0) Hình 24.1: Minh hoạ nghiệm cho toán canh tác Phần ngũ giác màu xám thể tập hợp điểm thoả mãn ràng buộc Các đường nét đứt thể đường đồng mức hàm mục tiêu với màu đỏ tương ứng với giá trị cao Nghiệm tìm điểm màu xanh, giao điểm hình ngũ giác xám đường đồng mức ứng với giá trị cao 16 • Tổng diện tích trồng khơng vượt q 10ha: x + y ≤ 10 • Tổng chi phí trồng khơng vượt q 16T: 2x + y ≤ 16 • Tổng thời gian trồng không vượt 32 ngày: x + 4y ≤ 32 • Diện tích cà phê hồ tiêu số không âm: x, y ≥ Vậy ta có tốn tối ưu sau đây: Bài toán canh tác (x, y) = arg max 5x + 3y x,y thoả mãn: x + y ≤ 10 2x + y ≤ 16 x + 4y ≤ 32 x, y ≥ (24.2) Bài toán yêu cầu tối đa hàm mục tiêu thay tối thiểu Việc chuyển toán toán tối thiểu thực đơn giản cách đổi dấu hàm mục tiêu Khi hàm mục tiêu tuyến tình, ràng buộc tuyến tính, ta lại có tốn linear programming Hình 24.1 minh hoạ nghiệm cho toán canh tác Vùng màu xám có dạng polyhedron (trong trường hợp đa giác) tập hợp điểm thoả mãn ràng buộc Các đường nét đứt có màu đường đồng mức (level set) hàm mục tiêu 5x + 3y, đường ứng với giá trị khác với màu đỏ ứng với giá trị cao Một cách trực quan, nghiệm toán tìm cách di chuyển đường nét đứt màu xanh phía bên phải (phía làm cho giá trị hàm mục tiêu lớn hơn) đến khơng cịn điểm chung với phần đa giác màu xám Có thể nhận thấy nghiệm tốn điểm màu xanh giao điểm hai đường thẳng x + y = 10 2x + y = 16 Giải hệ phương trình ta có x∗ = y ∗ = Tức anh Machine Learning https:// machinelearningcoban.com CHƯƠNG 24 BÀI TOÁN TỐI ƯU LỒI 302 nông dân nên trồng 6ha cà phê 4ha hồ tiêu Lúc lợi nhuận thu 5x∗ + 3y ∗ = 42 triệu đồng, anh thời gian 22 ngày Trong đó, trồng tồn hồ tiêu 32 ngày, tức 8ha, anh thu 24 triệu đồng Với tốn tối ưu có nhiều biến nhiều ràng buộc hơn, khó để minh hoạ tìm nghiệm cách Chúng ta cần có cơng cụ hiệu hơn, tốt nghiệm tìm cách lập trình 24.1.3 Bài tốn đóng thùng Bài tốn: Một cơng ty phải chuyển 400 m3 cát tới địa điểm xây dựng bên sông cách thuê xà lan Ngồi chi phí vận chuyển lượt 100k xà lan, cơng ty phải thiết kế thùng hình hộp chữ nhật đặt xà lan để đựng cát Chiếc thùng không cần nắp, chi phí cho mặt xung quanh 1T/m2 , cho mặt đáy 2T/m2 Hỏi kích thước thùng để tổng chi phí vận chuyển nhỏ Để cho đơn giản, giả sử cát đổ ngang thấp với phần thành thùng, khơng có Giả sử thêm xà lan rộng vô hạn chứa sức nặng vô hạn, giả sử khiến tốn dễ giải Phân tích Giả sử thùng cần làm có chiều dài, chiều rộng, chiều cao x, y, z (m) Thể tích thùng xyz (đơn vị m3 ) Có hai loại chi phí: 400 (ta tạm giả sử • Chi phí th xà lan Số chuyến xà lan phải thuê xyz số tự nhiên, việc làm trịn khơng thay đổi kết đáng kể chi phí vận chuyển chuyến nhỏ so với chi phí làm thùng) Số tiền phải trả cho xà lan 40 400 = = 40x−1 y −1 z −1 (0.1 0.1 triệu đồng) 0.1 xyz xyz • Chi phí làm thùng Diện tích xung quanh thùng 2(x + y)z Diện tích đáy xy Vậy tổng chi phí làm thùng 2(x + y)z + 2xy = 2(xy + yz + zx) Tổng tồn chi phí f (x, y, z) = 40x−1 y −1 z −1 + 2(xy + yz + zx) Điều kiện ràng buộc kích thước thùng phải số dương Vậy ta có tốn tối ưu sau Bài tốn vận chuyển: (x, y) = arg 40x−1 y −1 z −1 + 2(xy + yz + zx) x,y,z (24.3) thoả mãn: x, y, z > Bài toán thuộc loại geometric programming (GP) Định nghĩa GP cách dùng cơng cụ tối ưu trình bày phần sau chương Machine Learning https:// machinelearningcoban.com 303 CHƯƠNG 24 BÀI TOÁN TỐI ƯU LỒI Bảng 24.1: Bảng thuật ngữ ký hiệu toán tối ưu Ký hiệu Tiếng Anh x ∈ Rn f0 : Rn → R fi (x) ≤ fi : Rn → R Tiếng Việt optimization variable biến tối ưu objective/loss/cost/function hàm mục tiêu inequality constraint bất đẳng thức ràng buộc inequality constraint function hàm bất đẳng thức ràng buộc hj (x) = equality constraint đẳng thức ràng buộc hj : Rn → R equality constraint function Tm Tp D = i=0 domfi ∩ j=1 domhj domain hàm đẳng thức ràng buộc tập xác định Nhận thấy hồn tồn dùng bất đẳng thức Cauchy để giải được, muốn lời giải cho tốn tổng qt cho lập trình (Lời giải: √ 20 20 + + 2xy + 2yz + 2zx ≥ 3200 xyz xyz √ dấu xảy x = y = z = 10.) f (x, y, z) = Nếu có ràng buộc kích thước thùng trọng lượng mà xà lan tải tìm lời giải đơn giản khơng? Những tốn tốn tối ưu Chính xác nữa, chúng toán tối ưu lồi (convex optimization problems) bạn thấy phần sau chương Trước hết, cần hiểu khái niệm toán tối ưu lồi convex optimization problems chúng lại quan trọng 24.2 Nhắc lại toán tối ưu 24.2.1 Các khái niệm Bài toán tối ưu dạng tổng quát: x∗ = arg f0 (x) x thoả mãn: fi (x) ≤ 0, i = 1, 2, , m hj (x) = 0, j = 1, 2, , p (24.4) Phát biểu lời: Tìm giá trị biến x để tối thiểu hàm f0 (x) số giá trị x thoả mãn điệu ràng buộc Ta có bảng khái niệm ký hiệu toán tối ưu tiếng Anh tiếng Việt Bảng 24.1 Ngoài ra, Machine Learning https:// machinelearningcoban.com CHƯƠNG 24 BÀI TỐN TỐI ƯU LỒI 304 • Khi m = p = 0, toán (24.4) gọi tốn tối ưu khơng ràng buộc (unconstrained optimization problem) • D tập xác định, tức giao tất tập xác định hàm số xuất toán Tập hợp điểm thoả mãn điều kiện ràng buộc, thông thường, tập D gọi feasible set constraint set Khi feasible set tập rỗng ta nói tốn tối ưu (24.4) infeasible (vơ nghiệm) Nếu điểm nằm feasible set, ta gọi điểm feasible • Optimal value (giá trị tối ưu) toán tối ưu (24.4) định nghĩa là: p∗ = inf {f0 (x)|fi (x) ≤ 0, i = 1, , m; hj (x) = 0, j = 1, , p} inf viết tắt hàm infimum p∗ nhận giá trị ±∞ Nếu toán infeasible, tức khơng có điểm thoả mãn tất ràng buộc, ta coi p∗ = +∞, Nếu hàm mục tiêu không bị chặn (unbounded below ) tập xác định, ta coi p∗ = −∞ 24.2.2 Optimal locally optimal points Một điểm x∗ gọi điểm optimal point (điểm tối ưu), nghiệm toán (24.4) x∗ feasible f0 (x∗ ) = p∗ Tấp họp tất optimal point gọi optimal set Nếu optimal set tập khơng rỗng, ta nói tốn (24.4) giải (solvable) Ngược lại, optimal set tập rỗng, ta nói optimal value khơng thể đạt (not attained/ not achieved ) Ví dụ: xét hàm mục tiêu f (x) = 1/x với ràng buộc x > Optimal value toán p∗ = optimal set tập rỗng khơng có giá trị x để hàm mục tiêu đạt giá trị Lúc ta nói giá trị tối ưu không đạt Với hàm biến, điểm cực tiểu hàm số đó, hàm số đạt giá trị nhỏ lân cận (và lân cận thuộc tập xác định hàm số) Trong không gian chiều, lân cận điểm hiểu tập điểm cách điểm khoảng nhỏ Trong khơng gian nhiều chiều, ta gọi điểm x locally optimal tồn giá trị R > cho:  f0 (x) = inf f0 (z)|fi (z) ≤ 0, i = 1, , m, hj (z) = 0, j = 1, , p, kz − xk2 ≤ R (24.5) Nếu điểm feasible x thoả mãn fi (x) = 0, ta nói bất đẳng thức ràng buộc thứ i : fi (x) = active Nếu fi (x) < 0, ta nói ràng buộc inactive x 24.2.3 Một vài lưu ý Mặc dù định nghĩa toán tối ưu (24.4) cho toán tối thiểu hàm mục tiêu với ràng buộc thoả mãn điều kiện nhỏ 0, toán tối ưu với tối đa hàm mục tiêu điều kiện ràng buộc dạng khác đưa dạng này: Machine Learning https:// machinelearningcoban.com 305 CHƯƠNG 24 BÀI TỐN TỐI ƯU LỒI • max f0 (x) ⇔ −f0 (x) • fi (x) ≤ g(x) ⇔ fi (x) − g(x) ≤ • fi (x) ≥ ⇔ −fi (x) ≤ • a ≤ fi (x) ≤ b ⇔ fi (x) − b ≤ a − fi (x) ≤ • fi (x) ≤ ⇔ fi (x) + si = si ≥ si gọi slack variable Phép biến đổi đơn giản nhiều trường hợp lại tỏ hiệu bất đẳng thức si ≥ thường dễ giải fi (x) ≤ 24.3 Bài toán tối ưu lồi Trong toán tối ưu, đặc biệt quan tâm tới toán mà hàm mục tiêu hàm lồi, feasible set tập lồi 24.3.1 Định nghĩa Định nghĩa 24.1: Bài toán tối ưu lồi Một toán tối ưu lồi (convex optimization problem) tốn tối ưu có dạng x∗ = arg f0 (x) x thoả mãn: fi (x) ≤ 0, i = 1, 2, , m hj (x) = aTj x − bj = 0, j = 1, , f0 , f1 , , fm hàm lồi So với toán tối ưu (24.4), toán tối ưu lồi (24.6) có thêm ba điều kiện nữa: • Hàm mục tiêu hàm lồi • Các hàm bất đẳng thức ràng buộc fi hàm lồi • Hàm đẳng thức ràng buộc hj affine Một vài nhận xét: • Tập hợp điểm thoả mãn hj (x) = tập lồi có dạng hyperplane • Khi fi hàm lồi tập hợp điểm thoả mãn fi (x) ≤ 0–sublevel set fi tập lồi Machine Learning https:// machinelearningcoban.com CHƯƠNG 24 BÀI TỐN TỐI ƯU LỒI 306 • Như vậy, tập hợp điểm thoả mãn điều kiện ràng buộc giao điểm tập lồi, tập lồi Trong tốn tối ưu lồi, ta tối thiểu hàm mục tiêu lồi tập lồi 24.3.2 Local optimum tốn tối ưu lồi global optimum Tính chất quan trọng tốn tối ưu lồi điểm locally optimal point điểm (globally) optimal point (điểm cực tiểu nghiệm tốn) Việc chứng minh phản chứng Gọi x0 điểm locally optimal : f0 (x0 ) = inf{f0 (x)|x ∈ feasible set, kx − x0 k2 ≤ R} với R > Giả sử x0 khơng phải điểm globally optimal, tức tồn điểm feasible y cho f (y) < f (x0 ) (hiển nhiên y khơng nằm lân cận xét) Ta tìm θ ∈ [0, 1] đủ nhỏ cho z = (1 − θ)x0 + θy nằm lân cận x0 , tức kz − x0 k2 < R Việc có feasible set tập lồi Hơn nữa, hàm mục tiêu f0 hàm lồi, ta có f0 (z) = f0 ((1 − θ)x0 + θy) ≤ (1 − θ)f0 (x0 ) + θf0 (y) < (1 − θ)f0 (x0 ) + θf0 (x0 ) = f0 (x0 ) (24.6) (24.7) (24.8) điều mâu thuẫn với giả thiết x0 điểm cực tiểu Vậy giả sử sai, tức x0 globally optimal point ta có điều phải chứng minh  Chứng minh lời: giả sử điểm cực tiểu điểm làm cho hàm số đạt giá trị nhỏ Với điều kiện feasible set hàm mục tiêu lồi, ta ln tìm điểm khác lân cận điểm cực tiểu cho giá trị hàm mục tiêu điểm nhỏ giá trị hàm mục tiêu điểm cực tiểu Sự mâu thuẫn với toán tối ưu lồi, điểm cực tiểu phải điểm làm cho hàm số đạt giá trị nhỏ 24.3.3 Điều kiện tối ưu cho hàm mục tiêu khả vi Nếu hàm mục tiêu f0 khả vi, theo first-order condition, với x, y ∈ domf0 , ta có: f0 (x) ≥ f0 (x0 ) + ∇f0 (x0 )T (x − x0 ) (24.9) Đặt X feasible set Điều kiện cần đủ để điểm x0 ∈ X optimal point là: ∇f0 (x0 )T (x − x0 ) ≥ 0, ∀x ∈ X (24.10) Phần chứng minh cho điều kiện bỏ qua, bạn đọc tìm trang 139-140 Convex Optimization [BV04] Machine Learning https:// machinelearningcoban.com CHƯƠNG 24 BÀI TOÁN TỐI ƯU LỒI x0 suppor ting hy perplan e 307 x −∇f0 (x0 ) f 0(x feasible set X Hình 24.2: Biểu diễn hình học điều kiện tối ưu cho hàm mục tiêu khả vi Các đường nét đứt có màu tương ứng với level sets (đường đồng mức) 0) level sets Điều ∇f0 (x0 ) = x0 điểm optimal toán Nếu ∇f0 (x0 ) 6= 0, nghiệm toán phải nằm biên feasible set Thật vậy, quan sát Hình 24.2, điều kiện nói x0 điểm optimal với x ∈ X , vector từ x0 tới x hợp với vector −∇f0 (x0 ) góc tù Nói cách khác, ta vẽ mặt tiếp tuyến hàm mục tiêu x0 điểm feasible nằm phía so với mặt tiếp tuyến Điều x0 phải nằm biên feasible set X Hơn nữa, feasible set nằm phía làm cho hàm mục tiêu đạt giá trị cao f0 (x0 ) Mặt tiếp tuyến supporting hyperplane feasible set điểm x0 Nhắc lại vẽ level set, dùng màu lam để giá trị nhỏ, màu đỏ để giá trị lớn hàm (Một mặt phẳng qua điểm biên tập hợp cho điểm tập hợp nằm phía (hoặc nằm trên) so với mặt phẳng gọi siêu phẳng hỗ trợ (supporting hyperplane) Nếu tập hợp lồi, tồn supporting hyperplane điểm biên nó.) 24.3.4 Giới thiệu thư viện CVXOPT CVXOPT thư viện miễn phí Python kèm với sách Convex Optimization Hướng dẫn cài đặt, tài liệu hướng dẫn, ví dụ mẫu thư viện có đầy đủ trang web CVXOPT (http:// cvxopt.org/ ) Trong phần lại chương, thảo luận ba toán convex optimization: linear programming, quadratic programming, geometric programming Chúng ta lập trình để giải ví dụ nêu phần đầu viết dựa thư viện CVXOPT 24.4 Linear programming Chúng ta bắt đầu với lớp toán đơn giản convex optimization - linear programming (LP) Trong đó, hàm mục tiêu f0 (.) hàm bất đẳng thức ràng buộc fi (.), i = 1, , m hàm affine Machine Learning https:// machinelearningcoban.com CHƯƠNG 24 BÀI TOÁN TỐI ƯU LỒI 308 24.4.1 Dạng tổng quát linear programming Dạng tổng quát (general form) linear programming x = arg cT x + d x Gx  h Ax = b thoả mãn: (24.11) Trong G ∈ Rm×n , h ∈ Rm , A ∈ Rp×n , b ∈ Rp , c, x ∈ Rn d ∈ R Số vô hướng d làm thay đổi giá trị hàm mục tiêu mà không làm thay đổi nghiệm tốn nên lược bỏ Nhắc lại ký hiệu  nghĩa phần tử vector vế trái nhỏ phần tử tương ứng vector vế phải Chú ý nhiều bất đẳng thức dạng gi x ≤ hi , với gi vector hàng, viết gộp dạng Gx  h hàng G ứng với gi , phần tử h tương ứng với hi 24.4.2 Dạng tiêu chuẩn linear programming Trong dạng tiêu chuẩn (standard form) LP, bất đẳng thức ràng buộc điều kiện nghiệm có thành phần khơng âm Dạng tiêu chuẩn linear programming x = arg cT x x (24.12) thoả mãn: Ax = b x0 Dạng tổng quát (24.11) đưa dạng tiểu chuẩn (24.12) cách đặt thêm biến slack s x = arg cT x x,s thoả mãn: Ax = b Gx + s = h s0 (24.13) Tiếp theo, ta biểu diễn x dạng hiệu hai vector mà thành phần khơng âm, tức: x = x+ − x− , với x+ , x−  Ta tiếp tục viết lại (24.13) dạng: x = arg +min cT x+ − cT x− − x ,x ,s thoả mãn: Ax − Ax− = b Gx+ − Gx− + s = h x+  0, x−  0, s  + Machine Learning (24.14) https:// machinelearningcoban.com 309 CHƯƠNG 24 BÀI TỐN TỐI ƯU LỒI Hình 24.3: Biểu diễn hình học linear programming Linear Programming x1 x0 −c feasible set X Tới đây, bạn đọc thấy (24.14) viết gọn lại (24.12) 24.4.3 Minh hoạ hình học tốn linear programming Các tốn LP minh hoạ Hình 24.3 Điểm x0 điểm làm cho hàm mục tiêu đạt giá trị nhỏ nhất, điểm x1 điểm làm cho hàm mục tiêu đạt giá trị lớn Nghiệm tốn LP, có, thường điểm đỉnh polyheron feasible set mặt polyhedron (trong trường hợp đường level sets hàm mục tiêu song song với mặt đó, mặt đó, hàm mục tiêu đạt giá trị tối ưu) Tiếp theo, dùng thư viện CVXOPT để giải toán LP 24.4.4 Giải LP CVXOPT Nhắc lại toán canh tác (x, y) = arg max 5x + 3y x,y thoả mãn: x + y ≤ 10 2x + y ≤ 16 x + 4y ≤ 32 x, y ≥ (24.15) Các điều kiện ràng buộc viết lại dạng Gx  h,     1 10  1  16        G=   h =  32  −1   0 −1 Khi sử dụng CVXOPT, lập trình sau: Machine Learning https:// machinelearningcoban.com ...Vũ Hữu Tiệp Machine Learning Order ebook https:// machinelearningcoban.com/ ebook/ Blog: https:// machinelearningcoban.com Facebook Page: https:// www.facebook.com/ machinelearningbasicvn/... Anh ngơn ngữ lập trình Machine Learning https:// machinelearningcoban.com CHƯƠNG LỜI TÁC GIẢ vi 0.8 Tham khảo thêm Có nhiều sách, khố học, website hay machine learning deep learning, đó, có số mà... Mối quan hệ artificial intelligence, machine learning, deep learning (Nguồn What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning? – https:// goo.gl/ NNwGCi)

Ngày đăng: 07/03/2023, 15:06

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

Tài liệu liên quan