Chuyến đi của thuật toán học máy

Tác giả:Giấc mơ nhỏ, Tạo: 2017-02-25 09:37:02, Cập nhật:

Chuyến đi của thuật toán học máy

Những vấn đề về máy học mà chúng ta cần giải quyếthttp://machinelearningmastery.com/practical-machine-learning-problems/Sau đó, chúng ta có thể suy nghĩ về những dữ liệu mà chúng ta cần thu thập và những thuật toán mà chúng ta có thể sử dụng. Có rất nhiều thuật toán trong lĩnh vực học máy, và mỗi thuật toán có nhiều phần mở rộng, vì vậy việc xác định một thuật toán đúng cho một vấn đề cụ thể là rất khó. Trong bài viết này, tôi muốn cung cấp cho bạn hai phương pháp tổng hợp các thuật toán mà bạn sẽ gặp trong thực tế.

  • Cách học

    Các thuật toán được phân loại theo cách xử lý kinh nghiệm, môi trường hoặc bất kỳ dữ liệu nào mà chúng ta gọi là đầu vào.

    Ở đây chỉ thảo luận một vài phong cách học tập hay mô hình học tập chính và một vài ví dụ cơ bản. Phương pháp phân loại hay tổ chức như vậy là tốt vì nó buộc bạn phải suy nghĩ về vai trò và quá trình chuẩn bị mô hình nhập dữ liệu, và sau đó chọn một thuật toán phù hợp nhất với vấn đề của bạn để có kết quả tốt nhất.

    Kiểm tra học tập: Dữ liệu nhập được gọi là dữ liệu đào tạo và có kết quả được biết hoặc được đánh dấu. Ví dụ như một email có phải là thư rác, hoặc giá cổ phiếu trong một khoảng thời gian. Mô hình dự đoán, nếu sai, nó sẽ được sửa chữa, và quá trình này tiếp tục cho đến khi nó đạt được một số tiêu chuẩn chính xác cho dữ liệu đào tạo. Học tập không giám sát: dữ liệu nhập không được đánh dấu và không có kết quả xác định. Mô hình thu hồi cấu trúc và giá trị số của dữ liệu. Ví dụ về vấn đề bao gồm học tập quy tắc liên kết và vấn đề phân loại, ví dụ về thuật toán bao gồm thuật toán Apriori và thuật toán K-mean. Học tập bán giám sát: Dữ liệu nhập là một sự pha trộn của dữ liệu được đánh dấu và không được đánh dấu, có một số vấn đề dự đoán nhưng mô hình cũng phải học cấu trúc và thành phần của dữ liệu. Các ví dụ vấn đề bao gồm các vấn đề phân loại và hồi quy, ví dụ thuật toán là phần lớn các phần mở rộng của các thuật toán học tập không được giám sát. Học tập tăng cường: Dữ liệu nhập có thể kích thích mô hình và khiến mô hình phản ứng. Phản hồi không chỉ từ quá trình học tập được giám sát mà còn từ phần thưởng hoặc hình phạt trong môi trường. Ví dụ vấn đề là kiểm soát robot, ví dụ thuật toán bao gồm Q-learning và temporal difference learning.

    Khi tích hợp dữ liệu để mô phỏng các quyết định kinh doanh, hầu hết các phương pháp học tập giám sát và học tập không giám sát được sử dụng. Một chủ đề nóng tiếp theo là học tập bán giám sát, chẳng hạn như các vấn đề phân loại hình ảnh, trong đó có một cơ sở dữ liệu lớn, nhưng chỉ có một phần nhỏ hình ảnh được đánh dấu.

  • Algorithm tương đồng

    Các thuật toán chủ yếu được phân loại theo chức năng hoặc hình thức. Ví dụ, thuật toán dựa trên cây, thuật toán mạng thần kinh. Đây là một cách phân loại rất hữu ích, nhưng không hoàn hảo. Vì có nhiều thuật toán có thể dễ dàng được chia thành hai loại, chẳng hạn như Learning Vector Quantization là một thuật toán thuộc loại mạng thần kinh và một phương pháp dựa trên trường hợp.

    Trong phần này, tôi liệt kê những thuật toán mà tôi cho rằng là phương pháp phân loại trực quan nhất. Tôi không có tất cả các thuật toán hoặc phương pháp phân loại, nhưng tôi nghĩ rằng nó sẽ rất hữu ích để cung cấp cho độc giả một cái nhìn tổng quát. Nếu bạn có một cái gì đó mà tôi đã không liệt kê, vui lòng chia sẻ.

  • Sự hồi quy

    Phân tích hồi quy quan tâm đến mối quan hệ giữa các biến. Nó áp dụng các phương pháp thống kê, một số ví dụ về các thuật toán bao gồm:

    Phân vuông nhỏ nhất thông thường Phục hồi hậu cần Sự suy giảm từng bước Splines hồi quy thích nghi đa biến (MARS) Tiêu chuẩn của các phương pháp kiểm tra và kiểm tra

  • Phương pháp dựa trên trường hợp

    Học tập dựa trên trường hợp mô phỏng một vấn đề quyết định, ví dụ hoặc ví dụ được sử dụng rất quan trọng đối với mô hình. Phương pháp này xây dựng một cơ sở dữ liệu trên dữ liệu hiện có và thêm dữ liệu mới vào, sau đó sử dụng phương pháp đo sự tương đồng để tìm ra một kết hợp tốt nhất trong cơ sở dữ liệu và đưa ra một dự đoán. Vì lý do này, phương pháp này cũng được gọi là phương pháp nhà thắng là vua và phương pháp dựa trên bộ nhớ.

    k-Người láng giềng gần nhất (kNN) Học phương trình định lượng (LVQ) Bản đồ tự tổ chức (SOM)

  • Phương pháp quy định

    Đây là một phần mở rộng của các phương pháp khác (thường là phương pháp quay trở lại), phần mở rộng này càng thuận lợi hơn đối với các mô hình đơn giản và tốt hơn trong việc suy luận. Tôi liệt kê nó ở đây vì nó phổ biến và mạnh mẽ.

    Phục hồi sườn núi Động tác viên thu nhỏ và chọn lọc tuyệt đối tối thiểu (LASSO) Mạng đàn hồi

  • Học từ cây quyết định

    Các phương pháp cây quyết định xây dựng một mô hình quyết định dựa trên giá trị thực tế trong dữ liệu. Cây quyết định được sử dụng để giải quyết các vấn đề nhập và hồi quy.

    Cây phân loại và hồi quy (CART) Iterative Dichotomiser 3 (ID3) C4.5 Khám phá tương tác tự động Chi-squared (CHAID) Cây quyết định Rừng ngẫu nhiên Splines hồi quy thích nghi đa biến (MARS) Máy tăng độ dốc (GBM)

  • Bayesian

    Phương pháp Bayesian là một phương pháp áp dụng định lý Bayesian trong việc giải quyết các vấn đề phân loại và hồi quy.

    Bayes ngây thơ Đánh giá trung bình một phụ thuộc (AODE) Mạng tin tưởng Bayesian (BBN)

  • Phương pháp Kernel

    Các phương pháp Kernel nổi tiếng nhất là Support Vector Machines; phương pháp này lập bản đồ dữ liệu đầu vào ở kích thước cao hơn, giúp mô hình hóa một số vấn đề phân loại và hồi quy dễ dàng hơn.

    Máy hỗ trợ vector (SVM) Chức năng cơ sở phóng xạ (RBF) Phân tích phân biệt tuyến tính (LDA)

  • Phương pháp nhóm

    Clustering (cluster), tự nó mô tả các vấn đề và phương pháp. Các phương pháp cluster thường được phân loại bằng cách mô hình hóa. Tất cả các phương pháp cluster đều tổ chức dữ liệu bằng cấu trúc dữ liệu thống nhất, để mỗi nhóm có nhiều điểm chung nhất.

    K-Mean Tối đa hóa kỳ vọng (EM)

  • Học quy tắc liên kết

    Học quy tắc liên kết (tiếng Anh: association rule learning) là một phương pháp để chiết xuất các quy tắc giữa các dữ liệu để tìm ra các mối liên hệ giữa các dữ liệu không gian đa chiều lớn, và những mối liên hệ quan trọng này có thể được sử dụng bởi các tổ chức.

    Thuật toán trước Thuật toán Eclat

  • Mạng thần kinh nhân tạo

    Mạng thần kinh nhân tạo được lấy cảm hứng từ cấu trúc và chức năng của mạng thần kinh sinh học. Nó thuộc loại phù hợp mô hình, thường được sử dụng cho các vấn đề hồi quy và phân loại, nhưng nó có hàng trăm thuật toán và biến thể. Một số trong số đó là các thuật toán cổ điển phổ biến (tôi sẽ nói riêng về học sâu):

    Perceptron Phân phối ngược Mạng Hopfield Bản đồ tự tổ chức (SOM) Học định lượng vector (LVQ)

  • Học sâu

    Phương pháp học sâu (Deep Learning) là một bản cập nhật hiện đại của mạng thần kinh nhân tạo. Nó có cấu trúc mạng phức tạp hơn so với mạng thần kinh truyền thống, và nhiều phương pháp quan tâm đến học tập bán giám sát.

    Máy Boltzmann hạn chế (RBM) Mạng tin tưởng sâu sắc (DBN) Mạng lưới cong Bộ mã hóa tự động chồng lên nhau

  • Giảm kích thước

    Dimensionality Reduction, giống như phương pháp phân loại, theo đuổi và sử dụng cấu trúc thống nhất trong dữ liệu, nhưng nó dùng ít thông tin hơn để tổng hợp và mô tả dữ liệu. Điều này rất hữu ích để trực quan hóa hoặc đơn giản hóa dữ liệu.

    Phân tích thành phần chính (PCA) Phục hồi vuông nhỏ nhất (PLS) Bản đồ Sammon Mức độ đa chiều (MDS) Theo đuổi dự đoán

  • Kết hợp các phương pháp

    Các phương pháp tập hợp (các phương pháp kết hợp) bao gồm nhiều mô hình nhỏ được đào tạo độc lập, đưa ra kết luận độc lập, và cuối cùng tạo thành một dự đoán tổng thể. Nhiều nghiên cứu tập trung vào những mô hình được sử dụng và cách các mô hình được kết hợp. Đây là một kỹ thuật rất mạnh mẽ và phổ biến.

    Tăng cường Bootstrapped Aggregation (Bổn) AdaBoost Tổng quát xếp chồng lên nhau (trộn) Máy tăng độ dốc (GBM) Rừng ngẫu nhiên

img

Đây là một ví dụ về việc kết hợp các phương pháp kết hợp (từ wiki), mỗi quy tắc chữa cháy được đánh dấu bằng màu xám, và dự báo cuối cùng được tổng hợp là màu đỏ.

  • Các nguồn khác

    Chuyến đi này nhằm cung cấp cho bạn một cái nhìn tổng quan về các thuật toán và một số công cụ liên kết.

    Dưới đây là một số tài nguyên khác, đừng quá nhiều, hiểu được nhiều thuật toán hơn là tốt hơn cho bạn, nhưng một kiến thức sâu sắc về một số thuật toán cũng sẽ hữu ích.

    • List of Machine Learning Algorithms: Đây là một tài nguyên trên wiki, mặc dù đầy đủ, nhưng tôi nghĩ rằng phân loại không tốt.
    • Machine Learning Algorithms Category: Đây cũng là một tài nguyên trên wiki, một chút tốt hơn so với trên, được sắp xếp theo bảng chữ cái.
    • CRAN Task View: Machine Learning & Statistical Learning: Bộ mở rộng ngôn ngữ R cho thuật toán máy học để xem bạn hiểu được những gì người khác đang sử dụng tốt hơn.
    • Top 10 Algorithms in Data Mining: Đây là bài viết được xuất bản, và bây giờ là một cuốn sách, bao gồm các thuật toán khai thác dữ liệu phổ biến nhất. Một danh sách các thuật toán cơ bản khác, nhưng có rất ít thuật toán được liệt kê ở đây, giúp bạn học sâu hơn.

Được chuyển từ bài viết của Bell Column / nhà phát triển Python


Thêm nữa