Giải thích 8 thuật toán machine learning Python trong 8 phút

5013

Machinelearning là từ khóa được nhắc đến rất nhiều trong thời gian qua. Tuy nhiên, vẫn còn những hiểu lầm về thuật ngữ này. Biểu đồ bên dưới minh họa khá rõ ràng sự quan tâm  của mọi người tới Machine learning, dựa theo phân tích của Google Trend.

Tuy nhiên, mục đích của bài viết này không chỉ phản ánh sự phổ biến của machine learning. Bài viết này là để giải thích và thực hiện các thuật toán machine learning liên quan một cách rõ ràng và súc tích. Hy vong bài viết cung cấp cho các bạn hiểu thêm về các thuật toán, hoặc ít nhất nó cũng giúp bạn biết phải bắt đầu code từ đâu.

Trong bài viết này tôi sẽ giới thiệt tổng cộng tám thuật toán Machine Learning. Bạn có thể đọc tuần tự từng thuật toán hoặc bỏ qua một số thuật toán nếu bạn đã biết :

Linear regression (Hồi quy tuyến tính)

Logistic regression (Hồi quy logistic)

Decision trees

Support vector machines

-------------------- Thông tin cho Dev --------------------

K-nearest neighbors

Random forests

Để khiến cho mọi thứ trở nên dễ dàng hơn, tôi đã sử dụng Python 3.5.2. Dưới đây là những Package mà tôi đã Import trước vào bài tập. Tôi cũng sử dụng bộ dữ liệu mẫu được lấy từ bộ dữ liệu DiabetesIris trong UCI Machine Learning Repository. Cuối cùng, nếu bạn muốn bỏ qua tất cả những điều này và chỉ muốn thấy code, hãy cảm ơn Github.

1. Hồi quy tuyến tính

Đây có lẽ là thuật toán machine phổ biến nhất hiện nay và thường bị đánh giá thấp nhất. Nhiều nhà khoa học dữ liệu quên rằng điều đơn nhất luôn luôn lựa chọn tốt nhất khi thực hiện.

Hồi quy tuyến tính là một thuật toán supervised dự đoán một kết quả dựa trên các tính năng liên tục. Nó linh hoạt theo nghĩa nó có thể chạy trên một biến duy nhất (hồi qui tuyến tính đơn giản) hoặc trên nhiều tính năng (hồi quy đa tuyến tính nhiều). Nó hoạt động bằng cách gán giá trị tối ưu cho các biến để tạo ra một đường thẳng (ax + b) sẽ được sử dụng để dự đoán một đầu ra. Xem video dưới đây để có lời giải thích kỹ lưỡng hơn.

Bây giờ bạn đã nắm bắt các khái niệm đằng sau hồi quy tuyến tính, hãy tiếp tục và thực hiện nó bằng Python.

Bắt đầu

Hình dung

Thực hiện

2. Hồi quy logistic

Hồi quy logistic là một thuật toán phân loại giám sát vì thế rất hữu ích cho việc tính toán các giá trị rời rạc. Nó thường được sử dụng để dự đoán xác suất của một sự kiện sử dụng chức năng logistic để có được một đầu ra giữa 0 và 1.

Lần đầu tiên tiếp xúc với hồi quy Logistic, tôi đã không bị ấn tượng nhiều với nó, vì vậy tôi đã không chú ý nhiều đến nó. Và sau này, tôi nhận ra mình đã sai lầm. Hồi quy logistic được sử dụng trong nhiều thuật toán machine learning quan trọng như neural networks . Xem video để hiểu rõ thêm.

Bây giờ bạn đã có một nắm bắt được các khái niệm đằng sau hồi quy logistic, chúng ta hãy thực hiện nó bằng Python.

Bắt đầu

Hình dung

3. Decision trees

Decision trees là một hình thức học hỏi có giám sát được sử dụng cho mục đích phân loại và hồi quy. Theo kinh nghiệm của tôi, chúng thường được sử dụng cho các mục đích phân loại. Trong thuật toán này, chúng ta chia “population” thành hai hoặc các nhóm tập hợp. Điều này được thực hiện dựa trên các biến thuộc tính quan trọng nhất / các biến độc lập để phân loại các groups có thể được. Thông thường, các thuộc tính quan trọng nhất trong quy trình sẽ gần với gốc của cây.

Decision tree đang ngày càng trở nên phổ biến và có thể xem như là một thuật toán mạnh mẽ cho tất cả các khoa học dữ liệu, đặc biệt là khi kết hợp với các kỹ thuật như random forests, boosting, và bagging . Xem video dưới đây để xem sâu hơn về chức năng cơ bản của decision trees.

Giờ bạn đã biết cách nó hoạt động, đã đến lúc thực hiện nó bằng python

Bắt đầu

Hình dung

Thực hiện

4. Support vector machines

Support vector machines (SVM) là một thuật toán phân loại có giám sát nổi tiếng tạo ra một đường phân chia giữa các loại dữ liệu khác nhau. Cách tính véc tơ này, hiểu theo cách đơn giản nhất, bằng cách tối ưu hóa để điểm gần nhất trong mỗi nhóm sẽ cách nhau xa nhất.

Vectơ này, mặc định, thường là đường tuyến tính. Tuy nhiên, điều này không phải lúc nào cũng đúng. Có rất nhiều điều cần nói về SVM, vì vậy hãy nhớ xem video hướng dẫn dưới đây.

Bây giờ bạn đã biết về SVMs, hãy bắt tay vào việc làm nó với Python

Bắt đầu

Hình dung

Thực hiện

5. K-nearest neighbors 

K-nearest neighbors (KNN) là một thuật toán phân loại có giám sát. Thuật toán dựa vào các tâm điểm khác nhau và so sánh khoảng cách sử dụng một số chức năng (thường là Euclidean). Sau đó, nó phân tích các kết quả và chỉ định mỗi điểm tối ưu nhất trong mỗi nhóm, để xác định điểm gần nhất với nó. Hãy xem video dưới đây để biết thêm về những gì đang diễn ra đằng sau thuật toán KNN.

Bây giờ bạn đã có một số khái niệm đằng sau thuật toán KNN, chúng ta hãy thực hiện nó bằng Python.

Bắt đầu

Hình dung

Thực hiện

6. Random forests

Random forests là một thuật toán supervised . “Ensemble” ở đây có nghĩa là tập hợp tất cả “weak learners” và giúp nó làm việc cùng nhau để tạo ra một dự báo có độ tin cậy cao. Trong trường hợp này, những “weak learners” là tất cả các decision trees ngẫu nhiên được kết hợp để tạo thành dự đoán có độ tin cậy cao – Random forests. Hãy xem video dưới đây để biết thêm thông tin về những thứ có liên quan đến những Random forest.

Bây giờ bạn đã biết tất cả về những gì cần thiết về Random forests, bây giờ là lúc để thực hiện nó với Python.

Bắt đầu

Thực hiện

7. K-means clustering

K-means là một thuật toán unsupervised phổ biến thường được sử dụng để giải quyết vấn đề phân cụm. “K” đề cập đến số lượng người dùng nhập vào của các cụm. Thuật toán bắt đầu với các điểm được chọn ngẫu nhiên và sau đó tối ưu hóa các cụm bằng công thức khoảng cách để tìm nhóm các điểm dữ liệu tốt nhất. Cuối cùng, các nhà khoa học dữ liệu chọn đúng giá trị K. hãy xem video để biết thêm.

Giờ hãy bắt tay vào thực hiện nó

Bắt đầu

Hình dung

Thực hiện

8. Principal components analysis

Principal components analysis(PCA) là một thuật toán giảm kích thước có thể giúp ích cho các nhà khoa học dữ liệu. Quan trọng nhất, nó có thể làm giảm đáng kể các dấu vết tính toán khi giao dịch với hàng trăm hoặc hàng ngàn tính năng khác nhau. Mặc dù đó là một thuật toán unsupervised, người dùng vẫn phải phân tích các kết quả và chắc chắn rằng họ đang giữ 95% tập dữ liệu ban đầu. Có rất nhiều thứ để giải quyết các PCA, vì vậy hãy chắc chắn xem video để biết thêm.

Bây giờ bạn đã biết thêm về PCA và cách hoạt động của nó, chúng ta hãy thực hiện các thuật toán bằng Python

Bắt đầu

Thực hiện

Tóm lại

Trên đây chỉ là những hướng dẫn đơn giản nhất về các thuật toán machine learning phổ biến nhất hiện nay. Tôi hy vọng nó sẽ giúp ích cho bạn

Nguồn tham khảo

https://www.techinasia.com/talk/8-machine-learning-8-minutes