Chủ Đề 12F (CS):
GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
GIỚI THIỆU HỌC MÁY VÀ KHOA HỌC DỮ LIỆU
Chủ Đề 12F (CS):
GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
GIỚI THIỆU HỌC MÁY VÀ KHOA HỌC DỮ LIỆU
Yêu cầu cần đạt của Chủ đề 12Fcs là:
+ Nêu được sơ lược về mục tiêu và một số thành tựu của Khoa học dữ liệu, nêu được ví dụ minh hoạ.
+ Biết được vai trò của máy tính đối với sự phát triển của Khoa học dữ liệu.
+ Biết được tính ưu việt trong việc sử dụng máy tính và thuật toán hiệu quả để xử lí khối dữ liệu lớn, nêu được ví dụ minh hoạ.
+ Nêu được trải nghiệm của bản thân trong việc trích rút thông tin và tri thức hữu ích từ dữ liệu đã có.
- Giới thiệu Học máy:
+ Giải thích được sơ lược về khái niệm Học máy.
+ Nêu được vai trò của Học máy trong những công việc như lọc thư rác, chẩn đoán bệnh, phân tích thị trường, nhận dạng tiếng nói và chữ viết, dịch tự động,...
+ Nêu được một vài lĩnh vực trong đời sống có sử dụng kĩ thuật mô phỏng.
+ Nêu được một vài vấn đề thực tế mà ở đó có thể cần dùng kĩ thuật mô
phòng để giải quyết.
+ Sử dụng và giải thích được lợi ích của một vài phần mềm mô phỏng.
1. Giới thiệu về học máy
1.1. Khái niệm
Học máy là lĩnh vực trong Trí tuệ nhân tạo nhằm nghiên cứu, phát triển các thuật toán cho phép máy tính học từ dữ liệu để giải quyết các bài toán, các vấn đề trong cuộc sống.
Để phân biệt một giải thuật học máy với giải thuật thông thường, hãy xem bài toán sau.
Bài toán: Ước tính cân nặng khi biết chiều cao của một người.
+ Input: Chiều cao x cm.
+ Output: Cân nặng y kg.
Cách tiếp cận truyền thống: Có một cách ước tính cân nặng y từ chiều cao x là lấy chiều cao trừ đi 100, ví dụ một người cao 150 cm thì cân nặng là 150 - 100 = 50 kg. Mối quan hệ y = x - 100 được xem là một mô hình tỉnh cân nặng từ chiều cao, mô hình này không có tham số, xem Hình 1.
Cách tiếp cận học máy: Cách tiếp cận mô hình không có tham số ở trên có một số hạn chế như nó không thực tế khi áp dụng cho những người có chiều cao dưới 1 m (khi đó, cân nặng là số âm). Hoặc mô hình trên chỉ phù hợp với những người Việt Nam, không đúng với người Mỹ, Nhật.... Cách tiếp cận học máy là sử dụng mô hình có tham số và tham số của mô hình này được “huấn luyện" từ một tập dù liệu đã biết chiều cao và cân nặng của nhiều người (gọi là tập dữ liệu huấn luyện). Với cách tiếp cận học máy, chúng ta cần thêm một giải thuật huấn luyện (giải thuật học máy) để tìm tham số của mô hình từ dữ liệu. Ứng dụng dễ dàng tuỳ biển cho nhiều đối tượng khác nhau bằng cách đưa vào tập dữ liệu huấn luyện mới mà không cần phải thay đổi mã chương trình.
1.2. Phân loại giải thuật học máy
Các bài toán học máy chia thành 2 loại: học có giám sát và học không giám sát. Học có giám sát. Từ tập dữ liệu huấn luyện có nhân (đã biết trước giá trị y của đối tượng x), ta cần tim mô hình (hàm số y = f(x)) là một ví dụ của mô hình để tính y theo x, sao cho khi đưa các đối tượng x vào mô hình thì giá trị y do mô hình tính được phải xấp xỉ với giá trị y trong tập dữ liệu huấn luyện. Thêm nữa, mô hình cũng cần phải có khả năng dự đoán nhân y cho các đối tượng x không nằm trong tập dữ liệu huấn luyện. Ví dụ ở trên là bài toán học máy, dữ liệu huấn luyện là dữ liệu có nhân, chiều cao là thuộc tỉnh x của đối tượng, cân nặng là nhân y, mô hình y = ax + b là mô hình hồi quy tuyến tỉnh một biến. Giải thuật học có giám sát là giải thuật tìm tham số a, b sao cho hàm y = ax + b phản ảnh đúng dữ liệu huấn luyện và có khả năng dự đoán cân nặng khi biết chiều cao của một người hoàn toàn mới. Hình 2 mình hoạ mô hình học có giám sát cho ví dụ này.
Học không giám sát: Với học không giám sát, mục tiêu không phải tìm ra mô hình có khả năng dự đoán, mà chỉ ra các cấu trúc hoặc các mối quan hệ giữa các thuộc tỉnh từ tập dữ liệu (dữ liệu không có nhân). Ví dụ, bài toán phân cụm văn bân, cho các file tài liệu dạng word, hãy nhóm các file đó thành 3 cụm sao cho tài liệu trong mỗi cụm có các đặc trưng giống nhau. Trong bài toán này chúng ta không định hướng cụm này có đặc trưng nào, nhân nào mà để máy tính tự gom cụm dựa trên sự tương đồng giữa các đối tượng.
1.3. Các bước để xây dựng một ứng dụng học máy
Bước 1. Xác định vấn đề
Bước đầu tiên của việc xây dựng một ứng dụng học máy là xác định bài toán mà ứng dụng đó cần giải quyết, cụ thể hơn là đầu vào (input) của ứng dụng là gì và đầu ra (output) ứng dụng cần đưa ra là gì. Chúng ta sẽ xem các ví dụ cụ thể dưới đây.
Ví dụ 1: Ứng dụng lọc email rác
+ Đầu vào: Email (gồm có tiêu đề email, nội dung email, người gửi, các file đính kèm).
+ Đầu ra: Gán nhãn “rác” hay “thưởng” cho email đó (chỉ có 2 nhân).
Ví dụ 2: Ứng dụng nhận diện chữ viết
+ Đầu vào: Ảnh các kí tự.
+ Đầu ra: Mã unicode của kí tự có trong ảnh.
Ví dụ 3: Ứng dụng dịch tự động từ một ngôn ngữ này (nguồn) sang ngôn ngữ
khác (đích)
+ Đầu vào: Đoạn văn của ngôn ngữ nguồn.
+ Đầu ra: Đoạn văn của ngôn ngữ đích là bản dịch của đoạn văn đầu vào.
Vì dụ 4: Ứng dụng nhận diện khuôn mặt
+ Đầu vào: Ảnh khuôn mặt.
+ Đầu ra: ID của người xuất hiện trong ảnh đầu vào (mỗi người được gán một ID duy nhất).
Ví dụ 5: Ứng dụng dự đoán giá nhà nội thành Hà Nội
+ Đầu vào: Các đặc trưng của căn nhà (diện tích, số phòng, nằm trên tầng mấy, khoảng cách tới trung tâm thành phố Hà Nội, uy tín chủ đầu tư,...).
+ Đầu ra: Giá của căn nhà.
Ví dụ 6: Ứng dụng phân cụm tài liệu:
+ Đầu vào: Tập hợp nhiều file văn bản.
+ Đầu ra: Nhóm các tài liệu thành các cụm, các tài liệu có nội dung giống nhau nằm trong cùng một cụm, các tài liệu có nội dung khác nhau thuộc các cụm khác nhau.
Bước 2. Chuẩn bị dữ liệu huấn luyện
Đối với các giải thuật học máy có giám sát, chúng ta cần tập dữ liệu để huấn luyện mô hình, mô hình sau khi huấn luyện không những phải phù hợp với các đối tượng trong tập huấn luyện mà còn có khả năng dự đoán nhãn cho các đối tượng mới. Tập dữ liệu huấn luyện càng lớn thì mô hình dự đoán càng chính xác.
Bước 3. Huấn luyện mô hình
Mỗi ứng dụng học máy thường sử dụng một mô hình để tính toán giá trị đầu ra y (output) từ các giá trị đầu vào x (input). Thông thường, mô hình có nhiều tham số (Hình 3), vì dụ một mô hình khá phổ biến là mô hình hồi quy tuyến tính, biểu diễn nhãn y qua các thuộc tỉnh của đối tượng x là với y= w0+ w1x1+ +w1x2+ ...+ wdxd, với x1,x2..... là d thuộc tính của đối tượng x. Mô hình có d + 1 tham số.
Giải thuật học máy (hay gọi khác là giải thuật huấn luyện mô hình) là giải thuật tim hoặc điều chỉnh các tham số của mô hình để mô hình phù hợp với dữ liệu huấn luyện (xem Hình 4). Phù hợp ở đây là khi đưa các dữ liệu ( x_{1}, x_{2}, x_{3} ,...) vào mỗ hình thì đầu ra của mô hình khớp với giá trị đầu ra mong đợi.
Bước 4. Đánh giá kiểm thử mô hình
Mô hình khi được đào tạo trên tập dữ liệu huấn luyện thi thường sẽ cho hiệu năng rất tốt trên chỉnh tập dữ liệu huấn luyện (hiệu năng có thể đo bằng mức độ sai số trung bình của mô hình, sai số cảng nhỏ thì hiệu năng càng cao). Tuy nhiên, không phải cứ mô hình cho hiệu năng tốt trên tập huấn luyện là sẽ cho hiệu năng tốt khi đi đưa vào vận hành. Để đánh giá hiệu năng của mô hình, chúng ta cần có một tập dữ liệu kiểm thử độc lập với tập dữ liệu huấn luyện (Hình 5). Thông thường, nếu mô hình cho hiệu năng tốt trên tập kiểm thứ thì cũng sẽ cho hiệu năng tốt khi đưa vào vận hành.
Bước 5. Đưa mô hình vào sử dụng
Khi đã được đánh giá là cho hiệu năng đủ tốt trên dữ liệu kiểm thử, mô hình sẽ được đưa vào sử dụng. Các đặc trưng (dữ liệu) liên quan đến một đối tượng mới sẽ được đưa vào mô hình để tính giá trị đầu ra là nhân dự đoán cho đối tượng mới đó (tham khảo Hình 6).
2. Giới thiệu về khoa học dữ liệu
2.1. Khái niệm và mục tiêu của Khoa học dữ liệu
- Khái niệm: Khoa học dữ liệu là lĩnh vực liên ngành nghiên cứu và ứng dụng sử dụng các phương pháp khoa học, quy trình, thuật toán để thu thập, xử lí, phân tích, khám phá tri thức từ dữ liệu, kết hợp với trì thức chuyên ngành để hỗ trợ ra quyết định.
- Tính liên ngành: Khoa học máy tính, Toán học và thống kẻ, tri thức chuyên ngành.
- Mục tiêu của Khoa học dữ liệu: Phân tích, khai phá dữ liệu để có được tri thức, vận dụng tri thức để giải quyết vấn đề và đưa ra quyết định phù hợp. Cụ thể:
+ Tổ chức và quản lí dữ liệu.
+ Phân tích dữ liệu.
+ Trực quan hoá dữ liệu.
+ Tối ưu hoá quyết định.
+ Khám phá tri thức.
2.2. Một số thành tựu của Khoa học dữ liệu
- Khả năng phân tích và khám phá các tri thức hữu ích từ dữ liệu lớn (đặc trưng 5V).
- Đổi mới quá trình ra quyết định: Quyết định dựa trên dữ liệu.
- Tự động hoá và thúc đẩy quá trình đổi mới sáng tạo.
- Cá nhân hoá các dịch vụ và cải thiện trải nghiệm khách hàng.
- Dự đoán, phát hiện xu hướng.
2.3. Vai trò và tính ưu việt của máy tính trong Khoa học dữ liệu
a) Vai trò
- Máy tính cung cấp khả năng lưu trữ, đánh chỉ mục, truy xuất, tính toán, xử lí song song, điện toán đám mây, bộ xử lí đồ hoạ....
Quy trình khoa học dữ liệu: Xác định vấn đề => Thu thập và tiền xử lí dữ liệu => Khám phá tri thức/xây dựng mô hình => Phân tích, đánh giá => Triển khai mô hình và báo cáo kết quả.
Vai trò của máy tính thể hiện:
+ Lưu trữ và xử lí dữ liệu.
+ Phân tích và khai phá dữ liệu.
+ Trực quan hoá dữ liệu.
+ Tự động hoá.
+ Xử lí song song.
+ Điện toán đám mây.
+ Hợp tác và truyền thông.
b) Tính ưu việt
- Tốc độ xử lí: Hàng triệu hoặc tỉ phép tỉnh/giây.
- Thực hiện các mô hình học máy trên dữ liệu lớn.
- Khả năng mở rộng: Kết hợp nhiều máy tính để xử lí cùng một nhiệm vụ.
- Lưu trữ và bảo mật dữ liệu.
- Xử lí thời gian thực.
- Khả năng lưu trữ, xử lí, phân tích, khai phá dữ liệu lớn một cách nhanh chóng, nhất quân và hiệu quả (Ví dụ: Dự án hệ gene người).