phần mở đầu tác giả đã trình bày lý do chọn đề tài, phân tích một số công trình nghiên cứu đã công bố liên quan đến đề tài. Đồng thời đưa ra mục tiêu nghiên cứu bao gồm mục tiêu tổng quát và mục tiêu cụ thể, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu và kết cấu 3 chương của luận văn. GIỚI THIỆU MACHINE LEARNING CƠ BẢN 1. Khái niệm về Machine learning Machine Learning là một tập con của Artificial Intelligence (AI).
Theo định nghĩa của Tom Michell “Definition: A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.” Nói cách khác, Machine Learning là một lĩnh vực nhỏ của Khoa học máy tính, nó có thể tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể [2]. Machine learning đã tạo ra cơn sốt công nghệ trên cả Việt Nam và toàn thế giới trong vài năm gần đây. Các công ty lớn như Facebook, Google, Microsoft đến các công ty nhỏ và vừa đều đầu tư vào Machine learning. Trong cuộc sống hiện nay các ứng dụng sử dụng Machine learning xuất hiện trên mọi lĩnh vực từ ngành khoa học máy tính đến những ngành ít liên quan hơn như công nghệ hóa học, vật lý, y học, chính trị.
Cỗ máy đánh cờ vây AlphaGo là một trong những ví dụ tiêu biểu cho sự phát triển vượt trội của Machine learning so với các phương pháp cổ điển, với khả năng tính toán trong một không gian có số lượng phần tử lớn hơn số lượng hạt trong vũ trụ, tối ưu hơn cả đại kì thủ [3]. Để giới thiệu cụ thể hơn về Machine learning, dựa vào mối quan hệ của nó với ba khái niệm sau: Machine learning và Trí tuệ nhân tạo (Artificial Intelligence hay AI) Machine learning và thuật ngữ “Big Data”. Machine learning và Dự đoán tương lai. Trí tuệ nhân tạo (AI) được nhắc tới như một ngành của khoa học máy tính.
Nó liên quan trực tiếp đến việc tự động hóa các hành vi thông minh. Các nhà khoa học đặt ra một số mục tiêu cụ thể đó là làm cho máy tính lừa được Turing Test. 8 Nếu Machine learning là một phương tiện được kỳ vọng sẽ giúp con người đạt được mục tiêu thì AI sẽ thể hiện mục tiêu đó của con người. Rõ ràng Machine learning đã mang con người chúng ta đi rất xa trên quãng đường chinh phục AI.
Nhưng con người vẫn cần phải đi quãng đường xa hơn rất nhiều. Nhắc tới AI người ta sẽ nhớ ngay tới Machine learning nhưng không nó không giống nhau vì nếu Machine learning là phương tiện thì AI là mục tiêu. Mục đích tối thượng của Machine learning là chinh phục AI, nhưng hiện tại Machine learning tập trung vào những mục tiêu ngắn hạn hơn như: Làm cho máy tính có những khả năng nhận thức cơ bản của con người như nhìn, nghe, hiểu được ngôn ngữ lập trình, giải toán, …và hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ mà chúng ta phải đối mặt hàng ngày, hay còn gọi là Big Data [14]. Big Data thực chất không phải là một ngành khoa học cụ thể.
Hiện nay Big Data là một cụm từ được giới truyền thông dùng để nhấn mạnh thời kì bùng nổ của dữ liệu. Nó cũng không khác gì với những cụm từ như "kỷ nguyên phần mềm", "cách mạng công nghiệp". Big Data là kết quả của việc hàng ngày càng có nhiều người kết nối mạng Internet. Với sự ra đời của các mạng xã hội như Facebook, Twitter, Instagram nhu cầu chia sẻ thông tin của con người ngày càng tăng lên vượt bậc.
Mạng xã hội không chỉ có Facebook mà ngoài ra còn có cả Youtube nơi mọi người có thể chia sẻ các video và bình luận ở đó. Quy mô của Big Data lớn như thế nào thì hãy xem qua những con số “biết nói” sau đây: Mỗi phút trên youtube có khoảng 300 giờ video được upload (theo https://www.com/yt/press/statistics.html) Mỗi ngày có hơn 900 triệu người truy cập vào Facebook, 82.8% trong số đó ở ngoài Mỹ và Canada (theo http://newsroom.com/company-info/) Mọi người càng chia sẻ nhiều thông tin thì nhu cầu tìm kiếm thông tin ngày càng tăng. Google phải xử lý 100 tỉ lượt tìm kiếm mỗi tháng, tức là 3,4 tỉ lượt mỗi ngày và 39.000 lượt mỗi giây (theo http://www.com/google-search- statistics/) [3]. 9 Khi chúng ta hiểu được giá trị của thông tin ẩn chứa bên trong dữ liệu thì Big Data đã thực sự xuất hiện, và có đủ công nghệ cũng như tài nguyên để có thể khai thác chúng trên quy mô khổng lồ.
Ở đây có một quan hệ tương đương và hỗ trợ giữa Big Data và Machine Learning: Machine learning phát triển nhờ vào sự gia tăng của khối lượng dữ liệu, ngược lại giá trị của Big Data phụ thuộc vào khả năng khai thác tri thức từ dữ liệu của Machine learning [3]. Thuật toán Perceptron được phát minh ra bởi Frank Rosenblatt vào năm 1957 là một trong những thuật toán cơ bản của Machine learning. Đây là một thuật toán hữu ích dùng để phân loại hai đối tượng khác nhau. Một ví dụ đơn giản là phân loại thư rác (hình tam giác) và thư bình thường (hình vuông).
Những điểm hình tam giác và hình vuông trong hình 2.1 đại diện cho những email đã biết nhãn trước. Chúng được dùng để "đào tạo" (train) perceptron. Sau khi kẻ đường thẳng để chia hai tập điểm, sẽ có thêm các điểm chưa được dán nhãn, đại diện cho các email cần được phân loại (điểm hình tròn). Khi đó ta sẽ gán nhãn của một điểm giống như nhãn của các điểm nằm trong cùng nửa mặt phẳng với điểm đó [5].
Đối với perceptron, việc phân chia này giống như việc vẽ một đường thẳng trên mặt phẳng để chia mặt phẳng thành hai tập điểm: Hình 1. Dữ liệu được phân chia làm hai tập điểm Sơ lược quy trình phân loại thư được mô tả như sau: Trước hết, ta cần một thuật toán để chuyển email thành những điểm dữ liệu. Đây là công đoạn quan trọng vì nếu ta chọn được cách biểu diễn phù hợp, công việc của perceptron sẽ diễn ra nhanh hơn 10 rất nhiều. Tiếp đến, perceptron sẽ cho biết tọa độ của từng điểm và sử dụng để cập nhật tham số của đường kẻ phân chia.
Do là một thuật toán khá đơn giản nên có rất nhiều vấn đề có thể nảy sinh với perceptron, ví dụ như điểm cần phân loại nằm ngay trên đường thẳng phân chia hoặc xấu hơn là với một tập dữ liệu phức tạp, ta không tìm thấy đường thẳng phân chia: Hình 1. Dữ liệu phức tạp, không được phân chia Lúc này, ta cần các loại đường phân chia "không thẳng". Perceptron là một thuật toán của Machine learning gọi là Supervised learning: ta đưa cho máy tính rất nhiều các ví dụ cùng với câu trả lời mẫu để mong muốn máy tính sẽ tìm được những đặc điểm cần thiết để dự đoán cho những ví dụ khác chưa có câu trả lời trong tương lai. Ngược lại, cũng có những thuật toán Machine learning sẽ giải quyết những bài toán mà không có câu trả lời trước, được gọi là Unsupervised learning.
Đối với trường hợp không có câu trả lời sẵn, máy tính cố gắng phân tích để tìm ra cấu trúc ẩn của một tập dữ liệu. Một loại Machine learning nữa được gọi là Reinforcement learning. Reinforcement learning cũng không có câu trả lời có sẵn, tuy nhiên máy tính nhận được kết quả trả lời lại khi mỗi hành động xảy ra. Dựa vào kết quả trả lời tốt hay xấu mà máy tính sẽ nghiên cứu đưa ra các hướng dẫn chỉnh sửa cho phù hợp [5].
11 Machine learning có mối quan hệ rất chặt chẽ đối với statistics (thống kê). Machine learning sẽ lưu lại sự phân bố của dữ liệu nhờ vào các mô hình thống kê. Ngoài ra, khi nhìn thấy dữ liệu Machine learning sẽ có khả năng tổng quát hóa những dữ liệu đó để tạo cơ sở dự đoán cho những dữ liệu chưa gặp bao giờ. Có thể tưởng tượng một mô hình Machine learning không có khả năng tổng quát như một đứa trẻ lên ba học vẹt, đứa trẻ chỉ trả lời được những câu hỏi mà nó đã học thuộc lòng đáp án.
Machine learning không có khả năng tổng quát hóa tự nhiên và kì diệu như con người: ví dụ như không thể nhận ra khuôn mặt của từng người trên thế giới nhưng có thể nhận biết được một thứ có phải là khuôn mặt người hay không phải với xác suất đúng gần như tuyệt đối. Điểm tối cao của Machine learning là sẽ có được khả năng tổng quát hóa và suy luận của con người [12]. Nhắc đến Machine learning là nhắc đến "dự đoán", từ khả năng dự đoán gãn nhãn, phân loại đến dự đoán hành động. Do vậy Machine learning có thể dự đoán được tương lai hay không? Đây là câu trả lời mà đáp án có thể là có hoặc cũng có thể là không.
Nếu trong tương lai có những mối liên quan với hiện tại thì khả năng Machine learning có thể dự đoán được tương lai là rất cao [3]. Phân nhóm dựa trên phương pháp và cách thức học Các thuật toán của Machine Learning được chia làm bốn nhóm đó là: Supervise learning, Unsupervised learning, Semi-supervised lerning và Reinforcement learning [2]. Supervised Learning (Học có giám sát) Supervised learning là thuật toán dự đoán kết quả đầu ra của một dữ liệu mới dựa trên kết quả dữ liệu của các cặp đầu vào và đầu ra đã biết trước. Họ có thể gọi cặp dữ liệu vào ra này là dữ liệu, nhãn.
Thuật toán Supervised learning là thuật toán thường được sử dụng nhiều nhất trong số các thuật toán Machine Learning. Trong toán học, Supervised learning là khi có một tập hợp biến đầu vào X={x1,x2,…,xn} và một tập hợp nhãn tương ứng Y={y1,y2,…,yn}, trong đó xi,yi là các vector. Các cặp dữ liệu vào ra đã biết trước (xi,yi) ∈ X×Y được gọi là tập dữ liệu 12 huấn luyện. Từ tập huấn luyện này, ta cần tìm ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y: yi≈f(xi), ∀i=1,2,…,n.
Mục đích của hàm số f xấp xỉ thật tốt để khi có một dữ liệu x mới, chúng ta có thể tìm ra nhãn tương ứng của nó y=f(x). Ví dụ 1: Trong việc nhận dạng chữ viết tay, ta đưa các bức ảnh của hàng nghìn mỗi chữ số được viết bởi nhiều người khác nhau vào trong một thuật toán và huấn luyện cho biết mỗi bức ảnh tương ứng với chữ số nào.