Logo Zephyrnet

Các khuôn khổ để tiếp cận quá trình học máy

Ngày:

Có đáng để so sánh các phương pháp tiếp cận với quy trình học máy không? Có sự khác biệt cơ bản nào giữa các khuôn khổ như vậy không?

Tuy nhiên phương pháp cổ điển để những nhiệm vụ như vậy tồn tại và đã tồn tại được một thời gian, đáng để tham khảo từ những quan điểm mới và khác vì nhiều lý do: Tôi đã bỏ lỡ điều gì? Có cách tiếp cận mới nào mà trước đây chưa được xem xét không? Tôi có nên thay đổi quan điểm của mình về cách tôi tiếp cận học máy không?

2 tài nguyên gần đây nhất mà tôi đã xem qua phác thảo các khuôn khổ để tiếp cận quá trình học máy là Yufeng Guo's 7 bước học máy và phần 4.5 của Francois Chollet's Học sâu với Python. Có bất cứ điều gì trong số này khác với cách bạn đã xử lý một nhiệm vụ như vậy không?

Phần tiếp theo là phác thảo về 2 phương pháp học máy được giám sát này, so sánh ngắn gọn và nỗ lực dung hòa hai phương pháp này thành một khuôn khổ thứ ba làm nổi bật các lĩnh vực quan trọng nhất của quy trình học máy (được giám sát).

 
Tôi thực sự đã xem bài báo của Guo bằng cách xem lần đầu tiên một video của anh ấy trên Youtube. Bài đăng có cùng nội dung với video và vì vậy nếu quan tâm, một trong hai tài nguyên sẽ đủ.

 

 

Guo đã trình bày các bước như sau (với một chút quảng cáo về phía tôi):

  1. Thu Thập Dữ Liệu
    → Số lượng và chất lượng dữ liệu của bạn cho biết mô hình của chúng tôi chính xác đến mức nào
    → Kết quả của bước này nói chung là biểu diễn dữ liệu (Guo đơn giản hóa để chỉ định bảng) mà chúng tôi sẽ sử dụng để đào tạo
    → Sử dụng dữ liệu được thu thập trước, thông qua bộ dữ liệu từ Kaggle, UCI, v.v., vẫn phù hợp với bước này
  2. Chuẩn bị dữ liệu
    → Sắp xếp dữ liệu và chuẩn bị cho đào tạo
    → Làm sạch những gì có thể yêu cầu nó (xóa trùng lặp, sửa lỗi, xử lý các giá trị bị thiếu, chuẩn hóa, chuyển đổi kiểu dữ liệu, v.v.)
    → Ngẫu nhiên hóa dữ liệu, giúp xóa các tác động của thứ tự cụ thể mà chúng tôi đã thu thập và/hoặc chuẩn bị dữ liệu của mình
    → Trực quan hóa dữ liệu để giúp phát hiện các mối quan hệ có liên quan giữa các biến hoặc sự mất cân bằng của lớp (cảnh báo sai lệch!) hoặc thực hiện phân tích thăm dò khác
    → Chia thành tập huấn luyện và tập đánh giá
  3. Chọn một mô hình
    → Các thuật toán khác nhau dành cho các nhiệm vụ khác nhau; chọn đúng
  4. Đào tạo người mẫu
    → Mục tiêu của đào tạo là trả lời một câu hỏi hoặc đưa ra dự đoán chính xác càng thường xuyên càng tốt
    → Ví dụ về hồi quy tuyến tính: thuật toán sẽ cần học các giá trị cho m (Hoặc W) Và b (x là đầu vào, y là đầu ra)
    → Mỗi bước lặp của quy trình là một bước huấn luyện
  5. Đánh giá mô hình
    → Sử dụng một số chỉ số hoặc sự kết hợp của các chỉ số để “đo lường” hiệu suất khách quan của mô hình
    → Kiểm tra mô hình dựa trên dữ liệu chưa từng thấy
    → Dữ liệu không nhìn thấy này có nghĩa là phần nào đại diện cho hiệu suất của mô hình trong thế giới thực, nhưng vẫn giúp điều chỉnh mô hình (trái ngược với dữ liệu thử nghiệm thì không)
    → Chia tàu/đánh giá tốt? 80/20, 70/30 hoặc tương tự, tùy thuộc vào miền, tính khả dụng của dữ liệu, chi tiết bộ dữ liệu, v.v.
  6. Điều chỉnh tham số
    → Bước này đề cập đến siêu tham số điều chỉnh, đó là một "hình thức nghệ thuật" trái ngược với khoa học
    → Điều chỉnh các tham số mô hình để cải thiện hiệu suất
    → Siêu tham số mô hình đơn giản có thể bao gồm: số bước đào tạo, tốc độ học, giá trị khởi tạo và phân phối, v.v.
  7. Đưa ra dự đoán
    → Sử dụng thêm dữ liệu (tập kiểm tra), cho đến thời điểm này, đã được giữ lại khỏi mô hình (và đã biết nhãn lớp), được sử dụng để kiểm tra mô hình; một xấp xỉ tốt hơn về cách mô hình sẽ hoạt động trong thế giới thực

 
Trong phần 4.5 của cuốn sách của anh ấy, Chollet vạch ra một quy trình phổ biến của máy học, mà ông mô tả như một kế hoạch chi tiết để giải quyết các vấn đề về máy học:

Kế hoạch chi tiết liên kết các khái niệm mà chúng ta đã học trong chương này lại với nhau: định nghĩa vấn đề, đánh giá, kỹ thuật tính năng và chống trang bị thừa.

Điều này so sánh với khuôn khổ trên của Guo như thế nào? Chúng ta hãy xem 7 bước điều trị của Chollet (hãy nhớ rằng, mặc dù không được tuyên bố rõ ràng là được thiết kế riêng cho họ, kế hoạch chi tiết của anh ấy được viết cho một cuốn sách về mạng thần kinh):

  1. Xác định vấn đề và lắp ráp một bộ dữ liệu
  2. Lựa chọn thước đo thành công
  3. Quyết định về một giao thức đánh giá
  4. Chuẩn bị dữ liệu của bạn
  5. Phát triển một mô hình hoạt động tốt hơn so với đường cơ sở
  6. Mở rộng quy mô: phát triển một mô hình overfit
  7. Thường xuyên hóa mô hình của bạn và điều chỉnh các tham số của bạn

 

học máy
Nguồn: Lớp Học máy của Andrew Ng tại Stanford

 

Quy trình làm việc của Chollet ở cấp độ cao hơn và tập trung nhiều hơn vào việc đưa mô hình của bạn từ tốt đến tuyệt vời, trái ngược với Guo, quy trình này có vẻ quan tâm nhiều hơn đến việc đi từ con số XNUMX đến tốt. Mặc dù nó không nhất thiết phải loại bỏ bất kỳ bước quan trọng nào khác để làm như vậy, kế hoạch chi tiết nhấn mạnh hơn vào việc điều chỉnh siêu tham số và chính quy trong việc theo đuổi sự vĩ đại của nó. Một sự đơn giản hóa ở đây dường như là:

 

mô hình tốt → mô hình “quá tốt” → thu nhỏ lại, mô hình “có thể khái quát hóa”

 
Chúng ta có thể kết luận một cách hợp lý rằng khuôn khổ của Guo vạch ra một cách tiếp cận “người mới bắt đầu” đối với quy trình học máy, xác định rõ ràng hơn các bước ban đầu, trong khi của Chollet là một cách tiếp cận nâng cao hơn, nhấn mạnh cả các quyết định rõ ràng về đánh giá mô hình và điều chỉnh các mô hình học máy. Cả hai cách tiếp cận đều có giá trị như nhau và không quy định bất cứ điều gì khác biệt cơ bản với nhau; bạn có thể chồng Chollet lên trên Guo và thấy rằng, trong khi 7 bước của 2 mô hình không thẳng hàng, thì cuối cùng chúng sẽ bao gồm các nhiệm vụ giống nhau.

Ánh xạ của Chollet với Guo, đây là nơi tôi thấy các bước xếp hàng (Guo được đánh số, trong khi Chollet được liệt kê bên dưới bước Guo tương ứng với số bước quy trình công việc Chollet của chúng trong ngoặc đơn):

  1. Thu thập dữ liệu
    → Xác định vấn đề và lắp ráp bộ dữ liệu (1)
  2. Chuẩn bị dữ liệu
    → Chuẩn bị dữ liệu của bạn (4)
  3. Chọn mô hình
  4. Mô hình tàu hỏa
    → Phát triển một mô hình hoạt động tốt hơn so với đường cơ sở (5)
  5. Đánh giá mô hình
    → Lựa chọn thước đo thành công (2)
    → Quyết định về một giao thức đánh giá (3)
  6. Điều chỉnh tham số
    → Mở rộng quy mô: phát triển một mô hình overfit (6)
    → Chính quy hóa mô hình của bạn và điều chỉnh các tham số của bạn (7)
  7. Dự đoán

Nó không hoàn hảo, nhưng tôi đứng về phía nó.

Theo quan điểm của tôi, điều này thể hiện một điều quan trọng: cả hai khuôn khổ đều nhất trí và cùng nhau nhấn mạnh vào các điểm cụ thể của khuôn khổ. Rõ ràng là đánh giá mô hình và điều chỉnh tham số là những khía cạnh quan trọng của học máy. Ngoài ra, các lĩnh vực quan trọng đã được thống nhất là lắp ráp/chuẩn bị dữ liệu và lựa chọn/đào tạo mô hình ban đầu.

 
Hãy sử dụng những điều trên để tập hợp một khuôn khổ đơn giản hóa cho học máy, 5 lĩnh vực chính của quá trình học máy:

  1. Thu thập và chuẩn bị dữ liệu
    → mọi thứ từ việc chọn nơi lấy dữ liệu, cho đến khi dữ liệu sạch và sẵn sàng cho việc lựa chọn tính năng/kỹ thuật
  2. Lựa chọn tính năng và kỹ thuật tính năng
    → điều này bao gồm tất cả các thay đổi đối với dữ liệu từ khi dữ liệu được làm sạch cho đến khi được nhập vào mô hình máy học
  3. Chọn thuật toán học máy và đào tạo mô hình đầu tiên của chúng tôi
    → nhận được kết quả “tốt hơn mức ban đầu” mà chúng tôi có thể (hy vọng) cải thiện
  4. Đánh giá mô hình của chúng tôi
    → điều này bao gồm việc lựa chọn biện pháp cũng như đánh giá thực tế; dường như là một bước nhỏ hơn những bước khác, nhưng quan trọng đối với kết quả cuối cùng của chúng tôi
  5. Điều chỉnh mô hình, chính quy hóa và điều chỉnh siêu tham số
    → đây là nơi chúng tôi lặp đi lặp lại từ mô hình “đủ tốt” đến nỗ lực hết mình

 
Vì vậy, bạn nên sử dụng khuôn khổ nào? Có thực sự có bất kỳ sự khác biệt quan trọng? Những thứ do Guo và Chollet trình bày có cung cấp bất kỳ thứ gì mà trước đây còn thiếu không? Khung đơn giản hóa này có mang lại lợi ích thực sự nào không? Miễn là các cơ sở được bảo hiểm và các nhiệm vụ tồn tại rõ ràng trong sự chồng chéo của các khung có xu hướng, thì kết quả của việc tuân theo một trong hai mô hình sẽ bằng với kết quả của mô hình kia. Điểm thuận lợi hoặc mức độ kinh nghiệm của bạn có thể thể hiện sự ưu tiên cho một điểm.

Như bạn có thể đoán, điều này thực sự không liên quan đến việc quyết định hoặc đối chiếu các khuôn khổ cụ thể mà là một cuộc điều tra về quy trình học máy hợp lý. nên trông giống như.

 
 
Matthew Mayo (@ mattmayo13) là Nhà khoa học dữ liệu và là Tổng biên tập của KDnuggets, nguồn tài nguyên về Khoa học dữ liệu và Máy học trực tuyến. Sở thích của anh ấy là về xử lý ngôn ngữ tự nhiên, thiết kế và tối ưu hóa thuật toán, học không giám sát, mạng nơ-ron và các phương pháp tiếp cận tự động đối với học máy. Matthew có bằng Thạc sĩ về khoa học máy tính và bằng tốt nghiệp về khai thác dữ liệu. Có thể liên hệ với anh ấy tại editor1 tại kdnuggets [dot] com.
 

tại chỗ_img

Tin tức mới nhất

tại chỗ_img