Mục lục:
- Nghiên cứu đường cong học tập
- Sử dụng xác nhận chéo hợp lệ
- Chọn đúng số liệu lỗi hoặc số điểm
- Tìm kiếm các thông số siêu tốt nhất
- Thử nghiệm nhiều mô hình
- Các mô hình trung bình
- Các mô hình xếp chồng
- Sử dụng kỹ thuật tính năng
- Lựa chọn các tính năng và ví dụ
- Tìm thêm dữ liệu
Video: Xã hội 5.0 - bước tiếp theo của một cuộc sống thông minh hơn 2025
Bây giờ bạn đã học được thuật toán máy học đã học xong từ dữ liệu thu được bằng Python hoặc R, bạn đang cân nhắc kết quả từ bộ kiểm tra của bạn và tự hỏi liệu bạn có thể cải thiện chúng hay đã thực sự đạt được kết quả tốt nhất có thể. Có một số kiểm tra và hành động gợi ý về các phương pháp bạn có thể sử dụng để cải thiện hiệu năng học máy và đạt được một dự đoán tổng quát hơn có thể làm việc tốt với bộ test hoặc dữ liệu mới của bạn. Danh sách mười kỹ thuật này cung cấp cho bạn cơ hội để cải thiện kết quả đạt được bằng cách sử dụng các thuật toán học máy.
Nghiên cứu đường cong học tập
Bước đầu tiên để cải thiện kết quả, bạn cần xác định các vấn đề với mô hình của mình. Các đường cong học tập yêu cầu bạn phải xác minh đối với một tập kiểm tra khi bạn thay đổi số lượng các trường huấn luyện. Bạn sẽ ngay lập tức nhận ra liệu bạn có tìm thấy nhiều sự khác biệt giữa lỗi trong mẫu và lỗi ngoài lỗi của bạn không. Sự khác biệt ban đầu rộng là một dấu hiệu của sự khác biệt ước tính; ngược lại, có lỗi ở mức cao và tương tự là dấu hiệu cho thấy bạn đang làm việc với mô hình thiên vị.
Python giúp bạn dễ dàng vẽ các đường cong học tập bằng cách sử dụng chức năng Scikit-learn (). Bạn cũng có thể dễ dàng đạt được kết quả tương tự bằng cách sử dụng R với các chức năng tùy chỉnh, như được mô tả bởi blog Cách mạng về phân tích.
Sử dụng xác nhận chéo hợp lệ
Nhìn thấy một sự khác biệt lớn giữa các ước lượng chéo (CV) và kết quả là một vấn đề phổ biến xuất hiện với bộ kiểm tra hoặc dữ liệu mới. Có vấn đề này có nghĩa là có sự cố với xác nhận chéo. Ngoài thực tế là CV không phải là dự báo hiệu suất tốt, vấn đề này cũng có nghĩa là một chỉ số gây hiểu lầm đã gây ra cho bạn mô hình vấn đề không chính xác và đạt được kết quả không đạt yêu cầu.
Cross-validation cung cấp cho bạn các gợi ý khi các bước bạn thực hiện là chính xác. Điều quan trọng là, nhưng không quan trọng, CV dự đoán chính xác các phép đo sai số ngoài mẫu. Tuy nhiên, điều quan trọng là CV ước tính phản ánh đúng sự cải thiện hoặc tồi tệ hơn trong giai đoạn thử nghiệm do các quyết định mô hình của bạn. Nói chung, có hai lý do để ước tính chẩn đoán chéo có thể khác với kết quả lỗi thực sự:
- Snooping
- Lấy mẫu không chính xác
Python cung cấp một mẫu sampler phân tầng gấp nếp gấp-k. R có thể phân lớp mẫu bằng cách sử dụng phương thức createFolds của thư viện caret khi bạn cung cấp tham số y như là một nhân tố.
Chọn đúng số liệu lỗi hoặc số điểm
Việc cố gắng tối ưu hóa số liệu lỗi dựa trên sai số trung vị bằng cách sử dụng thuật toán học dựa trên sai số trung bình sẽ không cung cấp cho bạn những kết quả tốt nhất trừ khi bạn quản lý quá trình tối ưu hoá một thời trang phù hợp với số liệu bạn chọn.Khi giải quyết vấn đề bằng cách sử dụng dữ liệu và học máy, bạn cần phân tích vấn đề và xác định số liệu lý tưởng để tối ưu hóa.
Ví dụ có thể giúp ích rất nhiều. Bạn có thể nhận được nhiều người trong số họ từ các bài báo học thuật và từ các cuộc thi học máy công mà cẩn thận xác định các vấn đề cụ thể về dữ liệu và số liệu lỗi / số điểm. Tìm một cuộc thi có mục tiêu và dữ liệu tương tự với cuộc thi của bạn, sau đó kiểm tra số liệu được yêu cầu.
Tìm kiếm các thông số siêu tốt nhất
Hầu hết các thuật toán thực hiện khá tốt ngoài hộp bằng cách sử dụng cài đặt tham số mặc định. Tuy nhiên, bạn luôn có thể đạt được kết quả tốt hơn bằng cách kiểm tra các tham số siêu khác nhau. Tất cả bạn phải làm là tạo một tìm kiếm lưới giữa các giá trị có thể mà các tham số của bạn có thể thực hiện và đánh giá các kết quả bằng cách sử dụng số liệu sai số hoặc số điểm đúng. Việc tìm kiếm mất thời gian, nhưng nó có thể cải thiện kết quả của bạn.
Khi tìm kiếm mất quá nhiều thời gian để hoàn thành, bạn thường có thể đạt được kết quả tương tự bằng cách làm việc trên mẫu dữ liệu ban đầu của bạn. Ít ví dụ được chọn ngẫu nhiên đòi hỏi ít tính toán, nhưng chúng thường gợi ý một giải pháp tương tự. Một thủ thuật khác có thể tiết kiệm thời gian và công sức là thực hiện tìm kiếm ngẫu nhiên, do đó hạn chế số lượng kết hợp các tham số siêu để kiểm tra.
Thử nghiệm nhiều mô hình
Là một thực tiễn tốt, thử nghiệm nhiều mô hình, bắt đầu với những mô hình cơ bản - những mô hình có sự thiên vị nhiều hơn sự khác biệt. Bạn nên luôn luôn thích những giải pháp đơn giản hơn những giải pháp phức tạp. Bạn có thể phát hiện ra rằng một giải pháp đơn giản thực hiện tốt hơn.
Việc đại diện cho hiệu suất của các mô hình khác nhau sử dụng cùng một biểu đồ rất hữu ích trước khi chọn một trong những cách tốt nhất để giải quyết vấn đề của bạn. Bạn có thể đặt các mô hình được sử dụng để dự đoán hành vi của người tiêu dùng, chẳng hạn như phản hồi đối với phiếu mua hàng thương mại, trong biểu đồ tăng lợi đặc biệt và biểu đồ nâng. Các biểu đồ này cho thấy mô hình của bạn hoạt động như thế nào bằng cách phân chia kết quả thành các phần nhỏ hơn hoặc nhỏ hơn.
Bởi vì bạn chỉ quan tâm đến những người tiêu dùng có nhiều khả năng đáp ứng lời đề nghị của bạn nhất nên việc sắp xếp các dự đoán từ ít nhất cũng sẽ nhấn mạnh mô hình của bạn tốt như thế nào khi dự đoán được khách hàng tiềm năng nhất. Những câu trả lời của Quora này giúp bạn thấy được các biểu đồ tăng và nâng hoạt động như thế nào: Curve của ROC là gì? và Curve Nâng cao là gì?.
Thử nghiệm nhiều mô hình và introspecting chúng cũng có thể cung cấp các gợi ý về tính năng nào để chuyển đổi để tạo tính năng hoặc tính năng nào để bỏ qua khi bạn thực hiện lựa chọn tính năng.
Các mô hình trung bình
Học máy liên quan đến việc xây dựng nhiều mô hình và tạo ra nhiều dự đoán khác nhau, tất cả đều có các biểu diễn lỗi khác nhau. Bạn có thể ngạc nhiên khi biết rằng bạn có thể có được kết quả tốt hơn bằng cách tính trung bình các mô hình với nhau. Nguyên tắc này khá đơn giản: Phương sai ước tính là ngẫu nhiên, do đó tính trung bình nhiều mô hình khác nhau, bạn có thể tăng tín hiệu và loại trừ tiếng ồn thường tự hủy.
Đôi khi các kết quả từ một thuật toán thực hiện tốt, kết hợp với các kết quả từ một thuật toán đơn giản mà không làm việc tốt, có thể tạo dự đoán tốt hơn so với sử dụng một thuật toán duy nhất.Không đánh giá thấp các đóng góp được phân phối từ các mô hình đơn giản hơn, chẳng hạn như các mô hình tuyến tính, khi bạn tính trung bình kết quả của chúng bằng sản lượng từ các thuật toán phức tạp hơn, chẳng hạn như tăng cường độ dốc.
Các mô hình xếp chồng
Vì những lý do tương tự như vậy mà việc tính trung bình hoạt động, xếp chồng cũng có thể cung cấp cho bạn hiệu suất tốt hơn. Trong xếp chồng, bạn xây dựng các mô hình học máy của bạn trong hai giai đoạn. Ban đầu, kỹ thuật này dự đoán nhiều kết quả sử dụng các thuật toán khác nhau, với tất cả chúng học từ các tính năng có trong dữ liệu của bạn. Trong giai đoạn thứ hai, thay vì cung cấp các tính năng mà một mô hình mới sẽ học, bạn cung cấp mô hình đó với các dự đoán của các mô hình đã được đào tạo trước đây.
Sử dụng cách tiếp cận hai giai đoạn là hợp lý khi đoán các chức năng đích phức tạp. Bạn có thể gần đúng chúng bằng cách sử dụng nhiều mô hình với nhau và sau đó bằng cách kết hợp kết quả của phép nhân theo một cách thông minh. Bạn có thể sử dụng một hồi quy logistic đơn giản hoặc một nhóm cây phức tạp như một mô hình giai đoạn thứ hai.
Cuộc thi Netflix cung cấp bằng chứng và minh hoạ chi tiết về cách các mô hình không đồng nhất có thể được xếp chồng lên nhau để tạo ra các mô hình mạnh hơn. Tuy nhiên, thực hiện giải pháp này như là một ứng dụng làm việc có thể được khá cồng kềnh.
Sử dụng kỹ thuật tính năng
Nếu bạn tin rằng thiên vị vẫn đang ảnh hưởng đến mô hình của mình, bạn sẽ không có lựa chọn nào khác ngoài việc tạo các tính năng mới để cải thiện hiệu suất của mô hình. Mỗi tính năng mới có thể đoán được phản hồi mục tiêu dễ dàng hơn.
Tự động tạo tính năng có thể sử dụng sự mở rộng đa thức hoặc các lớp vector hỗ trợ các thuật toán học máy. Các máy vector hỗ trợ có thể tự động tìm kiếm các tính năng tốt hơn trong các không gian đặc trưng theo chiều cao theo cách mà cả hai tính toán nhanh và tối ưu bộ nhớ.
Tuy nhiên, không có gì thực sự có thể thay thế cho chuyên môn và sự hiểu biết của bạn về phương pháp cần thiết để giải quyết vấn đề dữ liệu mà các thuật toán đang cố gắng để tìm hiểu. Bạn có thể tạo các tính năng dựa trên kiến thức và ý tưởng của bạn về cách mọi thứ hoạt động trên thế giới. Con người vẫn không thể vượt qua được khi làm như vậy, và máy móc không thể dễ dàng thay thế chúng.
Lựa chọn các tính năng và ví dụ
Nếu ước tính sai số cao và thuật toán của bạn dựa vào nhiều tính năng, bạn cần phải tỉa một số tính năng cho kết quả tốt hơn. Trong bối cảnh này, giảm số lượng các tính năng trong ma trận dữ liệu của bạn bằng cách chọn những người có giá trị tiên đoán cao nhất là nên.
Khi làm việc với các mô hình tuyến tính, các máy vector hỗ trợ tuyến tính, hoặc các mạng thần kinh, việc định chuẩn đều luôn là một lựa chọn. Cả L1 và L2 đều có thể làm giảm ảnh hưởng của các biến dự phòng hoặc thậm chí loại bỏ chúng khỏi mô hình. Lựa chọn ổn định thúc đẩy khả năng của L1 để loại trừ các biến không hữu ích. Kỹ thuật này resamples các dữ liệu đào tạo để xác nhận loại trừ.
Bạn có thể tìm hiểu thêm về lựa chọn sự ổn định bằng cách xem ví dụ trên trang web Scikit-learn. Ngoài ra, bạn có thể thực hành bằng cách sử dụng hàm RandomizedLogisticRegression và RandomizedLasso Scikit-learn trong mô-đun linear_model.
Tìm thêm dữ liệu
Sau khi thử tất cả các đề xuất trước đó, bạn có thể vẫn có sự khác biệt cao về dự đoán để giải quyết. Trong trường hợp này, lựa chọn duy nhất của bạn là tăng kích thước tập huấn luyện. Hãy thử tăng mẫu của bạn bằng cách cung cấp dữ liệu mới, có thể chuyển thành các trường hợp mới hoặc các tính năng mới.
Nếu bạn muốn thêm nhiều trường hợp, chỉ cần xem xét liệu bạn có dữ liệu tương tự đang diễn ra hay không. Nếu bạn muốn thêm các tính năng mới, hãy tìm nguồn dữ liệu mã nguồn mở, nếu có thể, để khớp dữ liệu của bạn với các mục nhập của nó. Một cách tuyệt vời khác để có được cả trường hợp mới và các tính năng mới là cạo dữ liệu từ web. Thông thường, dữ liệu có sẵn giữa các nguồn khác nhau hoặc thông qua giao diện lập trình ứng dụng (API). Ví dụ: các API của Google cung cấp nhiều nguồn thông tin địa lý và doanh nghiệp.