Chương 1: MỘT SỐ KIẾN THỨC LÝ THUYẾT CƠ SỞ Trong chương này, chúng tôi sẽ trình bày một số kiến thức về học máy, giới thiệu bài toán phân lớp, bài toán phân lớp nhị phân trên bộ dữ liệu bệnh tiểu đường. Chuẩn bị bộ dữ liệu mẫu và lựa chọn cài đặt phần mềm python.1 Giới hiệu về Machine learning 1.1 Khái niệm Machine learning Học máy (Machine learning): là nghiên cứu khoa học về các thuật toán và mô hình thống kê mà các hệ thống máy tính sử dụng để thực hiện một nhiệm vụ cụ thể mà không sử dụng các hướng dẫn rõ ràng, thay vào đó dựa vào các mẫu và suy luận. Machine learning tập trung vào sự phát triển của các hệ thống máy tính có thể truy cập dữ liệu và sử dụng nó để tự học. Đó là một phương pháp phân tích dữ liệu tự động hóa việc xây dựng mô hình phân tích.
Sử dụng các thuật toán học từ dữ liệu, học máy cho phép máy tính tìm thấy những hiểu biết ẩn giấu mà không được lập trình rõ ràng nơi cần tìm.2 Phân loại kỹ thuật học máy: Có nhiều loại mô hình học máy khác nhau như: học có giám sát, học không giám sát, học bán giám sát và học tăng cường. Học có giám sát (Supervised Learning): Học có giám sát là một kĩ thuật học máy để học tập từ tập dữ liệu được gán nhãn cho trước. Tập dữ liệu cho trước sẽ chứa nhiều bộ dữ liệu. Mỗi bộ dữ liệu có cấu trúc theo cặp {x, y} với x được xem là dữ liệu thô và y là nhãn của dữ liệu đó.
Nhiệm vụ của học có giám sát là dự đoán đầu ra mong muốn dựa vào giá trị đầu vào. Dễ nhận ra, học có giám sát tức là máy học dựa vào sự trợ giúp của con người, hay nói cách khác con người dạy cho máy học và giá trị đầu ra mong muốn được định trước bởi con người. Tập dữ liệu huấn luyện hoàn toàn được gán nhãn dựa vào con người. Tập càng nhỏ thì máy tính học càng ít.
e Pl-7 Học có giám sát được áp dụng cho 2 nhóm bài toán chính là bài toán dự đoán (regression problem) và bài toán phân lớp (classification problem). Kỹ thuật học có giám sát thực chất là để xây dựng một hàm có thể xuất ra giá trị đầu ra tương ứng với tập dữ liệu. Ta gọi hàm này là hàm h(x) và mong muốn hàm này xuất ra đúng giá trị y với một hoặc nhiều tập dữ liệu mới khác với dữ liệu được học. Hàm h(x) cần các loại tham số học khác nhau tùy thuộc với nhiều bài toán khác nhau.
Việc học từ tập dữ liệu (training) cũng chính là tìm ra bộ tham số học cho hàm h(x). Học không có giám sát (Unsupervised learning): Học không có giám sát là một kĩ thuật của máy học nhằm tìm ra một mô hình hay cấu trúc bị ẩn bởi tập dữ liệu không được gán nhãn cho trước. Học không có giám sát khác với học có giám sát là không thể xác định trước output từ tập dữ liệu huấn luyện được. Tùy thuộc vào tập huấn luyện kết quả output sẽ khác nhau.
Ứng dụng phổ biến nhất của học không có giám sát là gom cụm (cluster). Ứng dụng này dễ nhận ra nhất là Google và Facebook. Google có thể gom nhóm các bài báo có nội dung gần nhau, hoặc Facebook có thể gợi ý kết bạn có nhiều bạn chung cho bạn. Các bài báo có cùng nội dung sẽ được gom lại thành một nhóm (cluster) phân biệt với các nhóm khác.
Dữ liệu huấn luyện là các bài báo từ quá khứ tới hiện tại và tăng dần theo thời gian. Dễ nhận ra rằng dữ liệu không thể gán nhãn bởi con người. Khi một bài báo mới được cho vào input, nó sẽ tìm cụm (cluster) gần nhất với bài báo đó và gợi ý những bài liên quan. Học bán giám sát (Semi-supervised Learning): Đây là sự kết hợp của hai phương pháp học có giám sát và không giám sát, trong đó sử dụng cả dữ liệu có sẵn nhãn và dữ liệu không nhãn.
Nó hoạt động chủ yếu giống như việc học tập không giám sát với những cải tiến mà một phần dữ liệu được dán nhãn có thể mang lại. Học tăng cường (Reinforcement Learning): Trong kiểu học này, các e Pl-8 thuật toán cố gắng dự đoán đầu ra cho một vấn đề dựa trên một tập các tham số điều chỉnh. Sau đó, đầu ra được tính toán trở thành một tham số đầu vào và đầu ra mới được tính cho đến khi thấy đầu ra tối ưu. Các thuật toán học máy được sử dụng cho kiểu học này như: Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) và Deep Learning.
Học tăng cường chủ yếu được sử dụng trong phát triển các ứng dụng giải trí AI, thu nhận kỹ năng, điều hướng rô-bốt và quyết định thời gian thực.3 Các ứng dụng của Machine learning Machine learning đã góp mặt và thực hiện rất tốt trong các hoạt động của các lĩnh vực sau đây: Lĩnh vực xử lý hình ảnh: Bài toán xử lý ảnh sẽ giải quyết một số vấn đề phân tích thông tin từ hình ảnh hay thực hiện một số phép biến đổi. Một số ví dụ cơ bản cho lĩnh vực như ứng dụng ô tô tự lái, gắn thẻ hình ảnh, nhận dạng ký tự,… Lĩnh vực khai phá dữ liệu: Khai phá dữ liệu là quá trình khám phá ra các thông tin có giá trị hoặc đưa ra các dự đoán từ dữ liệu. Học máy được ứng dụng trong khai phá dữ liệu bao gồm: gom nhóm, dự đoán, phát hiện các bất thường, phát hiện ra các quy luật để ứng dụng vào hoạt động ngân hàng hay hoạt động của các hệ thống siêu thị,. Lĩnh vực phân tích văn bản: là công việc trích xuất hoặc phân loại thông tin từ các văn bản.
Các văn bản ở đây có thể là một email, đoạn chat trên facebook hay là các tài liệu. Lĩnh vực chăm sóc sức khỏe: Machine learning là một xu hướng phát triển nhanh chóng trong ngành chăm sóc sức khỏe, nhờ vào sự ra đời của các thiết bị và máy cảm ứng đeo được sử dụng dữ liệu để đánh giá tình hình sức khỏe của bệnh nhân trong thời gian thực (real-time). Machine Learning còn giúp các chuyên gia y tế xác định những xu hướng hoặc tín hiệu để cải thiện khả năng e Pl-9 điều trị, chẩn đoán bệnh. Lĩnh vực marketing và sales Dựa trên hành vi mua hàng trước đây, các trang web sử dụng Machine Learning phân tích lịch sử mua hàng, từ đó giới thiệu những vật dụng mà bạn có thể sẽ quan tâm và yêu thích.
Khả năng tiếp nhận dữ liệu, phân tích và sử dụng những dữ liệu đó để cá nhân hóa trải nghiệm mua sắm (hoặc thực hiện chiến dịch Marketing) chính là tương tai của ngành bán lẻ. Có thể nói rằng Machine Learning là một trong những lĩnh vực cạnh tranh nhất của các công ty phát triển công nghệ vì lợi ích mang lại từ nó là rất lớn. Trong tương lai, công nghệ này sẽ không ngừng phát triển.4 Các bước thực hiện cơ bản của học máy Bước 1: Thiết lập mô hình (Model) Khi đi xây dựng mô hình cho học máy tức là đi mô phỏng các mẫu hình từ thực tế giúp đưa ra được dự báo hoặc nhận dạng. Hay nói chính xác hơn là ta phải đi mô tả các biến dữ liệu có khả năng tác động lên kết quả hoạt động của mô hình, đồng thời phải tìm ra được mối quan hệ giữa biến tác động và biến kết quả.
Ngoài ra, ta có thể xây dựng một giả định ban đầu nào đó. Bước 2: Cung cấp dữ liệu đầu vào thực tế (Parameter) Sau khi mô hình được thiết lập, các thông tin thực tế sẽ được đưa vào để cho quá trình “ tự học” của học máy thực hiện. Kết thúc của quá trình này là đưa ra kết quả thực hiện thực tế. Bước 3: Quá trình điều chỉnh tự động( Learner) Khi lựa chọn mô hình và có các tham số, ta có thể dựa vào chúng để suy luận cho một đầu vào mới nào đó.
Trong học máy, luôn cần có dữ liệu để huấn luyện, nó được xem là điều kiện tiên quyết của quá trình học máy. Vì thế dữ liệu sau khi có được cần phải chuẩn hóa và phân chia dữ liệu. Việc chuẩn hóa các dữ liệu đầu vào nhằm thay e Pl-10 đổi tốc độ và hiệu quả của huấn luyện, phân chia dữ liệu là để kiểm chứng mô hình vì việc mô hình được chọn rất khớp với tập dữ liệu đang có không có nghĩa là giả thuyết của ta là đúng mà có thể xảy ra tình huống dữ liệu thật lại không khớp. Thông thường tập dữ liệu được chia thành 3 phần như sau: Tập huấn luyện (Training set): Chiếm 60% dùng để học khi huấn luyện.
Tập kiểm chứng (Cross validation set): Chiếm 20%, dùng để kiểm chứng mô hình khi huấn luyện. Tập kiểm tra (Test set): Chiếm 20%, dùng để kiểm tra xem mô hình đã phù hợp hay chưa sau khi đã huấn luyện.2 Bài toán phân lớp dữ liệu 1.1 Phân lớp dữ liệu Phân lớp dữ liệu là một bài toán quan trọng của Machine Learning. Đầu vào của bài toán phân lớp là một tập các mẫu học đã được phân lớp trước, mỗi mẫu được mô tả bằng một số thuộc tính. Các thuộc tính dùng để mô tả một mẫu gồm hai loại là thuộc tính liên tục và thuộc tính rời rạc.
Trong các thuộc tính rời rạc có một thuộc tính đặc biệt là phân lớp, mà các giá trị của nó gọi là lớp nhãn. Thuộc tính liên tục sẽ nhận các giá trị có thứ tự, ngược lại các thuộc tính rời rạc sẽ nhận các giá trị không có thứ tự. Ngoài ra, các thuộc tính cũng có thể nhận các giá trị không xác định. Tuy nhiên, lớp nhãn của các mẫu không được phép nhận giá trị không xác định.
Nhiệm vụ của quá trình phân lớp là thiết lập ánh xạ giữa các thuộc tính với các nhãn lớp. Mô hình biểu diễn quan hệ nói trên sau đó sẽ được dùng để xác định nhãn lớp cho các quan sát mới không nằm trong tập mẫu ban đầu. e Pl-11 Lớp 1 Dữ liệu Thuật toán vào phân lớp dữ Lớp 2 liệu Lớp n Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm rút ra một mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai. Phân lớp dự đoán giá trị của những nhãn xác định hay những giá trị rời rạc có nghĩa là phân lớp với những đối tượng dữ liệu mà có bộ giá trị biết trước.
Trong khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá trị liên tục.