Đơn vị 6 / 11

Xây dựng mô hình: Định nghĩa vấn đề, lựa chọn thuật toán và phân chia đào tạo/kiểm tra

Lợi nhuận:

  • Khả năng xác định loại vấn đề (phân loại, hồi quy, phân cụm) và tiêu chí thành công theo chi phí thực tế của công việc
  • Khả năng phân chia dữ liệu một cách trung thực (không cần chạm vào bộ kiểm tra; theo thứ tự thời gian theo chuỗi thời gian) và thiết lập cơ sở đánh giá không bị rò rỉ
  • Khả năng chọn một mô hình có thể hiểu được bằng cách bắt đầu với một đường cơ sở đơn giản và chỉ thêm độ phức tạp khi nó xứng đáng.

Cho đến nay, chúng tôi đã thu thập dữ liệu, làm sạch, khám phá và tạo ra các tính năng. Bây giờ chúng ta đến với công việc thực tế, xây dựng mô hình. Mô hình là một cấu trúc toán học học một mẫu từ dữ liệu và đưa ra dự đoán cho các tình huống mới. Nhưng phần quan trọng nhất của việc xây dựng mô hình không phải là mã mà là hai quyết định đi trước nó: xác định đúng vấn đề và phân chia dữ liệu một cách chính xác. AI là cố vấn đắc lực trong việc lựa chọn thuật toán, viết mã và điều chỉnh tham số; nhưng việc dự đoán điều gì và thành công có ý nghĩa gì là tùy thuộc vào mỗi người. Một vấn đề không rõ ràng sẽ không giải quyết được ngay cả với một mô hình được viết hoàn hảo.

Đầu tiên xác định vấn đề: chúng ta dự đoán điều gì

Mọi công việc làm người mẫu đều bắt đầu bằng một câu hỏi và câu hỏi này sẽ xác định loại mô hình. Phân loại - đầu ra là một danh mục: "Khách hàng này sẽ rời đi hay ở lại?", "Giao dịch này có phải là giả không?". Hồi quy (trong tiếng Anh hồi quy - đầu ra là một con số): "Ngôi nhà này trị giá bao nhiêu?", "Tháng sau sẽ có bao nhiêu đơn hàng?". Phân cụm (chia dữ liệu không được gắn nhãn thành các nhóm tự nhiên): "Khách hàng của tôi được chia thành bao nhiêu phân khúc tự nhiên?".

Phần thứ hai của tuyên bố vấn đề là tiêu chí thành công: mô hình này “tốt” có nghĩa là gì? Trong mô hình lừa đảo, việc bỏ sót kẻ lừa đảo còn đắt hơn nhiều so với việc vô tình chặn một khách hàng trung thực; Vì vậy, không phải “độ chính xác chung” mà là “tỷ lệ bắt lừa đảo” được đặt lên hàng đầu. Nếu không xác định tiêu chí này ngay từ đầu, cùng với chủ doanh nghiệp, bạn sẽ có một mô hình "có độ chính xác cao" nhưng không hoạt động (chúng ta sẽ đi sâu hơn vào các số liệu trong Bài 7).

Thận trọng: "Độ chính xác" có thể gây hiểu nhầm. Nếu 10 trong số 1000 giao dịch là lừa đảo thì một mô hình ngu ngốc nói rằng "không có giao dịch nào là lừa đảo" sẽ cho độ chính xác 99% nhưng sẽ không bắt được một kẻ lừa đảo nào. Chọn tiêu chí thành công dựa trên chi phí thực sự của vấn đề.

Tách đào tạo/kiểm tra: kiểm tra trung thực mô hình

Việc kiểm tra một mô hình với dữ liệu mà nó đã học được cũng giống như hỏi học sinh những câu hỏi tương tự mà học sinh đã học trong bài kiểm tra; Anh ấy đạt điểm cao nhưng không thể hiện được những gì mình thực sự biết. Vì vậy, chúng tôi chia dữ liệu thành hai (thường là ba):

  • Tập huấn luyện (tập huấn luyện bằng tiếng Anh, thường là 70-80%): Mô hình học về điều này.
  • Bộ kiểm tra (bộ kiểm tra, thường là 20-30%): Mô hình hoàn toàn không thấy điều này; hiệu suất thực sự được đo ở đây.
  • Bộ xác thực: Bộ trung gian dùng để cài đặt mô hình (tham số nào tốt hơn); để giữ cho tập kiểm tra "sạch".

Nguyên tắc cơ bản nhất: tập kiểm tra không bao giờ được chạm vào trong quá trình huấn luyện. Chia tỷ lệ, mã hóa, lựa chọn tính năng - tất cả đều được học đơn giản từ tập huấn luyện, sau đó áp dụng vào thử nghiệm (nguyên tắc rò rỉ từ Bài 5). Bộ thử nghiệm là lần đầu tiên mô hình nhìn thấy thế giới thực; Nếu bạn bật nó quá sớm, bạn sẽ không bao giờ biết được hiệu suất thực sự.

Ngoại lệ về chuỗi thời gian: Nếu dữ liệu của bạn phụ thuộc vào thời gian (doanh số, thị trường chứng khoán, nhu cầu), việc phân tách ngẫu nhiên sẽ không được thực hiện. Bởi vì việc phân tách ngẫu nhiên khiến mô hình nhìn thấy tương lai và dự đoán quá khứ - đây là rò rỉ. Thay vào đó, hãy chia theo trình tự thời gian: luyện tập với thời kỳ cũ, kiểm tra với thời kỳ mới.

Lựa chọn thuật toán: từ đơn giản đến phức tạp

Sai lầm phổ biến nhất của người mới bắt đầu là bắt đầu với mô hình phức tạp nhất. Cách tiếp cận đúng thì ngược lại: trước tiên hãy thiết lập một đường cơ sở đơn giản. “luôn đoán lớp đa số” trong một phân loại; "luôn ước tính giá trị trung bình" trong hồi quy. Mô hình ngu ngốc này đưa ra một đường cơ sở; Nếu mô hình thực tế của bạn không thể vượt qua điều này thì có vấn đề. Sau đó chuyển sang các mô hình đơn giản và dễ hiểu.

người mẫu

Loại vấn đề

điểm mạnh

điểm yếu

Đường cơ sở (đa số/trung bình)

cả hai

Cung cấp điểm chuẩn

không học

Hồi quy logistic

Phân loại

Đơn giản, dễ hiểu

Chỉ có mối quan hệ tuyến tính

Hồi quy tuyến tính

hồi quy

Đơn giản, nhanh chóng

giả định tuyến tính

cây quyết định

cả hai

có thể giải thích được

Ghi nhớ dễ dàng

rừng ngẫu nhiên

cả hai

Mạnh mẽ, bền bỉ

Ít giải nghĩa hơn

Tăng cường độ dốc (XGBoost, v.v.)

cả hai

rất mạnh mẽ

Khó điều chỉnh, nguy cơ ghi nhớ

Quy tắc: chọn mô hình "đủ tốt" đơn giản nhất. Khả năng diễn giải có giá trị hơn quyền lực trong hầu hết các bối cảnh kinh doanh; Sẽ tốt hơn nếu giải thích việc từ chối khoản vay "vì tỷ lệ nợ trên thu nhập của bạn cao" hơn là "vì hộp đen nói như vậy".

ba trường hợp nhỏ

Trường hợp 1 - Định nghĩa vấn đề không chính xác. Một nhóm đã xây dựng mô hình phân loại dựa trên “liệu ​​khách hàng có hài lòng” nhưng lại chọn “sự chính xác” làm tiêu chí thành công. Trong dữ liệu, 88% khách hàng hài lòng; Mô hình này đạt độ chính xác 88% khi gọi mọi người là "hài lòng" và không bao giờ bắt được những người không hài lòng - mặc dù mục tiêu thực sự là tìm ra họ. Bài học: lựa chọn tiêu chí thành công dựa trên mục đích thực sự.

Trường hợp 2 - Rò rỉ thời gian trong ngăn. Trong một dự án dự báo nhu cầu, dữ liệu được phân chia ngẫu nhiên. Mô hình này cho độ chính xác 93% nhưng bị hỏng trong quá trình sản xuất vì trong quá trình huấn luyện, nó đã dự đoán tháng 1, rồi tháng 11 và dữ liệu tháng 12 - nó đã nhìn thấy tương lai. Khi chúng tôi chuyển sang phân chia theo thời gian, hiệu suất thực tế tăng lên 74%. Bài học: Phân chia theo thời gian theo chuỗi thời gian.

Trường hợp 3 - Sự phức tạp không cần thiết. Một nhà phân tích đã bắt đầu trực tiếp với mạng lưới thần kinh sâu, điều chỉnh nó trong nhiều tuần và đạt được độ chính xác 81%. Sau đó, một đồng nghiệp đạt 80% với 20 dòng hồi quy logistic - nhanh hơn, dễ hiểu và dễ bảo trì hơn nhiều. Bài học: bắt đầu với đường cơ sở và một mô hình đơn giản, tăng thêm độ phức tạp khi cần thiết.

Bốn mẫu có thể sao chép

1) Làm rõ định nghĩa vấn đề:

Vai trò của bạn: cố vấn người mẫu. Hãy giúp tôi xác định công việc này: “Tôi muốn giảm tỷ lệ khách hàng rời bỏ”. Hãy hỏi tôi và làm rõ: (1) đây là phân loại hay hồi quy, (2) biến mục tiêu chính xác là gì và nên xác định nó như thế nào, (3) tiêu chí thành công là gì và tại sao. Quyết định là của tôi; bạn trình bày các câu hỏi và các lựa chọn.

2) Khoang luyện tập/kiểm tra an toàn:

Chia df của tôi thành đào tạo/kiểm tra 80%/20%. Duy trì phân bổ lớp (phân tầng).random_state=42. Đây KHÔNG phải là DÒNG THỜI GIAN (quan sát độc lập). In tỉ số lớp của mỗi tập hợp sau khi chia. Chỉ cần cung cấp mã phân tách cho tập kiểm tra mà không áp dụng bất kỳ phép biến đổi nào.

3) Phân chia theo trình tự thời gian:

Dữ liệu phụ thuộc vào thời gian (cột ngày: order_date). KHÔNG ngẫu nhiên, chia theo thứ tự thời gian: đào tạo 80% cũ nhất, kiểm tra 20% mới nhất. In ra phạm vi ngày đào tạo và kiểm tra để tôi có thể xác minh rằng tương lai không bị rò rỉ.

4) Thiết lập đường cơ sở:

Tôi gặp vấn đề về phân loại (mục tiêu: tỷ lệ rời bỏ 0/1). Trước tiên, hãy thiết lập đường cơ sở: đo lường độ chính xác trong quá trình đào tạo/kiểm tra bằng DummyClassifier, công cụ này luôn dự đoán lớp đa số. Sau đó huấn luyện một hồi quy logistic đơn giản và so sánh xem liệu nó có vượt qua đường cơ sở hay không. Hiển thị số liệu của cả hai cạnh nhau.

Dấu nhắc yếu / Dấu nhắc mạnh

Dấu nhắc yếu:

Xây dựng mô hình tốt nhất với dữ liệu này.

"Tốt nhất" không được xác định; Không có loại vấn đề, không có mục tiêu, không có tiêu chí thành công và không có chiến lược phân chia. AI tạo ra một mẫu ngẫu nhiên, có thể bị rò rỉ.

Lời nhắc mạnh mẽ:

Vai trò của bạn: trợ lý người mẫu. Vấn đề: phân loại, mục tiêu "rời bỏ" (0/1), có sự mất cân bằng trong lớp (~12% tỷ lệ rời bỏ). Tiêu chí thành công: Việc thu hồi những người rời bỏ là ưu tiên hàng đầu. Quan sát độc lập dữ liệu (không phải chuỗi thời gian). Nhiệm vụ: (1) Phân chia phân tầng 80/20%, (2) Đường cơ sở DummyClassifier, (3) hồi quy logistic, tất cả các phép biến đổi trong quy trình và chỉ học được từ đào tạo. Không chạm vào bộ kiểm tra trước khi chia tách.

Ở đây loại vấn đề, sự mất cân bằng, tiêu chí và thước đo rò rỉ đều rõ ràng.

Những lỗi thường gặp

  • Không lựa chọn tiêu chí thành công theo mục đích thực sự. "Độ chính xác" trong dữ liệu không cân bằng là sai lệch; Nếu bạn muốn nắm bắt được tầng lớp thiểu số, việc thu hồi là điều quan trọng nhất.
  • Chạm vào bộ bài kiểm tra trong quá trình đào tạo. Việc thực hiện chia tỷ lệ/mã hóa trước khi phân tách bị rò rỉ và che giấu hiệu suất thực.
  • Phân chia ngẫu nhiên trong chuỗi thời gian. Mô hình nhìn thấy tương lai, sụp đổ trong sản xuất; Việc phân chia theo thời gian là điều cần thiết.
  • Nhảy vào một mô hình phức tạp mà không thiết lập đường cơ sở. Không có điểm chuẩn, bạn không thể biết liệu một mô hình có thực sự tốt hay không.
  • Bỏ qua khả năng diễn giải. Trong các quyết định kinh doanh, một mô hình đơn giản có thể giải thích được thường có giá trị hơn một hộp đen.
Mẹo: Trước khi bắt đầu xây dựng mô hình, hãy viết một câu: “Mô hình này sẽ dự đoán _____, thành công của nó sẽ được đo lường bằng số liệu _____, vì chi phí thực sự của công việc là _____.” Nếu bạn không thể điền được câu này thì bạn chưa sẵn sàng để viết code.

Tóm lại

Phần quan trọng nhất của việc xây dựng mô hình không phải là mã mà là các quyết định đi trước nó: xác định đúng vấn đề (phân loại hoặc hồi quy, mục tiêu là gì, tiêu chí thành công là gì) và phân chia dữ liệu một cách công bằng (không cần chạm vào bộ kiểm tra; theo trình tự thời gian trong chuỗi thời gian). Luôn bắt đầu với một đường cơ sở đơn giản và chỉ thêm độ phức tạp khi nó xứng đáng; khả năng diễn giải được đánh giá cao hơn sức mạnh trong hầu hết các bối cảnh kinh doanh. AI là cố vấn đắc lực trong việc lựa chọn thuật toán và mã hóa, nhưng con người mới là người quyết định bạn dự đoán điều gì và tại sao.

Nhiệm vụ ứng dụng

Xác định một vấn đề dự đoán và hoàn thành câu sau bằng văn bản: “Mô hình này sẽ dự đoán ___ (phân loại/hồi quy), mục tiêu là ___, tiêu chí thành công là ___ vì ___.” Sau đó, phân chia dữ liệu bằng chiến lược phù hợp (theo trình tự thời gian nếu đó là chuỗi thời gian), thiết lập đường cơ sở và đo lường xem một mẫu đơn giản có phá vỡ đường cơ sở đó hay không.

danh sách kiểm tra

  • [ ] Tôi đã xác định rõ loại vấn đề (phân loại/hồi quy) và mục tiêu chưa?
  • [ ] Tôi đã chọn tiêu chí thành công dựa trên chi phí thực tế của công việc chưa?
  • [ ] Tôi có để nguyên bộ bài kiểm tra trong quá trình đào tạo không?
  • [ ] Nếu là chuỗi thời gian thì tôi có chia nó theo trình tự thời gian không?
  • [ ] Tôi đã thiết lập đường cơ sở trước khi chuyển sang mô hình phức tạp chưa?