Phần 2: Machine Learning – Lập trình AI bằng Python

Phần 2: Machine Learning                        – Lập trình AI bằng Python
Học tập nghĩa là thu nhận kiến thức hay kỹ năng qua học tập hay kinh nghiệm. Dựa vào điều đó, chúng ta sẽ có thể định nghĩa học máy (ML) như dưới đây:
Nó có thể được định nghĩa rằng lĩnh vực khoa học máy tính, chi tiết hơn là 1 ứng dụng của trí tuệ nhân tạo, cung cấp cho các hệ thống máy tính khả năng học hỏi với dữ liệu và cải thiện từ kinh nghiệm mà không phải được lập trình rõ ràng.
Về căn bản, trọng tâm chính của học máy là cho phép máy tính học tự động mà không phải sự can thiệp của con người. Hiện tại câu hỏi đặt ra là việc học như thế có thể được bắt đầu và thực hiện ra sao? Nó có thể được bắt đầu bằng việc quan sát dữ liệu. Dữ liệu rằng có thể là những ví dụ, hướng dẫn hay những kinh nghiệm trực tiếp. Sau đó, trên cơ sở đầu vào này, máy ra quyết định tốt hơn bằng cách tìm kiếm những mẫu trong dữ liệu.

1. Những mô hình ML căn bản :

Thuật toán học máy giúp hệ thống máy tính học mà không phải được lập trình rõ ràng. Các thuật toán này được phân loại thành có theo dõi hay không được theo dõi. Hiện tại ta hãy xem một số thuật toán :
a. Thuật toán học theo dõi:
Đây chính là thuật toán học máy được dùng thông dụng nhất. Nó được gọi là có theo dõi vì quá trình học thuật toán từ tập dữ liệu đào tạo có thể được xem như 1 giáo viên theo dõi quá trình học tập. Trong loại thuật toán ML này, những kết quả có thể được biết trước và dữ liệu huấn luyện cũng đã được gắn nhãn với những câu trả lời đúng. Nó có thể được hiểu như dưới đây:
Giả sử ta có các biến đầu vào x và 1 biến đầu ra y và chúng tôi đã áp dụng 1 thuật toán để học hàm ánh xạ từ ban đầu vào tới đầu ra ví dụ như:
Y = f(x)
Hiện tại, mục tiêu là xấp xỉ hàm ánh xạ tốt tới mức khi ta có dữ liệu đầu vào mới (x), chúng ta sẽ có thể dự đoán biến đầu ra (Y) cho dữ liệu đó.
Những vấn đề về tinh gọn được theo dõi chủ yếu có thể được chia làm 2 loại vấn đề sau :
  • Classification :  bài toán phân loại
  • Regression : bài toán hồi quy
Decision tree, random forest, knn, logistic regression là ví dụ về học theo dõi
b. Thuật toán học không theo dõi : 
Như tên cho ta thấy, những loại thuật toán học máy này không có bất kỳ người theo dõi nào để cung cấp bất kỳ loại hướng dẫn nào. Đó là nguyên nhân vì sao các thuật toán học máy không được theo dõi phù hợp chặt chẽ với cái mà những người gọi là trí tuệ nhân tạo thực sự. Nó có thể được hiểu như dưới đây:
Giả sử ta có biến đầu vào x, thì sẽ không có biến đầu ra tương ứng như ở trong thuật toán học có theo dõi.
Nói 1 cách dễ hiểu, ta có thể cho rằng rằng trong học tập không có theo dõi sẽ không có câu trả lời chính xác và không có giáo viên hướng dẫn. Các thuật toán giúp khám phá các mẫu thú vị trong dữ liệu.
Những vấn đề học tập theo dõi có thể được chia làm 2 loại vấn đề sau:
  • Clustering 
  • Association
c. Thuật toán Refoincement :
Thuật toán này huấn luyện hệ thống đưa ra những quyết định chi tiết. Về căn bản, máy được tiếp xúc với môi trường nơi nó tự đào tạo liên tiếp bằng cách thử và sai. Các thuật toán này học hỏi từ kinh nghiệm trong quá khứ và nỗ lực nắm bắt kiến thức tốt nhất có thể để ra quyết định chính xác. Quy trình quyết định Markov là 1 ví dụ về các thuật toán học máy tăng cường.

2. Các thuật toán Machine studying phổ biến :

Trong phần này, ta sẽ tìm hiểu thêm về các thuật toán học máy thông dụng nhất. Các thuật toán được giới thiệu sau :
Linear Regression :
Nó là 1 trong các thuật toán nổi danh nhất trong thống kê và học máy.
Khái niệm căn bản – Hồi quy tuyến tính chủ yếu là 1 mô hình tuyến tính giả định mối quan hệ tuyến tính giữa các biến đầu vào là x và biến đầu ra duy nhất là y. Nói theo cách khác, ta có thể cho rằng rằng y có thể được tính toán từ sự kết hợp tuyến tính của các biến đầu vào x. Mối quan hệ giữa các biến có thể được thiết lập bằng cách lắp 1 dòng tốt nhất.
Linear regression được phân thành 2 loại như dưới đây :
  • Simple linear regression : chỉ có 1 biến độc lập
  • Multiple linear regression : có nhiều hơn 1 biến
Hồi quy tuyến tính chủ yếu được dùng để ước lượng những giá trị thực dựa vào (các) biến liên tiếp. Ví dụ: tổng doanh thu của 1 cửa hàng trong 1 ngày, dựa vào giá trị thực, có thể được ước lượng bằng hồi quy tuyến tính.
Logistic Regression
Nó là 1 thuật toán phân loại và còn được gọi là hồi quy logit.
Chủ yếu hồi quy logistic là 1 thuật toán phân loại được dùng để ước lượng những giá trị rời rạc như 0 hay 1, đúng hay sai, có hay không dựa vào 1 tập biến độc lập nhất định. Về căn bản, nó dự đoán xác suất do vậy đầu ra của nó nằm trong khoảng từ 0 tới 1.
Decision Tree
Cây quyết định là 1 thuật toán học có theo dõi được dùng chủ yếu cho những bài toán phân loại.
Về căn bản nó là 1 bộ phân loại được biểu diễn dưới dạng phân vùng đệ quy dựa trên những biến độc lập. Cây quyết định có những nút tạo nên cây gốc. Cây có gốc là cây có hướng với 1 nút được gọi là “gốc”. Gốc không có bất kỳ cạnh nào và toàn bộ các nút khác đều có 1 cạnh tới. Những nút này được gọi là lá hay nút quyết định. Ví dụ, hãy xem xét cây quyết định dưới đây để xem liệu 1 người có phù hợp hay là không.
Support Vector Machine (SVM)
Nó được dùng cho cả vấn đề phân loại và hồi quy. Nhưng chủ yếu nó được dùng cho những bài toán phân loại. Khái niệm chính của SVM là vẽ từng mục dữ liệu dưới dạng 1 điểm trong không gian n chiều với giá trị của mỗi đối tượng là giá trị của 1 tọa độ chi tiết. Đây n sẽ là các tính năng chúng tôi sẽ có. Sau đây chính là 1 biểu diễn đồ họa đơn giản để hiểu khái niệm về SVM –
Trong sơ đồ trên, ta có 2 đặc điểm do vậy trước nhất ta cần vẽ 2 biến này trong không gian 2 chiều nơi mỗi điểm có 2 tọa độ, được gọi là vectơ hỗ trợ. Dòng chia dữ liệu thành 2 nhóm được phân loại khác nhau. Dòng này sẽ là bộ phân loại.
Naïve Bayes
Nó cũng chính là 1 kỹ thuật phân loại. Logic đằng sau kỹ thuật phân loại này là sử dụng định lý Bayes để xây dựng những bộ phân loại. Giả định là các yếu tố dự đoán là độc lập. Nói 1 cách đơn giản, nó giả định rằng sự hiện diện của 1 đối tượng chi tiết trong 1 lớp không liên quan tới sự hiện diện của bất kỳ đối tượng địa lý nào nữa. Dưới đây chính là phương trình cho định lý Bayes :
Mô hình Naïve Bayes dễ xây dựng và đặc biệt có ích cho các tập dữ liệu lớn
Okay-Nearest Neighbors (KNN)
Nó được dùng để phân loại và hồi quy những vấn đề. Nó được dùng rộng rãi để giải quyết những vấn đề phân loại. Khái niệm chính của thuật toán này là nó được dùng để lưu trữ toàn bộ các trường hợp có sẵn và phân loại các trường hợp mới theo phần lớn phiếu bầu của okay hàng xóm của nó. Sau đó, trường hợp được gán cho lớp thông dụng nhất trong số các hàng xóm Okay gần đây nhất của nó, được đo bằng hàm khoảng cách. Hàm khoảng cách có thể là khoảng cách Euclidean, Minkowski và Hamming. Hãy xem xét nhiều điều sau để sử dụng KNN :
  • Về tính toán KNN đắt hơn các thuật toán khác được dùng cho những bài toán phân loại.
  • Việc chuẩn hóa các biến cần thiết, nếu như không, các biến phạm vi cao hơn có thể làm sai lệch nó.
  • Trong KNN, ta cần làm việc ở giai đoạn tiền xử lý như xóa bỏ nhiễu.
Okay-Means Clustering
Như tên cho ta thấy, nó được dùng để giải quyết những vấn đề phân cụm. Về căn bản nó là 1 kiểu học không theo dõi. Logic chính của thuật toán Okay-Means là phân loại tập dữ liệu qua những cụm. Thực hiện theo những bước sau để tạo cụm bằng Okay-means –
  • Okay-imply chọn okay điểm cho mỗi cụm được gọi là trung tâm.
  • Hiện tại mỗi điểm dữ liệu tạo nên 1 cụm với những trung tâm gần đây nhất, tức là okay cụm.
  • Tìm ra các trọng tâm của mỗi cụm dựa vào những thành viên cụm hiện có
  • Chúng ta cần lặp lại những bước này cho tới khi sự hội tụ xảy ra.
Random Forest :
Nó là 1 thuật toán phân loại có theo dõi. Điểm mạnh của thuật toán random forest là nó có thể được dùng cho cả loại bài toán phân loại và hồi quy. Về căn bản, nó là tập hợp các cây quyết định (tức là rừng) hay bạn sẽ có thể nói là tập hợp các cây quyết định. Khái niệm căn bản của rừng ngẫu nhiên là mỗi cây đưa ra 1 phân loại và khu rừng chọn những phân loại tốt nhất từ chúng. Tiếp theo là những điểm mạnh của thuật toán Rừng ngẫu nhiên –
  • Bộ phân loại random forest có thể được dùng cho cả bài toán phân loại và hồi quy.
  • Ta có thể xử lý những giá trị bị thiếu
  • Nó sẽ không phù hợp đối với mô hình kể cả khi ta có nhiều cây hơn trong rừng.

admin

Leave a Reply

Your email address will not be published. Required fields are marked *