Các phương pháp hay nhất cho kỹ thuật học máy
Martin Zinkevich
Tài liệu này nhằm giúp những người có kiến thức cơ bản về máy học máy sẽ được hưởng lợi từ các phương pháp hay nhất của Google về công nghệ học máy. Nó giới thiệu một kiểu cho công nghệ học máy, tương tự như Hướng dẫn về quy tắc lập trình C++ của Google và các hướng dẫn phổ biến khác về lập trình thực tế. Nếu bạn đã tham gia một lớp học trong công nghệ học máy hoặc xây dựng hay làm việc dựa trên một mô hình học máy, thì bạn có thông tin cơ bản cần thiết để đọc tài liệu này.
Thuật ngữ
Các thuật ngữ sau sẽ xuất hiện liên tục trong cuộc thảo luận của chúng ta về hiệu quả học máy:
- Instance (Thực thể): Điều bạn muốn tạo truy vấn dự đoán. Ví dụ: trường hợp có thể là một trang web mà bạn muốn phân loại là "về mèo" hoặc "không phải về mèo".
- Nhãn: Câu trả lời cho một nhiệm vụ dự đoán, hoặc là câu trả lời do hệ thống học máy hoặc câu trả lời đúng được cung cấp trong dữ liệu huấn luyện. Để ví dụ: nhãn cho một trang web có thể là "về mèo".
- Tính năng: Thuộc tính của thực thể được dùng trong tác vụ dự đoán. Để ví dụ: một trang web có thể có tính năng "chứa từ 'mèo'".
- Cột tính năng: Một tập hợp các tính năng có liên quan, chẳng hạn như tập hợp tất cả các tính năng có thể quốc gia nơi người dùng có thể sinh sống. Một ví dụ có thể có một hoặc nhiều tính năng hiển thị trong cột đối tượng. "Cột tính năng" là thuật ngữ dành riêng cho Google. Một cột tính năng được gọi là "không gian tên" trong hệ thống VW (tại Yahoo/Microsoft), hoặc trường.
- Ví dụ: Một thực thể (có các tính năng) và nhãn.
- Mô hình: Biểu thị thống kê của nhiệm vụ dự đoán. Bạn huấn luyện một người mẫu trên các ví dụ rồi sử dụng mô hình này để đưa ra dự đoán.
- Chỉ số: Một số mà bạn quan tâm. Có thể được tối ưu hoá trực tiếp hoặc không.
- Mục tiêu: Chỉ số mà thuật toán của bạn đang cố gắng tối ưu hoá.
- Đường dẫn: Cơ sở hạ tầng xung quanh thuật toán học máy. Bao gồm việc thu thập dữ liệu từ giao diện người dùng, đưa dữ liệu đó vào dữ liệu huấn luyện tệp, huấn luyện một hoặc nhiều mô hình và xuất mô hình sang sản xuất.
- Tỷ lệ nhấp Phần trăm khách truy cập vào một trang web đã nhấp vào trong quảng cáo.
Tổng quan
Để tạo ra những sản phẩm tuyệt vời:
công nghệ học máy giống như kỹ sư vĩ đại của bạn chứ không phải như kỹ sư vĩ đại bạn không phải là chuyên gia máy học.
Trên thực tế, hầu hết các vấn đề bạn sẽ gặp phải là các vấn đề kỹ thuật. Đồng đều nhờ tất cả tài nguyên của một chuyên gia học máy tuyệt vời, hầu hết lợi ích đến từ những tính năng tuyệt vời chứ không phải từ những thuật toán học máy tuyệt vời. Vì vậy, nguyên tắc cơ bản phương pháp tiếp cận là:
- Đảm bảo đường ống của bạn hoạt động ổn định từ đầu đến cuối.
- Hãy bắt đầu bằng một mục tiêu hợp lý.
- Thêm các tính năng thông thường theo cách đơn giản.
- Đảm bảo đường ống của bạn luôn ổn định.
Phương pháp này sẽ phù hợp đối với trong một khoảng thời gian dài. Chỉ phân biệt phương pháp này khi không còn cách nào khác thủ thuật đơn giản để giúp bạn tiến xa hơn. Việc phức tạp hơn sẽ làm chậm các bản phát hành sau này.
Khi bạn đã dùng hết các thủ thuật đơn giản, công nghệ học máy tiên tiến có thể thực sự là trong tương lai của bạn. Xem phần này trên Giai đoạn III dự án học máy.
Tài liệu này được sắp xếp như sau:
- Phần đầu tiên sẽ giúp bạn biết liệu thời điểm thích hợp để xây dựng một hệ thống học máy.
- Phần thứ hai là triển khai quy trình đầu tiên.
- Phần thứ ba là về việc ra mắt và lặp lại trong khi thêm tính năng mới vào quy trình, cách đánh giá mô hình và huấn luyện phân phát quảng cáo.
- Chiến lược phát hành đĩa đơn phần cuối là về việc cần làm khi bạn đạt đến một cao nguyên.
- Sau đó, có danh sách công việc liên quan và phần phụ lục kèm theo một số thông tin cơ bản về các hệ thống thường được dùng làm các ví dụ trong tài liệu này.
Trước khi áp dụng công nghệ học máy
Quy tắc số 1: Đừng ngại ra mắt sản phẩm mà không có công nghệ học máy.
Công nghệ học máy rất thú vị nhưng cần có dữ liệu. Về mặt lý thuyết, bạn có thể lấy dữ liệu từ một vấn đề khác rồi hiệu chỉnh mô hình cho một sản phẩm mới, nhưng việc này có thể sẽ thực hiện kém hiệu quả cơ bản phỏng đoán. Nếu bạn nghĩ rằng công nghệ học máy sẽ giúp bạn tăng trưởng 100%, sau đó suy nghiệm sẽ giúp bạn tăng 50% trên đường đi.
Ví dụ: nếu bạn đang xếp hạng ứng dụng trong một thị trường ứng dụng, bạn có thể sử dụng tỷ lệ cài đặt hoặc số lượt cài đặt dưới dạng phương pháp phỏng đoán. Nếu phát hiện thấy mánh khóe tăng thứ hạng, lọc ra các nhà xuất bản đã gửi thư rác trước đây. Đừng ngại sử dụng con người chỉnh sửa. Nếu bạn cần xếp hạng địa chỉ liên hệ, hãy xếp hạng địa chỉ liên hệ được sử dụng gần đây nhất cao nhất (hoặc thậm chí xếp hạng theo thứ tự bảng chữ cái). Nếu công nghệ học máy hoàn toàn không bắt buộc đối với sản phẩm của bạn, đừng sử dụng thuộc tính này cho đến khi bạn có dữ liệu.
Quy tắc số 2: Đầu tiên, hãy thiết kế và triển khai các chỉ số.
Trước khi chính thức hoá hoạt động của hệ thống học máy, hãy theo dõi có thể có trong hệ thống hiện tại của bạn. Hãy làm việc này vì những lý do sau:
- Bạn sẽ dễ dàng được người dùng hệ thống cấp quyền từ sớm.
- Nếu bạn nghĩ rằng điều gì đó có thể đáng lo ngại trong tương lai, thì đó là tốt hơn để nhận dữ liệu trong quá khứ ngay bây giờ.
- Nếu bạn thiết kế hệ thống của mình với sự lưu tâm đến khả năng đo lường chỉ số, điều sẽ hoạt động hiệu quả hơn cho bạn trong tương lai. Cụ thể, bạn không muốn thấy mình khó hiểu cho các chuỗi trong nhật ký để đo lường chỉ số của bạn!
- Bạn sẽ thấy những gì thay đổi và những gì vẫn giữ nguyên. Ví dụ: giả sử bạn muốn trực tiếp tối ưu hoá số người dùng hoạt động trong một ngày. Tuy nhiên, trong những lần điều chỉnh hệ thống ở giai đoạn đầu, bạn có thể nhận thấy rằng những thay đổi đáng kể về trải nghiệm người dùng thì không làm thay đổi đáng kể điều này chỉ số.
Các biện pháp đo lường của nhóm Google Plus mở rộng mỗi lần đọc, số lượt chia sẻ lại mỗi lượt đọc, lượt cộng một cho mỗi đọc, nhận xét/đọc, nhận xét của mỗi người dùng, chia sẻ lại cho mỗi người dùng, v.v. mà họ sử dụng vào việc tính toán độ hay của bài đăng vào thời điểm phân phát. Ngoài ra, xin lưu ý rằng khung thử nghiệm, trong đó bạn có thể nhóm người dùng thành các nhóm và tổng hợp số liệu thống kê theo thử nghiệm. Xem Quy tắc số 12.
Bằng cách thoải mái hơn trong việc thu thập số liệu, bạn có thể có được bức tranh bao quát hơn của hệ thống. Bạn nhận thấy có vấn đề? Thêm chỉ số để theo dõi! Háo hức về một số thay đổi về số lượng ở bản phát hành gần đây nhất? Thêm chỉ số để theo dõi!
Quy tắc số 3: Chọn công nghệ học máy thay vì phương pháp phỏng đoán phức tạp.
Một phương pháp phỏng đoán đơn giản có thể giúp bạn giới thiệu sản phẩm ngay từ đầu. Suy nghiệm phức tạp không thể duy trì. Khi bạn có dữ liệu và ý tưởng cơ bản về điều bạn đang cố gắng hoàn thành, hãy chuyển sang công nghệ học máy. Như trong hầu hết các kỹ thuật phần mềm công việc, bạn sẽ muốn liên tục cập nhật phương pháp tiếp cận của mình, cho dù đó là phương pháp phỏng đoán hoặc mô hình học máy và bạn sẽ thấy rằng mô hình máy học dễ cập nhật và duy trì hơn (xem Quy tắc số 16).
Giai đoạn I: Quy trình đầu tiên của bạn
Tập trung vào cơ sở hạ tầng hệ thống cho quy trình đầu tiên của bạn. Cho dù là thú vị để suy nghĩ về tất cả công nghệ học máy sáng tạo mà bạn sẽ thực hiện, sẽ khó có thể tìm ra điều gì đang xảy ra nếu trước đó bạn không tin tưởng quy trình.
Quy tắc số 4: Giữ mô hình đầu tiên đơn giản và hoàn thiện cơ sở hạ tầng.
Mô hình đầu tiên tạo đà tăng trưởng lớn nhất cho sản phẩm của bạn nên bạn không cần trở nên yêu thích hơn. Tuy nhiên, bạn sẽ gặp phải nhiều vấn đề về cơ sở hạ tầng hơn so với bạn như mong đợi. Trước khi bất kỳ ai có thể sử dụng hệ thống học máy mới lạ mắt của bạn, bạn có để xác định:
- Cách xem ví dụ về thuật toán học tập.
- Đầu tiên là về "nội dung hay" và "tệ" có ý nghĩa đối với hệ thống của bạn.
- Cách tích hợp mô hình vào ứng dụng. Bạn có thể áp dụng mô hình đang hoạt động, hoặc tính toán trước mô hình trên các ví dụ ngoại tuyến và lưu trữ kết quả trong bảng. Ví dụ: bạn có thể muốn phân loại trước các trang web và lưu trữ kết quả trong một bảng, nhưng bạn nên phân loại các tin nhắn trò chuyện trực tiếp.
Khi chọn các tính năng đơn giản, bạn sẽ dễ dàng đảm bảo rằng:
- Các tính năng này tiếp cận thuật toán học tập của bạn một cách chính xác.
- Mô hình này sẽ học trọng số hợp lý.
- Các tính năng này truy cập vào mô hình của bạn một cách chính xác trong máy chủ.
Sau khi có hệ thống thực hiện ba việc này một cách đáng tin cậy, tức là bạn đã hầu hết công việc. Mô hình đơn giản của bạn cung cấp cho bạn các chỉ số cơ sở và mà bạn có thể sử dụng để kiểm thử các mô hình phức tạp hơn. Một số nhóm nhắm mục tiêu cho mức "bình thường" lần ra mắt đầu tiên: lần ra mắt đầu tiên giảm mức độ ưu tiên một cách rõ ràng học máy sẽ hiệu quả hơn, để tránh bị phân tâm.
Quy tắc số 5: Thử nghiệm cơ sở hạ tầng một cách độc lập với công nghệ học máy.
Đảm bảo cơ sở hạ tầng có thể kiểm thử được và các phần học của hệ thống được đóng gói để bạn có thể kiểm thử mọi thứ xung quanh nó. Cụ thể:
- Thử nghiệm đưa dữ liệu vào thuật toán. Kiểm tra xem các cột tính năng thường được điền sẵn. Nếu quyền riêng tư cho phép, hãy thực hiện theo cách thủ công kiểm tra đầu vào cho thuật toán huấn luyện. Nếu có thể, hãy kiểm tra số liệu thống kê trong quy trình của bạn so với số liệu thống kê cho cùng một dữ liệu đã xử lý ở nơi khác.
- Kiểm thử việc đưa mô hình ra khỏi thuật toán huấn luyện. Hãy đảm bảo rằng trong môi trường đào tạo của bạn sẽ cho điểm số giống với trong môi trường phân phối (xem Quy tắc số 37).
Công nghệ học máy có một yếu tố khó dự đoán, vì vậy, hãy đảm bảo rằng bạn có các bài kiểm thử cho mã để tạo các ví dụ trong quá trình huấn luyện và phân phối, và mà bạn có thể tải và sử dụng một mô hình cố định trong quá trình phân phát. Ngoài ra, điều quan trọng là để hiểu dữ liệu của bạn: xem Lời khuyên thiết thực khi phân tích các Tập dữ liệu lớn và phức tạp.
Quy tắc số 6: Hãy cẩn thận với dữ liệu bị bỏ qua khi sao chép quy trình.
Thông thường, chúng ta tạo quy trình bằng cách sao chép quy trình hiện có (ví dụ: chương trình tôn vinh hàng hoá ) và quy trình cũ sẽ xoá dữ liệu mà chúng ta cần cho quy trình mới. Ví dụ: quy trình cho Google Plus Thú vị bỏ các bài đăng cũ hơn (vì hệ thống đang cố gắng xếp hạng các bài đăng mới). Quy trình này trước đây đã sao chép để sử dụng cho Luồng Google Plus, nơi các bài đăng cũ hơn vẫn có ý nghĩa nhưng quy trình vẫn xoá các bài đăng cũ. Khác mẫu phổ biến là chỉ ghi nhật ký dữ liệu mà người dùng đã nhìn thấy. Do đó, dữ liệu này vô ích nếu chúng ta muốn mô hình hoá lý do người dùng không xem một bài đăng cụ thể, bởi vì tất cả ví dụ phủ định đã bị loại bỏ. Một vấn đề tương tự đã xảy ra trong Chơi. Trong khi làm việc trên Trang chủ của Play Apps, chúng tôi đã tạo ra một quy trình mới. Quy trình này cũng được tạo ra chứa ví dụ từ trang đích của Play Games mà không có bất kỳ tính năng nào phân biệt nguồn gốc của từng ví dụ.
Quy tắc số 7: Chuyển các phương pháp phỏng đoán thành các tính năng hoặc xử lý chúng ở bên ngoài.
Thông thường, những vấn đề mà công nghệ học máy đang cố gắng giải quyết không phải là hoàn toàn mới. Hiện đã có một hệ thống để xếp hạng, phân loại, hoặc bất kỳ vấn đề nào bạn đang cố gắng giải quyết. Điều này có nghĩa là có rất nhiều quy tắc và phương pháp phỏng đoán. Những phương pháp phỏng đoán tương tự này có thể giúp bạn nâng cao hiệu quả khi tinh chỉnh nhờ công nghệ học máy. Bạn nên khai thác phương pháp phỏng đoán của mình để tìm mọi thông tin thông tin mà họ có, vì hai lý do. Trước tiên, việc chuyển đổi sang một máy hệ thống học được sẽ mượt mà hơn. Thứ hai, những quy tắc đó thường chứa nhiều trực giác về hệ thống mà bạn không muốn loại bỏ. Có bốn bạn có thể sử dụng phương pháp phỏng đoán hiện có:
- Tiền xử lý bằng phương pháp phỏng đoán. Nếu tính năng này vô cùng tuyệt vời, thì đây là một tuỳ chọn. Ví dụ: nếu, trong bộ lọc thư rác, người gửi đã bị đưa vào danh sách đen, đừng cố tìm hiểu lại những gì "bị đưa vào danh sách cấm" có nghĩa là gì. Chặn tin nhắn. Cách tiếp cận này hợp lý nhất trong tệp nhị phân tác vụ phân loại.
- Tạo đối tượng. Thật tuyệt nếu bạn trực tiếp tạo ra một đối tượng từ phương pháp phỏng đoán. Ví dụ: nếu bạn sử dụng phương pháp suy nghiệm để tính toán điểm số về mức độ liên quan cho một truy vấn kết quả, bạn có thể đưa cả điểm vào dưới dạng giá trị của một đối tượng. Sau này của bạn có thể muốn sử dụng kỹ thuật học máy để truyền tải giá trị (ví dụ: chuyển đổi giá trị thành một tập hữu hạn các giá trị rời rạc hoặc kết hợp với các tính năng khác) nhưng bắt đầu bằng cách sử dụng dữ liệu thô giá trị do phương pháp phỏng đoán tạo ra.
- Khai thác dữ liệu đầu vào thô của phương pháp phỏng đoán. Nếu có phương pháp suy nghiệm cho ứng dụng Kết hợp số lượt cài đặt, số lượng ký tự trong văn bản và ngày trong tuần, sau đó cân nhắc tách những phần này ra, và vận dụng những thông tin này vào bài học một cách riêng biệt. Một số kỹ thuật áp dụng cho đơn vị tổ chức áp dụng tại đây (xem Quy tắc số 40).
- Sửa đổi nhãn. Đây là tuỳ chọn khi bạn cảm thấy phương pháp phỏng đoán chụp thông tin hiện không có trong nhãn. Ví dụ: nếu bạn đang cố gắng tăng tối đa số lượt tải xuống, nhưng bạn cũng muốn chất lượng nội dung, thì có lẽ giải pháp là nhân nhãn với số sao trung bình mà ứng dụng nhận được. Có rất nhiều việc cần làm ở đây. Xem "Mục tiêu đầu tiên của bạn".
Cần lưu ý đến độ phức tạp cao hơn khi sử dụng phương pháp phỏng đoán trong công nghệ học máy hệ thống. Việc sử dụng các phương pháp phỏng đoán cũ trong thuật toán học máy mới có thể giúp giúp tạo ra một sự chuyển đổi suôn sẻ, nhưng hãy nghĩ xem có cách đơn giản hơn để đạt được hiệu quả tương tự.
Giám sát
Nhìn chung, hãy thực hành tốt quy trình cảnh báo, chẳng hạn như đưa ra các cảnh báo hữu ích và có một trang tổng quan.
Quy tắc số 8: Biết các yêu cầu về độ mới của hệ thống.
Hiệu suất sẽ suy giảm ở mức nào nếu bạn có mô hình đã cũ? Một tuần cũ không? Một phần tư tuổi? Thông tin này có thể giúp bạn hiểu rõ các mức độ ưu tiên hoạt động giám sát của bạn. Nếu bạn mất sản phẩm quan trọng chất lượng nếu mô hình không được cập nhật trong một ngày nên việc để một kỹ sư theo dõi liên tục là điều hợp lý. Nhiều quảng cáo nhất hệ thống phân phát có quảng cáo mới để xử lý mỗi ngày và phải cập nhật mỗi ngày. Chẳng hạn, nếu mô hình ML cho Tìm kiếm trên Google Play chưa được cập nhật, có thể có tác động tiêu cực trong vòng chưa đầy một tháng. Một số mẫu xe cho danh mục Nội dung nổi bật Google+ không có giá trị nhận dạng bài đăng trong mô hình của họ, vì vậy họ có thể ít khi xuất các mô hình này. Các mô hình khác có giá trị nhận dạng bài đăng được cập nhật thường xuyên hơn nhiều. Ngoài ra, xin lưu ý rằng độ mới có thể thay đổi theo thời gian, đặc biệt khi các cột đối tượng được thêm hoặc bị xoá khỏi mô hình của bạn.
Quy tắc số 9: Phát hiện vấn đề trước khi xuất mô hình.
Nhiều hệ thống học máy có một giai đoạn để bạn xuất mô hình sang đầu cuối. Nếu có vấn đề với mô hình đã xuất, thì đó là mô hình dành cho người dùng vấn đề.
Hãy kiểm tra tính hợp lý ngay trước khi bạn xuất mô hình. Cụ thể, hãy đảm bảo rằng hiệu suất của mô hình là hợp lý đối với dữ liệu được giữ lại. Hoặc, nếu bạn có còn những lo ngại về dữ liệu, đừng xuất mô hình. Nhiều nhóm liên tục triển khai các mô hình kiểm tra khu vực thuộc Đường cong ROC (hoặc AUC) trước khi xuất. Vấn đề về các mô hình chưa được xuất cần có nhưng bạn có thể cần phải cung cấp một trang đối với mô hình dành cho người dùng. Hài lòng hơn để chờ đợi và chắc chắn trước khi ảnh hưởng đến người dùng.
Quy tắc số 10: Chú ý đến lỗi âm thanh.
Đây là vấn đề xảy ra với các hệ thống học máy nhiều hơn các vấn đề khác các loại hệ thống. Giả sử một bảng cụ thể đang được kết hợp không được cập nhật lâu hơn. Hệ thống học máy sẽ điều chỉnh và hành vi vẫn đạt mức tương đối tốt và giảm dần. Đôi khi, bạn thấy các bảng đã lỗi thời và một thao tác làm mới đơn giản giúp cải thiện hiệu suất nhiều hơn bất kỳ đợt ra mắt nào khác trong quý đó! Mức độ phù hợp của một tính năng có thể thay đổi do các thay đổi về việc triển khai: ví dụ: cột tính năng có thể được điền sẵn vào 90% ví dụ rồi đột nhiên giảm xuống còn 60% ví dụ. Play từng có một bảng đã cũ trong 6 tháng và được làm mới chỉ riêng bảng này đã giúp tỷ lệ cài đặt tăng 2%. Nếu bạn theo dõi số liệu thống kê của dữ liệu, cũng như thỉnh thoảng kiểm tra dữ liệu theo cách thủ công, bạn có thể giảm những loại lỗi này.
Quy tắc số 11: Cung cấp tài liệu và chủ sở hữu của cột đối tượng.
Nếu hệ thống lớn và có nhiều cột tính năng, hãy biết ai đã tạo hoặc đang duy trì từng cột tính năng. Nếu bạn thấy rằng người hiểu một cột tính năng sắp rời khỏi, hãy đảm bảo rằng ai đó có của bạn. Mặc dù nhiều cột đối tượng có tên mang tính mô tả, nhưng đây là tính năng hữu ích để có mô tả chi tiết hơn về tính năng, nơi phát hành và thông tin này dự kiến sẽ giúp ích như thế nào.
Mục tiêu đầu tiên của bạn
Bạn có nhiều chỉ số hoặc thông tin đo lường về hệ thống mà bạn quan tâm, nhưng thuật toán học máy của bạn thường sẽ yêu cầu một mục tiêu duy nhất, một số mà thuật toán của bạn đang "thử" để tối ưu hoá. Tôi có thể phân biệt ở đây giữa mục tiêu và chỉ số: chỉ số là bất kỳ số nào mà hệ thống của bạn báo cáo của bạn, có thể quan trọng hoặc không quan trọng. Xem thêm Quy tắc số 2.
Quy tắc số 12: Đừng suy nghĩ quá phức tạp về việc bạn chọn mục tiêu nào để trực tiếp tối ưu hóa.
Bạn muốn kiếm tiền, làm cho người dùng hài lòng và làm cho thế giới tốt đẹp hơn địa điểm. Có rất nhiều chỉ số mà bạn quan tâm, vậy nên bạn nên đo lường tất cả các đề xuất đó (xem Quy tắc số 2). Tuy nhiên, ở giai đoạn đầu trong quá trình học máy, bạn sẽ thấy tất cả các tính năng này tăng lên, thậm chí những chiến dịch mà bạn không trực tiếp tối ưu hoá. Ví dụ: giả sử bạn quan tâm đến số lượt nhấp và thời gian trên trang web. Nếu bạn tối ưu hoá số lượng thì bạn có thể thấy thời gian bỏ ra tăng lên.
Vì vậy, hãy đơn giản và đừng quá suy nghĩ về việc cân bằng giữa các chỉ số khi bạn vẫn có thể dễ dàng tăng tất cả các chỉ số. Đừng áp dụng quy tắc này nữa Tuy nhiên, đừng nhầm lẫn mục tiêu của bạn với tình trạng hoàn toàn của hệ thống (xem Quy tắc số 39). Và, nếu bạn tự thấy mình tăng trực tiếp đã tối ưu hoá, nhưng quyết định không chạy, thì có thể bạn phải sửa đổi một số mục tiêu bắt buộc.
Quy tắc số 13: Chọn một chỉ số đơn giản, có thể ghi nhận được và có thể phân bổ cho mục tiêu đầu tiên của bạn.
Thường thì bạn sẽ không biết mục tiêu thực sự là gì. Bạn nghĩ rằng mình có, nhưng sau đó bạn xem xét dữ liệu và bản phân tích song song giữa hệ thống cũ và công nghệ học máy mới hệ thống, bạn nhận ra rằng mình muốn điều chỉnh mục tiêu. Hơn nữa, nhóm các thành viên thường không thể thống nhất về mục tiêu thực sự. Mục tiêu ML phải là điều gì đó dễ đo lường và đại diện cho giá trị "thực" mục tiêu. Trong thực tế, thường không có giá trị "đúng" mục tiêu (xem Quy tắc số 39). Loại đối thủ sau lượt đánh bóng huấn luyện về mục tiêu học máy đơn giản và cân nhắc việc có một "lớp chính sách" trên cùng cho phép bạn thêm logic bổ sung (hy vọng là logic rất đơn giản) để thực hiện bảng xếp hạng cuối cùng.
Cách dễ nhất để lập mô hình là hành vi của người dùng được ghi nhận trực tiếp và quy cho hành động của hệ thống:
- Liên kết xếp hạng này có được nhấp vào không?
- Đối tượng được xếp hạng này đã được tải xuống chưa?
- Đối tượng được xếp hạng này có được chuyển tiếp/trả lời/gửi email không?
- Đối tượng được xếp hạng này có được xếp hạng không?
- Đối tượng hiển thị này có bị đánh dấu là nội dung rác/nội dung khiêu dâm/nội dung phản cảm không?
Tránh lập mô hình các tác động gián tiếp lúc đầu:
- Người dùng có truy cập vào ngày hôm sau không?
- Người dùng đã truy cập vào trang web trong bao lâu?
- Số người dùng hoạt động hằng ngày là bao nhiêu?
Các hiệu ứng gián tiếp tạo ra các chỉ số tuyệt vời, đồng thời có thể được dùng trong thử nghiệm A/B và trong khi ra mắt ra quyết định.
Cuối cùng, đừng cố gắng để công nghệ học máy tìm ra:
- Người dùng có hài lòng khi sử dụng sản phẩm không?
- Người dùng có hài lòng với trải nghiệm này không?
- Sản phẩm có cải thiện sức khoẻ tổng thể của người dùng không?
- Điều này sẽ ảnh hưởng như thế nào đến tình trạng tổng thể của công ty?
Tất cả những chỉ số này đều quan trọng nhưng cũng cực kỳ khó đo lường. Thay vào đó, hãy sử dụng proxy: nếu người dùng hài lòng, họ sẽ ở lại trang web lâu hơn. Nếu người dùng hài lòng, họ sẽ truy cập lại vào ngày mai. Trên phương diện sức khoẻ và liên quan đến sức khoẻ của công ty, cần phải đánh giá thủ công để kết nối mục tiêu học máy liên quan đến bản chất của sản phẩm mà bạn đang bán kế hoạch kinh doanh của bạn.
Quy tắc số 14: Bắt đầu bằng một mô hình có thể diễn giải giúp gỡ lỗi dễ dàng hơn.
Hồi quy tuyến tính, hồi quy logistic và hồi quy Poisson trực tiếp được thúc đẩy bởi mô hình xác suất. Mỗi dự đoán có thể được diễn giải dưới dạng một xác suất hoặc một giá trị dự kiến. Điều này giúp việc gỡ lỗi dễ dàng hơn so với các mô hình sử dụng các mục tiêu (thua lỗ 0 một lần, nhiều loại tổn thất bản lề, v.v.) cố gắng để trực tiếp tối ưu hoá độ chính xác của việc phân loại hoặc hiệu suất xếp hạng. Để ví dụ: nếu xác suất trong quá trình huấn luyện sai lệch so với xác suất được dự đoán trong đặt song song hoặc khi kiểm tra hệ thống sản xuất, sai lệch này có thể phát hiện vấn đề.
Ví dụ: trong hồi quy tuyến tính, logistic hoặc Poisson, có các tập hợp con của dữ liệu trong đó kỳ vọng trung bình được dự đoán bằng nhãn trung bình (1- thời điểm hiệu chỉnh hoặc vừa được hiệu chỉnh). Điều này đúng nếu bạn không có và thuật toán của bạn đã hội tụ, và xấp xỉ đúng nói chung. Nếu bạn có một đối tượng có giá trị là 1 hoặc 0 cho mỗi ví dụ, thì tập hợp 3 ví dụ trong đó tính năng đó là 1 được hiệu chỉnh. Ngoài ra, nếu bạn có một đối tượng là 1 cho mỗi ví dụ, thì tập hợp tất cả các ví dụ là được hiệu chỉnh.
Nhờ các mô hình đơn giản, bạn có thể dễ dàng xử lý vòng lặp phản hồi (xem Quy tắc số 36). Thông thường, chúng tôi sử dụng những dự đoán mang tính xác suất này để đưa ra quyết định, ví dụ: thứ hạng bài đăng có giá trị dự kiến giảm (tức là xác suất nhấp/tải xuống/v.v.). Tuy nhiên, hãy nhớ khi chọn mô hình để sử dụng, quyết định quan trọng hơn khả năng của dữ liệu được cung cấp cho mô hình (xem Quy tắc số 27).
Quy tắc số 15: Tách biệt việc lọc thư rác và xếp hạng chất lượng trong lớp chính sách.
Xếp hạng chất lượng là một nghệ thuật, nhưng lọc thư rác là một cuộc chiến. Các tín hiệu cho thấy mà bạn sử dụng để xác định bài đăng chất lượng cao sẽ dễ thấy đối với những người sử dụng hệ thống của bạn và họ sẽ chỉnh sửa bài đăng của họ để có các thuộc tính này. Do đó, thứ hạng chất lượng của bạn nên tập trung vào thứ hạng nội dung được đăng tốt niềm tin. Bạn không nên giảm giá người học xếp hạng chất lượng khi xếp hạng spam rất cao. Tương tự như vậy, "dành cho người xem chưa đến tuổi trưởng thành" nội dung phải được xử lý riêng biệt với phần Chất lượng Thứ hạng. Lọc thư rác lại là một câu chuyện khác. Bạn phải dự kiến rằng các tính năng mà bạn cần tạo sẽ liên tục thay đổi. Thông thường, có sẽ là các quy tắc rõ ràng mà bạn đưa vào hệ thống (nếu bài đăng có ba phiếu bầu spam, đừng truy xuất nó, v.v.). Mọi mô hình đã học sẽ có được cập nhật hằng ngày, nếu không muốn nói là nhanh hơn. Danh tiếng của người sáng tạo ra sẽ đóng vai trò quan trọng.
Ở cấp độ nào đó, đầu ra của hai hệ thống này sẽ phải được tích hợp. Giữ lại xin lưu ý rằng việc lọc nội dung rác trong kết quả tìm kiếm có thể linh hoạt hơn so với việc lọc thư rác trong email. Ngoài ra, đây là phương pháp chuẩn để xoá nội dung rác khỏi dữ liệu huấn luyện cho thuật toán phân loại chất lượng.
Giai đoạn II của học máy: Kỹ thuật tính năng
Trong giai đoạn đầu tiên trong vòng đời của một hệ thống học máy, vấn đề quan trọng là đưa dữ liệu đào tạo vào hệ thống học tập, thu thập đo lường các chỉ số quan tâm và tạo cơ sở hạ tầng phân phối. Sau bạn có một hệ thống đầu cuối hoạt động toàn diện bằng các phương pháp kiểm thử đơn vị và hệ thống được đo lường, Giai đoạn II bắt đầu.
Trong giai đoạn thứ hai, có rất nhiều kết quả treo thấp. Có nhiều loại các tính năng rõ ràng có thể được đưa vào hệ thống. Do đó, thứ hai của công nghệ học máy bao gồm việc đưa nhiều tính năng nhất có thể vào kết hợp chúng theo cách trực quan. Trong giai đoạn này, tất cả các chỉ số cần vẫn tăng. Sẽ có nhiều đợt ra mắt và đây là thời điểm tuyệt vời để tập hợp nhiều kỹ sư có thể kết hợp tất cả dữ liệu mà bạn cần để tạo ra một hệ thống học tập thực sự tuyệt vời.
Quy tắc số 16: Lên kế hoạch chạy và lặp lại.
Đừng mong đợi rằng mô hình bạn đang xử lý sẽ là mô hình cuối cùng bạn sẽ ra mắt hay thậm chí là ngừng ra mắt các mô hình. Như vậy cân nhắc xem sự phức tạp mà bạn thêm vào trong lần ra mắt này có làm chậm lại không các đợt ra mắt trong tương lai. Nhiều nhóm đã đưa ra mô hình mỗi quý hoặc nhiều hơn cho năm. Có ba lý do cơ bản để ra mắt mô hình mới:
- Bạn sắp ra mắt các tính năng mới.
- Bạn đang điều chỉnh tần suất đăng tải và kết hợp các tính năng cũ theo những cách mới.
- Bạn đang điều chỉnh mục tiêu.
Dù vậy, việc thể hiện sự yêu mến đối với mô hình cũng có thể là một cách hay: xem qua dữ liệu việc đưa vào ví dụ này có thể giúp tìm thấy các tín hiệu mới cũng như các tín hiệu cũ, bị hỏng các thiết bị khác. Vì vậy, khi bạn xây dựng mô hình, hãy nghĩ đến mức độ dễ dàng thêm hoặc xoá hoặc kết hợp lại các tính năng. Hãy nghĩ đến việc tạo bản sao mới của quy trình và xác minh tính chính xác của quy trình đó. Hãy suy nghĩ xem liệu có thể có 2 hoặc 3 bản sao chạy song song. Cuối cùng, đừng lo lắng về tính năng 16/35 có được đưa vào phiên bản quy trình này hay không. Bạn sẽ sẽ nhận được vào quý tới.
Quy tắc số 17: Bắt đầu với các tính năng được ghi nhận và báo cáo trực tiếp thay vì các tính năng đã học.
Đây có thể là một điểm gây tranh cãi nhưng giúp tránh được nhiều cạm bẫy. Đầu tiên hãy cùng mô tả một tính năng đã học là gì. Tính năng đã học là một tính năng do hệ thống bên ngoài tạo ra (chẳng hạn như phân cụm không được giám sát) hệ thống) hoặc bởi chính người học (ví dụ: thông qua mô hình phân bổ hoặc công nghệ học sâu). Cả hai cách này đều có thể hữu ích nhưng có thể gây ra rất nhiều vấn đề, vì vậy, không ở trong mô hình đầu tiên.
Nếu bạn sử dụng hệ thống bên ngoài để tạo một đối tượng, hãy nhớ rằng hệ thống bên ngoài có mục tiêu riêng. Mục tiêu của hệ thống bên ngoài có thể chỉ ở mức yếu tương ứng với mục tiêu hiện tại của bạn. Nếu bạn lấy ảnh chụp nhanh về hệ thống thì có thể bị lỗi thời. Nếu bạn cập nhật các tính năng từ hệ thống bên ngoài thì ý nghĩa có thể thay đổi. Nếu sử dụng hệ thống bên ngoài để cung cấp tính năng, hãy lưu ý rằng phương pháp này đòi hỏi bạn phải hết sức cẩn trọng.
Vấn đề chính với các mô hình phân tích và mô hình sâu là chúng không lồi. Do đó, không thể đảm bảo rằng một giải pháp tối ưu gần đúng hoặc tìm được, và giá trị nhỏ nhất cục bộ tìm được trên mỗi lần lặp có thể là khác. Sự biến đổi này làm cho khó đánh giá xem liệu tác động của thay đổi có ý nghĩa hoặc ngẫu nhiên đối với hệ thống của bạn. Bằng cách tạo một mô hình mà không các tính năng chuyên sâu, bạn có thể có được hiệu suất cơ sở tuyệt vời. Sau này đã đạt được đường cơ sở, bạn có thể thử nhiều phương pháp bí truyền hơn.
Quy tắc số 18: Khám phá bằng các tính năng của nội dung khái quát trong nhiều bối cảnh.
Thông thường, hệ thống học máy là một phần nhỏ trong một bức tranh rộng lớn hơn nhiều. Để ví dụ: nếu bạn hình dung một bài đăng có thể được dùng trong mục Phổ biến, nhiều người sẽ cộng một, chia sẻ lại hoặc nhận xét về một bài đăng trước khi bài đăng đó hiển thị trong mục Nóng. Nếu bạn cung cấp những số liệu thống kê đó cho học viên, việc này có thể giúp thúc đẩy bài đăng mới ứng dụng không có dữ liệu trong bối cảnh mà nó đang tối ưu hoá. YouTube Watch Next có thể sử dụng số lượt xem hoặc cùng lượt xem (tính số lần một video được xem sau một video khác xem) từ lượt tìm kiếm trên YouTube. Bạn cũng có thể sử dụng xếp hạng của người dùng. Cuối cùng, nếu bạn có một hành động của người dùng mà bạn đang sử dụng dưới dạng nhãn, thấy hành động trên tài liệu trong một ngữ cảnh khác có thể là của chúng tôi. Tất cả những tính năng này đều cho phép bạn đưa nội dung mới vào bối cảnh cụ thể. Xin lưu ý rằng đây không phải là về vấn đề cá nhân hoá: hãy tìm hiểu xem có ai thích đối với nội dung trong bối cảnh này trước, sau đó hãy tìm hiểu xem ai thích nội dung đó nhiều hơn hay ít đi.
Quy tắc số 19: Sử dụng các tính năng rất cụ thể khi có thể.
Với lượng dữ liệu khổng lồ, việc tìm hiểu hàng triệu tính năng đơn giản sẽ trở nên đơn giản hơn so với một vài tính năng phức tạp. Giá trị nhận dạng của tài liệu đang được truy xuất và các truy vấn được chuẩn hoá không cung cấp nhiều nội dung tổng quát, nhưng điều chỉnh xếp hạng cùng với nhãn của bạn trên các cụm từ tìm kiếm quan trọng. Do đó, đừng ngại các nhóm các tính năng mà trong đó mỗi tính năng áp dụng cho một phần rất nhỏ dữ liệu của bạn, nhưng mức độ phù hợp tổng thể cao hơn 90%. Bạn có thể sử dụng quy trình điều chỉnh để loại bỏ áp dụng cho quá ít ví dụ.
Quy tắc số 20: Kết hợp và sửa đổi các tính năng hiện có để tạo ra các tính năng mới theo cách dễ hiểu.
Có nhiều cách để kết hợp và sửa đổi tính năng. Học máy các hệ thống như TensorFlow cho phép bạn xử lý trước dữ liệu thông qua phép biến đổi. Hai phương pháp tiếp cận chuẩn nhất là "sự tách biệt" và "crosses".
Kỹ thuật phân tán bao gồm việc triển khai một đối tượng liên tục và tạo nhiều các tính năng riêng biệt. Cân nhắc sử dụng một tính năng liên tục, chẳng hạn như độ tuổi. Bạn có thể tạo một tính năng 1 khi độ tuổi dưới 18, một tính năng khác 1 khi có độ tuổi từ 18 đến 35, v.v. Đừng suy nghĩ quá phức tạp về ranh giới của các biểu đồ này: các số phân vị cơ bản sẽ cung cấp cho bạn hầu hết tác động.
Dấu chéo kết hợp hai hoặc nhiều cột đối tượng. Một cột đối tượng trong TensorFlow thuật ngữ là một tập hợp các đối tượng đồng nhất (ví dụ: {nam, nữ}, {US, Canada, Mexico}, v.v.). Hình chữ thập là một cột tính năng mới có các tính năng trong ví dụ: {nam, nữ} × {US,Canada, Mexico}. Cột tính năng mới này sẽ chứa tính năng (nam, Canada). Nếu bạn đang sử dụng TensorFlow và yêu cầu TensorFlow tạo chữ thập này cho bạn, tính năng này (nam, Canada) sẽ xuất hiện trong các ví dụ đại diện cho những người Canada là nam giới. Lưu ý rằng cần rất nhiều lượng dữ liệu để học các mô hình có các kết quả thập phân từ 3, 4 trở lên cột tính năng.
Các hình chữ thập tạo ra các cột tính năng rất lớn có thể sẽ hoạt động quá mức. Ví dụ: hãy tưởng tượng rằng bạn đang thực hiện một số loại tìm kiếm và bạn có một cột tính năng có các từ trong truy vấn và bạn có một cột tính năng chứa các từ trong tài liệu. Bạn có thể kết hợp các tài nguyên này bằng cách kết hợp, nhưng cuối cùng bạn sẽ thu được (xem Quy tắc số 21).
Khi làm việc với văn bản, có hai phương án thay thế. Hà khắc nhất là chấm. Tích vô hướng ở dạng đơn giản nhất chỉ cần đếm số lượng các từ chung giữa truy vấn và tài liệu. Sau đó, tính năng này có thể rời rạc. Cách tiếp cận khác là giao lộ: do đó, chúng ta sẽ có một tính năng mã này xuất hiện khi và chỉ khi từ "ngựa" nằm trong cả tài liệu và phần và một tính năng khác xuất hiện khi và chỉ khi từ "the" CANNOT TRANSLATE cả tài liệu và truy vấn.
Quy tắc số 21: Số lượng trọng số của tính năng mà bạn có thể tìm hiểu trong mô hình tuyến tính tỷ lệ gần đúng với lượng dữ liệu bạn có.
Có những kết quả lý thuyết học tập thống kê hấp dẫn liên quan đến cho một mô hình, nhưng quy tắc này là mà bạn cần phải biết. Tôi đã có những cuộc trò chuyện mà mọi người không ngờ rằng mọi thứ đều có thể học được từ một nghìn ví dụ hoặc bạn sẽ bao giờ cần có hơn một triệu ví dụ vì chúng bị mắc kẹt trong một phương pháp nhất định học tập. Điều quan trọng là cần mở rộng quy mô học tập theo kích thước dữ liệu của bạn:
- Nếu bạn đang sử dụng hệ thống xếp hạng tìm kiếm và có hàng triệu gồm các từ khác nhau trong tài liệu và truy vấn và bạn có 1000 các ví dụ có gắn nhãn, thì bạn nên sử dụng tích vô hướng giữa tài liệu và các tính năng truy vấn, TF-IDF, và hàng chục công ty khác có kỹ thuật cao các tính năng AI mới. 1000 ví dụ, hàng chục tính năng.
- Nếu bạn có hàng triệu ví dụ, hãy kết hợp tài liệu và truy vấn các cột tính năng, sử dụng quy ước hoá và có thể là lựa chọn đối tượng. Chế độ này mang đến cho bạn hàng triệu tính năng, nhưng với sự điều chỉnh đều đặn, bạn sẽ sẽ có ít hơn. Mười triệu ví dụ, có thể là một trăm nghìn tính năng.
- Nếu có hàng tỷ hoặc hàng trăm tỷ ví dụ, bạn có thể các cột tính năng có mã thông báo tài liệu và mã truy vấn, sử dụng lựa chọn tính năng và điều chỉnh đều đặn. Bạn sẽ có hàng tỷ ví dụ, và 10 triệu các tính năng AI mới. Lý thuyết học thống kê hiếm khi đưa ra những giới hạn chặt chẽ, nhưng hướng dẫn tuyệt vời để bắt đầu.
Cuối cùng, hãy sử dụng Quy tắc số 28 quyết định sẽ sử dụng tính năng nào.
Quy tắc số 22: Dọn dẹp các tính năng bạn không còn sử dụng.
Các tính năng không được sử dụng sẽ tạo ra món nợ kỹ thuật. Nếu bạn thấy rằng mình không sử dụng và nếu tính năng đó kết hợp với các tính năng khác không hoạt động, thì hãy bỏ ra khỏi cơ sở hạ tầng của mình. Bạn muốn đảm bảo cơ sở hạ tầng của mình luôn sạch những tính năng hứa hẹn nhất có thể được thử nghiệm nhanh nhất có thể. Nếu nếu cần, ai đó luôn có thể thêm lại đối tượng địa lý của bạn.
Hãy cân nhắc mức độ phù hợp khi cân nhắc những tính năng nên thêm hoặc duy trì. Số lượng các ví dụ có liên quan đến tính năng này không? Ví dụ: nếu bạn có một số các tính năng cá nhân hoá, nhưng chỉ 8% người dùng có bất kỳ tính năng cá nhân hoá nào thì sẽ không hiệu quả lắm.
Đồng thời, một số tính năng có thể vượt quá trọng lượng. Ví dụ: nếu bạn có một tính năng chỉ bao gồm 1% dữ liệu, nhưng 90% ví dụ có tính năng tích cực, thì đây sẽ là một tính năng tuyệt vời để thêm vào.
Phân tích hệ thống do con người thực hiện
Trước khi chuyển sang giai đoạn thứ ba của công nghệ học máy, bạn cần tập trung vào điều không được dạy trong bất kỳ lớp học máy nào: cách xem xét mô hình hiện có và cải thiện mô hình đó. Nghệ thuật nhiều hơn là khoa học, tuy nhiên, có một số phản mẫu giúp tránh được việc này.
Quy tắc #23: Bạn không phải là người dùng cuối điển hình.
Đây có lẽ là cách dễ nhất để một nhóm sa vào việc bị sa thải. Mặc dù có đem lại nhiều lợi ích cho quá trình thử nghiệm cá (bằng cách dùng nguyên mẫu trong nhóm của bạn) và thử nghiệm nội bộ (sử dụng nguyên mẫu trong công ty của bạn), nhân viên nên xem xét liệu hiệu suất có chính xác hay không. Mặc dù đây là một thay đổi rõ ràng là không tốt không nên sử dụng, bất kỳ nội dung nào trông hợp lý gần với phiên bản sản xuất thì thử nghiệm kỹ hơn, bằng cách trả tiền cho những người không có chuyên môn để trả lời các câu hỏi trên nền tảng sử dụng nguồn lực cộng đồng hoặc thông qua thử nghiệm trực tiếp trên người dùng thực tế.
Có hai lý do dẫn đến điều này. Lý do thứ nhất là bạn ở quá gần . Có thể bạn đang tìm kiếm một khía cạnh cụ thể của bài đăng hoặc bạn chỉ đơn giản là liên quan quá nhiều đến cảm xúc (ví dụ: thiên kiến xác nhận). Thứ hai là thời gian của bạn rất quý giá. Hãy cân nhắc chi phí cho 9 kỹ sư cùng một lúc và suy nghĩ xem có bao nhiêu nhãn người ký hợp đồng mua trên một nền tảng sử dụng nguồn lực cộng đồng.
Nếu bạn thực sự muốn nhận được phản hồi của người dùng, hãy sử dụng trải nghiệm người dùng . Tạo chân dung độc giả của người dùng (một đoạn mô tả có trong Bill Buxton) Phác hoạ trải nghiệm người dùng) sớm trong quy trình và thử nghiệm khả năng hữu dụng (một là trong bản mô tả của Steve Krug Đừng khiến tôi phải suy nghĩ) sau. Chân dung của người dùng liên quan đến việc tạo một người dùng giả định. Chẳng hạn, nếu nhóm của bạn toàn là nam, có thể sẽ giúp thiết kế chân dung người dùng là nữ giới ở độ tuổi 35 (với đầy đủ thông tin về người dùng) tính năng) và xem xét kết quả mà công cụ này tạo ra thay vì 10 kết quả Nam giới từ 25 đến 40 tuổi. Khuyến khích người thật xem phản ứng của họ trang web của mình (cục bộ hoặc từ xa) trong quá trình kiểm tra khả năng sử dụng cũng có thể mang lại cho bạn phối cảnh khác nhau.
Quy tắc #24: Đo lường delta giữa các mô hình.
Một trong những phép đo dễ nhất và đôi khi hữu ích nhất mà bạn có thể thực hiện trước đây bất kỳ người dùng nào đã xem mô hình mới của bạn là chỉ tính toán xem kết quả mới là từ phiên bản phát hành công khai. Ví dụ: nếu bạn gặp vấn đề về thứ hạng, chạy cả hai mô hình trên một mẫu truy vấn thông qua toàn bộ hệ thống và xem xét quy mô của sự khác biệt đối xứng của các kết quả (được tính trọng số theo thứ hạng vị trí). Nếu mức chênh lệch rất nhỏ, thì bạn có thể biết mà không cần chạy là một thử nghiệm có ít thay đổi. Nếu mức chênh lệch rất lớn lớn, thì bạn cần đảm bảo rằng thay đổi này là tốt. Đang xem qua là các truy vấn có mức chênh lệch cao về mặt đối xứng có thể giúp bạn nắm được về mặt định tính thay đổi như thế nào. Tuy nhiên, hãy đảm bảo rằng hệ thống ổn định. Đảm bảo rằng một mô hình khi so sánh với chính nó có điểm thấp (lý tưởng là 0) sai số đối xứng.
Quy tắc #25: Khi chọn mô hình, hiệu suất thực tế được ưu tiên hơn khả năng dự đoán.
Mô hình của bạn có thể cố gắng dự đoán tỷ lệ nhấp. Tuy nhiên, cuối cùng, điều quan trọng là là bạn sẽ làm gì với dự đoán đó. Nếu bạn đang sử dụng nó để xếp hạng tài liệu, thì chất lượng của thứ hạng cuối cùng quan trọng hơn so với tự dự đoán. Nếu bạn dự đoán xác suất một tài liệu là thư rác và xác định nội dung bị chặn, sau đó độ chính xác của nội dung được phép quan trọng hơn. Thông thường, bạn nên sử dụng hai ngôn ngữ này thoả thuận: khi họ không đồng ý, điều đó có thể mang lại lợi ích nhỏ. Do đó, nếu có một số thay đổi giúp cải thiện tình trạng mất nhật ký nhưng làm giảm hiệu suất của hệ thống, hãy tìm một tính năng khác. Khi tình trạng này xảy ra thường xuyên hơn, đã đến lúc xem xét lại mục tiêu của mô hình.
Quy tắc #26: Tìm kiếm các quy luật trong các lỗi được đo lường và tạo các tính năng mới.
Giả sử bạn thấy một ví dụ huấn luyện cho thấy mô hình gặp lỗi "sai". Trong một công việc phân loại, lỗi này có thể là dương tính giả (FN) hoặc âm tính giả (FN). Trong nhiệm vụ xếp hạng, lỗi có thể là một cặp trong đó có kết quả dương bị xếp thấp hơn so với âm. Điểm quan trọng nhất là đây là ví dụ mà hệ thống học máy biết rằng lỗi và muốn khắc phục nếu đưa ra cơ hội. Nếu bạn cung cấp cho mô hình này một tính năng cho phép sửa lỗi, mô hình sẽ cố gắng sử dụng nó.
Mặt khác, nếu bạn cố gắng tạo một tính năng dựa trên các ví dụ, hệ thống sẽ không nhận biết là có lỗi nên tính năng này sẽ bị bỏ qua. Ví dụ: giả sử rằng trong Tìm kiếm ứng dụng trên Play, có người tìm kiếm "trò chơi miễn phí". Giả sử một trong các kết quả hàng đầu là một ứng dụng gag ít liên quan hơn. Vì vậy, bạn tạo một tính năng cho "ứng dụng nôn mửa". Tuy nhiên, nếu bạn đang tối đa hoá số lượt cài đặt, và người dùng cài đặt ứng dụng gag khi họ tìm kiếm trò chơi miễn phí, "ứng dụng gag" đối tượng sẽ không có hiệu quả như mong muốn.
Sau khi có ví dụ cho thấy mô hình bị sai, hãy tìm các xu hướng bên ngoài bộ tính năng hiện tại của bạn. Ví dụ: nếu hệ thống dường như giảm hạng bài đăng dài hơn, sau đó thêm độ dài bài đăng. Đừng quá cụ thể về các tính năng bạn thêm. Nếu bạn định thêm độ dài bài đăng, đừng cố đoán dài, bạn chỉ cần thêm hàng chục tính năng và mô hình để họ tìm ra việc cần làm với họ (xem Quy tắc số 21 ). Đó là cách dễ nhất để có được những gì bạn muốn.
Quy tắc số 27: Cố gắng định lượng hành vi không mong muốn quan sát được.
Một số thành viên trong nhóm của bạn sẽ bắt đầu cảm thấy khó chịu với các thuộc tính của hệ thống mà họ không thích không được hàm mất dữ liệu hiện tại ghi nhận. Tại thì điểm này, họ nên làm bất cứ việc gì cần thiết để sự cổ vũ của họ trở nên vững chắc số. Ví dụ: nếu trẻ cho rằng có quá nhiều "ứng dụng nôn mửa" đang được hiển thị trong công cụ Tìm kiếm trên Play, họ có thể nhờ nhân viên đánh giá xác định các ứng dụng về trò chơi khăm. (Bạn có thể sử dụng dữ liệu có nhãn con người trong trường hợp này một cách khả thi vì chiếm phần lớn lưu lượng truy cập). Nếu các vấn đề có thể đo lường, sau đó bạn có thể bắt đầu sử dụng chúng làm tính năng, mục tiêu hoặc chỉ số cụ thể. Quy tắc chung là "đo lường trước, tối ưu hoá rồi mới".
Quy tắc số 28: Lưu ý rằng hành vi ngắn hạn giống hệt nhau không ngụ ý hành vi dài hạn giống hệt nhau.
Hãy tưởng tượng rằng bạn có một hệ thống mới xem xét mọi doc_id và prepare_query, rồi tính xác suất lượt nhấp cho mỗi tài liệu cho mỗi truy vấn. Bạn sẽ thấy hành vi của hệ thống này gần giống với hệ thống hiện tại của mình trong cả song song và thử nghiệm A/B, do đó, để đơn giản hoá, bạn nên chạy tính năng này. Tuy nhiên, bạn nhận thấy rằng không có ứng dụng mới nào hiển thị. Tại sao? Vì hệ thống chỉ hiển thị tài liệu dựa trên lịch sử của chính nó với truy vấn đó, không có để biết rằng một tài liệu mới sẽ được hiển thị.
Cách duy nhất để hiểu một hệ thống như vậy hoạt động về lâu dài là mô hình chỉ huấn luyện dựa trên dữ liệu thu thập được khi mô hình hoạt động. Điều này khiến trở nên khó khăn.
Khoá phục vụ huấn luyện
Độ lệch khi phân phối huấn luyện là một sự khác biệt giữa hiệu suất trong quá trình huấn luyện và hiệu suất trong khi phân phát. Sự sai lệch này có thể là do:
- Sự khác biệt giữa cách bạn xử lý dữ liệu trong quy trình huấn luyện và quy trình phân phối.
- Thay đổi về dữ liệu giữa thời điểm bạn huấn luyện và thời điểm bạn phục vụ.
- Một vòng hồi tiếp giữa mô hình và thuật toán của bạn.
Chúng tôi quan sát thấy các hệ thống học máy sản xuất tại Google được đào tạo- phân phát sai lệch ảnh hưởng tiêu cực đến hiệu suất. Giải pháp hay nhất là theo dõi rõ ràng để các thay đổi về hệ thống và dữ liệu không gây ra sai lệch mà không được chú ý.
Quy tắc số 29: Cách tốt nhất để đảm bảo rằng bạn huấn luyện như bạn phục vụ là lưu tập hợp các tính năng được sử dụng tại thời điểm phân phát và sau đó chuyển các tính năng đó vào nhật ký để sử dụng chúng tại thời gian đào tạo.
Ngay cả khi bạn không thể áp dụng phương pháp này cho từng ví dụ, hãy áp dụng với một tỷ lệ nhỏ, để xác minh sự nhất quán giữa việc phân phối và huấn luyện (xem Quy tắc số 37). Các nhóm đã tạo đo lường tại Google đôi khi khiến kết quả bất ngờ. Trang chủ YouTube đã chuyển sang các tính năng ghi nhật ký tại thời điểm phân phát với chất lượng đáng kể các cải tiến và giảm độ phức tạp của mã, đồng thời nhiều nhóm đang chuyển đổi cơ sở hạ tầng của họ như chúng ta nói.
Quy tắc số 30: Dữ liệu được lấy mẫu theo trọng số mức độ quan trọng, đừng tuỳ ý bỏ qua dữ liệu!
Khi có quá nhiều dữ liệu, các em sẽ dễ muốn lấy các tệp từ 1 đến 12, và bỏ qua các tệp 13-99. Đây là một sai lầm. Mặc dù dữ liệu không bao giờ hiển thị với người dùng, thì cách đo lường mức độ quan trọng nghỉ ngơi. Trọng số mức độ quan trọng có nghĩa là nếu bạn quyết định rằng mình sẽ lấy mẫu ví dụ X với xác suất 30%, sau đó cho nó trọng số là 10/3. Với trọng số tầm quan trọng, tất cả các thuộc tính hiệu chuẩn được thảo luận trong Quy tắc số 14 vẫn giữ máy.
Quy tắc số 31: Hãy lưu ý rằng nếu bạn kết hợp dữ liệu từ một bảng vào thời gian huấn luyện và phân phối, thì dữ liệu trong bảng có thể thay đổi.
Giả sử bạn kết hợp id tài liệu với một bảng có chứa các tính năng cho những tài liệu đó (chẳng hạn như số lượt nhận xét hoặc lượt nhấp). Giữa thời gian đào tạo và phân phối, các tính năng trong bảng có thể bị thay đổi. Thông tin dự đoán của mô hình của bạn cho cùng một tài liệu có thể sẽ khác nhau giữa huấn luyện và phân phối. Cách dễ nhất để tránh loại nội dung này của vấn đề là ghi nhật ký các tính năng vào thời gian cung cấp (xem Quy tắc số 32 ). Nếu bảng là chỉ thay đổi từ từ, bạn cũng có thể chụp nhanh bảng hàng giờ hoặc hàng ngày để dữ liệu đóng một cách hợp lý. Xin lưu ý rằng việc này vẫn không giải quyết được hoàn toàn vấn đề.
Quy tắc số 32: Sử dụng lại mã giữa quy trình huấn luyện và quy trình phân phát bất cứ khi nào có thể.
Xử lý theo lô khác với xử lý trực tuyến. Trong quá trình xử lý trực tuyến, bạn phải xử lý từng yêu cầu khi nó đến (ví dụ: bạn phải thực hiện một tìm kiếm riêng cho từng truy vấn), trong khi ở quy trình xử lý hàng loạt, bạn có thể kết hợp các tác vụ (ví dụ: đang tham gia). Tại thời điểm phân phát, bạn đang xử lý trực tuyến, trong khi huấn luyện là một tác vụ xử lý hàng loạt. Tuy nhiên, có một số điều mà bạn có thể làm để sử dụng lại mã. Ví dụ: bạn có thể tạo một đối tượng cụ thể cho hệ thống của bạn, trong đó kết quả của bất kỳ truy vấn hoặc tham số nào có thể được được lưu trữ theo cách rất con người có thể đọc được và lỗi có thể được kiểm tra dễ dàng. Sau đó: sau khi đã thu thập tất cả thông tin, trong quá trình cung cấp hoặc đào tạo, bạn chạy một phương thức phổ biến để làm cầu nối giữa đối tượng mà con người có thể đọc được dành riêng cho hệ thống của bạn và bất kỳ định dạng nào mà hệ thống học máy mong đợi. Điều này giúp loại bỏ nguồn sai lệch khi phân phát nội dung huấn luyện. Là một hệ quả tất yếu là cố gắng không dùng hai ngôn ngữ lập trình khác nhau giữa các khoá huấn luyện và phân phát quảng cáo. Quyết định đó sẽ khiến bạn gần như không thể chia sẻ .
Quy tắc số 33: Nếu bạn tạo mô hình dựa trên dữ liệu cho đến ngày 5 tháng 1, hãy thử nghiệm mô hình trên dữ liệu từ ngày 6 tháng 1 trở đi.
Nói chung, hãy đo lường hiệu suất của mô hình trên dữ liệu được thu thập sau khi thu thập dữ liệu bạn đã huấn luyện mô hình đó, vì điều này phản ánh rõ hơn những gì hệ thống của bạn sẽ làm sản xuất. Nếu bạn tạo mô hình dựa trên dữ liệu cho đến ngày 5 tháng 1, hãy thử nghiệm dựa trên dữ liệu từ ngày 6 tháng 1. Bạn có thể kỳ vọng rằng hiệu suất sẽ không tốt bằng dữ liệu mới nhưng sẽ không tệ hơn hoàn toàn. Vì có thể có tác động hàng ngày, bạn có thể không dự đoán nhấp chuột trung bình hoặc tỷ lệ chuyển đổi, nhưng diện tích bên dưới đường cong, đại diện cho khả năng đưa ra điểm số cho ví dụ dương tính cao hơn điểm âm phải gần khớp một cách hợp lý.
Quy tắc số 34: Trong phân loại nhị phân để lọc (chẳng hạn như phát hiện thư rác hoặc xác định các email thú vị), hãy hy sinh một chút về hiệu suất trong thời gian ngắn đối với dữ liệu rất sạch.
Trong nhiệm vụ lọc, các ví dụ được đánh dấu là phủ định sẽ không hiển thị cho người dùng. Giả sử bạn có một bộ lọc chặn 75% ví dụ phủ định phân phát. Có thể bạn sẽ muốn rút thêm dữ liệu huấn luyện từ hiển thị cho người dùng. Ví dụ: nếu người dùng đánh dấu email là thư rác bộ lọc của bạn cho phép, bạn có thể muốn tìm hiểu từ điều đó.
Tuy nhiên, phương pháp này gây ra thiên kiến khi lấy mẫu. Bạn có thể thu thập dữ liệu rõ ràng hơn nếu thay vào đó, trong khi phân phát, bạn gắn nhãn 1% tất cả lưu lượng truy cập là "bị tạm giữ" và gửi tất cả đưa ra ví dụ cho người dùng. Hiện tại, bộ lọc của bạn đang chặn ít nhất 74% ví dụ phủ định. Những ví dụ được giữ ra này có thể trở thành dữ liệu huấn luyện của bạn.
Lưu ý rằng nếu bộ lọc của bạn đang chặn 95% ví dụ phủ định trở lên, điều này trở nên kém khả thi hơn. Dù vậy, nếu bạn muốn đo lường việc phân phát hiệu suất, bạn có thể tạo một mẫu nhỏ hơn nữa (ví dụ 0,1% hoặc 0,001%). Mười 1.000 ví dụ là đủ để ước tính hiệu suất khá chính xác.
Quy tắc số 35: Cẩn thận với những sai lệch vốn có trong các vấn đề về thứ hạng.
Khi bạn chuyển đổi hoàn toàn thuật toán xếp hạng để khiến các kết quả khác nhau xuất hiện, bạn đã thay đổi hiệu quả dữ liệu mà thuật toán của bạn sẽ nhìn thấy trong tương lai. Kiểu lệch này sẽ xuất hiện và bạn nên thiết kế mô hình xung quanh nó. Có nhiều phương pháp khác nhau. Những phương pháp này tất cả các cách để ưu tiên dữ liệu mà mô hình của bạn đã nhìn thấy.
- Có tần suất sử dụng cao hơn đối với các tính năng bao gồm nhiều cụm từ tìm kiếm hơn thay vì những tính năng chỉ bật cho một truy vấn. Bằng cách này, mô hình sẽ ưu tiên các tính năng dành riêng cho một hoặc một vài truy vấn hơn các tính năng tổng quát hoá cho mọi truy vấn. Phương pháp này có thể giúp ngăn chặn kết quả từ việc rò rỉ vào các truy vấn không liên quan. Lưu ý rằng điều này ngược lại với lời khuyên thông thường hơn là nên điều chỉnh thường xuyên hơn các cột tính năng với nhiều giá trị độc đáo hơn.
- Chỉ cho phép các đối tượng có trọng số dương. Do đó, bất kỳ tính năng tốt nào cũng sẽ hiệu quả hơn tính năng "không xác định".
- Không có các tính năng chỉ dành cho tài liệu. Đây là phiên bản số 1 cực hay. Để ví dụ: ngay cả khi một ứng dụng cụ thể là một nội dung tải xuống phổ biến, bất kể là bạn không muốn hiển thị quảng cáo ở mọi nơi. Không chỉ ở chế độ tài liệu các tính năng giúp việc đó trở nên đơn giản. Lý do bạn không muốn hiển thị thông tin cụ thể ứng dụng phổ biến ở mọi nơi có liên quan đến tầm quan trọng của làm cho tất cả ứng dụng bạn muốn có thể truy cập được. Ví dụ: nếu có ai đó tìm kiếm "ứng dụng xem chim", họ có thể tải "những chú chim giận dữ", nhưng chắc chắn điều đó đó không phải là ý định của họ. Việc hiển thị một ứng dụng như vậy có thể cải thiện tỷ lệ tải xuống, nhưng khiến nhu cầu của người dùng không được thoả mãn.
Quy tắc số 36: Tránh vòng hồi tiếp bằng các tính năng định vị.
Vị trí của nội dung ảnh hưởng đáng kể đến khả năng người dùng tương tác với nó. Nếu bạn đặt một ứng dụng ở vị trí đầu tiên, ứng dụng sẽ được nhấp thường xuyên hơn, và bạn sẽ chắc chắn rằng người dùng có nhiều khả năng nhấp vào quảng cáo đó hơn. Một cách để giải quyết nút này là để thêm các đối tượng vị trí, tức là các đối tượng về vị trí của nội dung trên trang. Bạn huấn luyện mô hình của mình bằng các tính năng định vị và nó học theo trọng lượng, ví dụ: tính năng "1stposition" rất nhiều. Mô hình của bạn do đó, giảm trọng số cho các yếu tố khác cho các ví dụ có "1stposition=true". Sau đó, khi phân phát, bạn không cung cấp cho bất kỳ trường hợp nào tính năng vị trí hoặc bạn cung cấp tất cả đều có cùng một tính năng mặc định, vì bạn đang chấm điểm cho các ứng viên trước bạn đã quyết định thứ tự hiển thị các quảng cáo đó.
Lưu ý rằng điều quan trọng là phải tách biệt mọi đối tượng địa lý vị trí phần còn lại của mô hình do sự bất đối xứng này giữa quá trình huấn luyện và kiểm thử. Mô hình là tổng hàm của các đối tượng vị trí và chức năng của các tính năng còn lại là lý tưởng nhất. Ví dụ: đừng vượt qua vị trí bằng bất kỳ tính năng tài liệu nào.
Quy tắc số 37: Đo lường độ lệch khi huấn luyện/phân phối.
Nhìn chung, có một vài điều có thể gây ra sai lệch. Ngoài ra, bạn có thể chia chiến dịch thành nhiều phần:
- Sự khác biệt giữa hiệu suất về dữ liệu huấn luyện và hiệu suất giữ lại . Nói chung, điều này sẽ luôn tồn tại và không phải lúc nào cũng xấu.
- Mức chênh lệch giữa hiệu suất trong khoảng thời gian tạm ngưng và "ngày tiếp theo" . Xin nhắc lại, mã này sẽ luôn tồn tại. Bạn nên điều chỉnh tần suất của mình thành tối đa hoá hiệu suất vào ngày tiếp theo. Tuy nhiên, hiệu suất bị sụt giảm mạnh giữa thời gian chờ và dữ liệu vào ngày tiếp theo có thể cho biết rằng một số tính năng nhạy cảm về thời gian và có thể làm giảm hiệu suất của mô hình.
- Mức chênh lệch giữa hiệu suất vào "ngày tiếp theo" dữ liệu và trải nghiệm trực tiếp . Nếu bạn áp dụng một mô hình cho một ví dụ trong dữ liệu huấn luyện và ví dụ về phân phát quảng cáo, nó sẽ cho bạn kết quả giống hệt nhau (xem Quy tắc số 5 ). Do đó, sự chênh lệch ở đây có thể chỉ ra lỗi kỹ thuật.
Giai đoạn 3 của công nghệ học máy: Tăng trưởng chậm, Tinh chỉnh hoạt động tối ưu hoá và Mô hình phức tạp
Có một số dấu hiệu nhất định cho thấy giai đoạn 2 sắp kết thúc. Trước hết, lợi nhuận hằng tháng của bạn sẽ bắt đầu giảm. Bạn sẽ bắt đầu có sự cân bằng giữa các chỉ số: bạn sẽ thấy một số mức tăng và một số khác lại giảm thử nghiệm. Điều này sẽ trở nên thú vị. Vì khó đạt được lợi nhuận hơn đạt được, công nghệ học máy phải trở nên tinh vi hơn. Lưu ý: đây có nhiều quy tắc bầu trời xanh hơn so với các phần trước đó. Chúng tôi đã thấy nhiều nhóm trải qua thời kỳ hạnh phúc của công nghệ học máy Giai đoạn I và Giai đoạn II. Khi giai đoạn III đã đạt được mục tiêu. Các nhóm phải tìm ra con đường riêng của mình.
Quy tắc số 38: Đừng lãng phí thời gian vào các tính năng mới nếu vấn đề là khi mục tiêu không nhất quán.
Khi các chỉ số đo lường cao hơn, nhóm của bạn sẽ bắt đầu xem xét các vấn đề nằm ngoài phạm vi mục tiêu của hệ thống học máy hiện tại của bạn. Như nêu trước đó, nếu mục tiêu sản phẩm không được áp dụng bởi thuật toán hiện tại mục tiêu, bạn cần thay đổi mục tiêu hoặc mục tiêu sản phẩm. Để chẳng hạn như bạn có thể tối ưu hoá số lượt nhấp, lượt nhấp hoặc số lượt tải xuống, nhưng bắt đầu chạy ra quyết định riêng dựa trên một phần của nhân viên đánh giá.
Quy tắc số 39: Quyết định ra mắt là proxy cho các mục tiêu dài hạn về sản phẩm.
Alice có ý tưởng về việc giảm tổn thất hậu cần của việc dự đoán lượt cài đặt. Cô ấy sẽ thêm tính năng. Tổn thất về hậu cần giảm xuống. Khi thực hiện một thử nghiệm trực tiếp, cô ấy thấy tỷ lệ cài đặt tăng lên. Tuy nhiên, khi cô ấy chuyển đến bài đánh giá về việc ra mắt Một người nào đó chỉ ra rằng số lượng người dùng hoạt động hằng ngày giảm xuống 5%. Nhóm quyết định không ra mắt mô hình này. Alice rất thất vọng, nhưng giờ đây nhận ra rằng quyết định ra mắt phụ thuộc vào nhiều tiêu chí, chỉ một vài tiêu chí trong số đó có thể được tối ưu hoá trực tiếp bằng công nghệ học máy.
Sự thật là thế giới thực không phải là ngục tối và rồng: không có "lần truy cập" điểm" xác định tình trạng của sản phẩm. Nhóm phải sử dụng số liệu thống kê thu thập được để cố gắng dự đoán hiệu quả mức độ hiệu quả của hệ thống trong tương lai. Họ cần quan tâm đến mức độ tương tác, số người dùng hoạt động trong 1 ngày (DAU), 30 Số người dùng hoạt động hằng ngày (DAU), doanh thu và lợi tức đầu tư của nhà quảng cáo. Các chỉ số này đo lường được trong chính các thử nghiệm A/B chỉ là một đại diện cho lâu dài hơn các mục tiêu sau: làm hài lòng người dùng, tăng số lượng người dùng, làm hài lòng đối tác và lợi nhuận, thậm chí khi đó bạn có thể cân nhắc sử dụng proxy để có trải nghiệm hữu ích, chất lượng cao và một công ty phát triển mạnh mẽ trong 5 năm tới.
Quyết định dễ dàng khi ra mắt là khi tất cả các chỉ số đều trở nên tốt hơn (hoặc ít nhất là không trở nên tồi tệ hơn). Nếu nhóm được phép lựa chọn giữa một máy móc tinh vi thuật toán học tập và phương pháp phỏng đoán đơn giản, nếu phương pháp phỏng đoán đơn giản này tốt hơn đối với tất cả các chỉ số này, nên chọn phương pháp suy nghiệm. Ngoài ra, có không có thứ hạng rõ ràng cho tất cả các giá trị chỉ số có thể có. Cụ thể, hãy cân nhắc hai tình huống sau:
Thử nghiệm | Số người dùng hoạt động hàng ngày | Doanh thu/ngày |
---|---|---|
A | 1 triệu | 4 triệu USD |
B | 2 triệu | 2 triệu USD |
Nếu hệ thống hiện tại là A, thì nhóm sẽ không có khả năng chuyển sang B. Nếu hệ thống hiện tại là B, thì nhóm sẽ không có khả năng chuyển sang A. Chiến dịch này có vẻ xung đột với hành vi hợp lý; tuy nhiên, các dự đoán về việc thay đổi các chỉ số có thể nằm hoặc không bật, và do đó có rủi ro lớn liên quan đến đã thay đổi. Mỗi chỉ số đều đề cập đến một số rủi ro mà nhóm phụ trách lo ngại.
Hơn nữa, không có chỉ số nào có thể bù đắp mối lo ngại cuối cùng của nhóm là "sản phẩm của tôi ở đâu sẽ mất 5 năm kể từ bây giờ"?
Mặt khác, các cá nhân có xu hướng ưu tiên một mục tiêu mà họ có thể trực tiếp tối ưu hoá. Hầu hết các công cụ học máy đều yêu thích một môi trường như vậy. Một bằng việc đột phá các tính năng mới, có thể tạo ra một luồng ra mắt ổn định trong bối cảnh môi trường. Có một loại hình học máy, học đa mục tiêu, để bắt đầu giải quyết vấn đề này. Ví dụ: người ta có thể lập công thức ràng buộc về mức độ hài lòng có giới hạn dưới đối với mỗi chỉ số và tối ưu hóa một số tổ hợp chỉ số tuyến tính. Tuy nhiên, ngay cả khi đó, không phải tất cả chỉ số này dễ dàng được định hình thành mục tiêu của công nghệ học máy: nếu một tài liệu được nhấp vào hoặc ứng dụng được cài đặt, đó là do nội dung được hiển thị. Nhưng rất khó để tìm ra lý do tại sao người dùng truy cập vào trang web của bạn. Cách dự đoán thành công trong tương lai của toàn bộ trang web là Hoàn thành bằng AI: khó như máy tính thị giác hoặc ngôn ngữ tự nhiên.
Quy tắc số 40: Duy trì sự đơn giản cho trang phục.
Các mô hình hợp nhất sử dụng các tính năng thô và trực tiếp xếp hạng nội dung những mô hình dễ gỡ lỗi và dễ hiểu nhất. Tuy nhiên, một nhóm người mẫu (chẳng hạn như "mô hình" Kết hợp điểm số của các mô hình khác) có thể hoạt động tốt hơn. Để giữ lại đơn giản, mỗi mô hình nên là một tập hợp, chỉ lấy thông tin đầu vào của các mô hình khác hoặc mô hình cơ sở có nhiều tính năng, chứ không phải cả hai. Nếu bạn có các mô hình khác với các mô hình khác đã được huấn luyện riêng biệt, sau đó kết hợp chúng có thể dẫn đến hành vi xấu.
Sử dụng một mô hình đơn giản để thu thập dữ liệu chỉ lấy đầu ra của "cơ sở" làm đầu vào. Bạn cũng nên thực thi các thuộc tính trên các mô hình tập hợp này. Ví dụ: việc tăng điểm số do mô hình cơ sở tạo ra không được giảm điểm số của bản hoà nhạc. Ngoài ra, tốt nhất là các mô hình sắp tới có thể diễn giải theo ngữ nghĩa (ví dụ: đã được hiệu chỉnh) để những thay đổi của các mô hình cơ bản không gây nhầm lẫn mô hình quần thể. Ngoài ra, hãy thực thi rằng xác suất dự đoán của thuật toán phân loại cơ bản sẽ không tăng giảm xác suất dự đoán của tập hợp.
Quy tắc số 41: Khi hiệu suất không thay đổi, hãy tìm các nguồn thông tin mới về mặt định tính để bổ sung thay vì tinh chỉnh các tín hiệu hiện có.
Bạn đã thêm một số thông tin nhân khẩu học về người dùng đó. Bạn đã thêm một số về các từ trong tài liệu. Bạn đã xem xét mẫu khám phá và điều chỉnh quy trình thường xuyên. Bạn chưa thấy đợt ra mắt nào có thêm mức cải thiện 1% về các chỉ số chính trong vài quý. Bây giờ bạn phải làm gì?
Đã đến lúc bắt đầu xây dựng cơ sở hạ tầng cho những chẳng hạn như lịch sử tài liệu mà người dùng này đã truy cập trong ngày trước, tuần trước hoặc năm trước hoặc dữ liệu từ một tài sản khác. Sử dụng wikidata các pháp nhân hoặc một số nội bộ trong công ty của bạn (chẳng hạn như sơ đồ tri thức). Dùng dữ liệu sâu học tập. Bắt đầu điều chỉnh kỳ vọng của bạn về lợi nhuận mà bạn mong đợi về khoản đầu tư và mở rộng nỗ lực của mình cho phù hợp. Như trong bất kỳ dự án kỹ thuật, bạn sẽ phải cân nhắc lợi ích của việc thêm các tính năng mới vì chi phí tăng tính phức tạp.
Quy tắc số 42: Đừng nghĩ rằng tính đa dạng, hoạt động cá nhân hoá hoặc mức độ liên quan chỉ có mối tương quan với mức độ phổ biến như bạn nghĩ.
Tính đa dạng trong một loạt nội dung có thể bao hàm nhiều yếu tố, cùng với sự đa dạng trong nguồn của nội dung là một trong những nguồn phổ biến nhất. Việc cá nhân hoá bao hàm người dùng sẽ nhận được kết quả của riêng họ. Mức độ liên quan ngụ ý rằng kết quả cho một lượt xem phù hợp với cụm từ tìm kiếm đó hơn bất kỳ cụm từ tìm kiếm nào khác. Như vậy, cả ba những thuộc tính này được định nghĩa là khác với các thuộc tính thông thường.
Vấn đề là những người bình thường thường khó vượt qua.
Xin lưu ý rằng nếu hệ thống của bạn đang đo lường số lượt nhấp, thời gian sử dụng, số lượt xem, số lượt +1, lượt chia sẻ lại, v.v., bạn đang đo lường mức độ phổ biến của nội dung. Nhóm đôi khi cố gắng học hỏi một mô hình cá nhân với tính đa dạng. Để cá nhân hoá, họ thêm cho phép hệ thống cá nhân hoá (một số tính năng thể hiện sự quan tâm của người dùng) hoặc đa dạng hoá (các tính năng cho biết liệu tài liệu này có các tính năng chung với các tài liệu khác được trả về, chẳng hạn như tác giả hoặc nội dung), và thấy rằng các tính năng đó có trọng số ít hơn (hoặc đôi khi là một dấu hiệu khác) hơn những gì họ mong đợi.
Điều này không có nghĩa là tính đa dạng, hoạt động cá nhân hoá hoặc mức độ liên quan sẽ không mang lại giá trị. Như đã chỉ ra trong quy tắc trước, bạn có thể thực hiện xử lý hậu kỳ để tăng tính đa dạng hoặc phù hợp. Nếu thấy mục tiêu dài hạn tăng lên, bạn có thể tuyên bố rằng tính đa dạng/mức độ liên quan cũng có giá trị, bên cạnh mức độ phổ biến. Bạn có thể sau đó tiếp tục sử dụng quá trình xử lý hậu kỳ hoặc trực tiếp sửa đổi dựa trên tính đa dạng hoặc mức độ phù hợp.
Quy tắc số 43: Bạn bè của bạn có xu hướng giống nhau trên các sản phẩm khác nhau. Mối quan tâm của bạn thường không như vậy.
Các đội ngũ tại Google đã thu hút được rất nhiều sự chú ý từ việc sử dụng một mô hình dự đoán mức độ gần gũi của kết nối trong một sản phẩm và hoạt động tốt trên một sản phẩm khác. Bạn bè của bạn là chính họ. Mặt khác, tôi đã xem một số đội gặp khó khăn với các tính năng cá nhân hoá trên các phân khúc sản phẩm. Có, có vẻ như như nó sẽ hoạt động. Hiện tại, có vẻ như ứng dụng này chưa hoạt động. Điều gì đôi khi hoạt động là sử dụng dữ liệu thô từ một thuộc tính để dự đoán hành vi trên một thuộc tính khác. Ngoài ra, xin lưu ý rằng ngay cả khi biết rằng một người dùng có lịch sử trên một thuộc tính khác thì của chúng tôi. Ví dụ: sự hiện diện của hoạt động của người dùng trên hai sản phẩm có thể là thể hiện bản thân.
Tác phẩm có liên quan
Có rất nhiều tài liệu về công nghệ học máy tại Google cũng như bên ngoài.
- Khoá học nhanh về máy học: giới thiệu về công nghệ học máy ứng dụng.
- Công nghệ học máy: Phương pháp dựa trên xác suất của Kevin Murphy về sự am hiểu về lĩnh vực học máy.
- Phân tích dữ liệu hiệu quả: một phương pháp khoa học dữ liệu để suy nghĩ về tập dữ liệu.
- Deep Learning của Ian Good nghĩnh và cộng sự về việc tìm hiểu các mô hình phi tuyến tính.
- Google giấy trên khoản nợ kỹ thuật, tức là khoản nợ rất nhiều lời khuyên chung.
- Tài liệu về Tenor.
Xác nhận
Nhờ có David Westbrook, Peter Brandt, Samuel Ieong, Chenyu Zhao, Li Wei, Michalis Potamias, Evan Rosen, Barry Rosenberg, Christine Robson, James Pine, Tal Shaked, Tushar Chandra, mustafa Ispir, Jeremiah Harmsen, Konstantinos Katsiapis, Glen Anderson, Dan Duckworth, Shishir Birmiwal, Gal Elidan, Su Lin Wu, Jaihui Liu, Fernando Pereira và Hrishikesh Aradhye đã chỉnh sửa nhiều nội dung, các gợi ý và ví dụ hữu ích cho tài liệu này. Ngoài ra, nhờ Kristen Lefevre, Suddha Basu và Chris Berg là những người đã trợ giúp cho phiên bản trước đó. Bất kỳ hạng nào lỗi, thiếu sót hoặc những ý kiến không phổ biến là của riêng tôi.
Phụ lục
Có nhiều nội dung dẫn chiếu đến các sản phẩm của Google trong tài liệu này. Người nhận cung cấp thêm ngữ cảnh, tôi cung cấp một đoạn mô tả ngắn về các ví dụ phổ biến nhất bên dưới.
Tổng quan về YouTube
YouTube là dịch vụ xem video trực tuyến. Cả YouTube Watch Next và Trang chủ YouTube Các nhóm trang sử dụng mô hình học máy để xếp hạng các đề xuất video. Đề xuất trong Watch Next video cần xem sau khi video đang phát, trong khi Trang chủ đề xuất video cho người dùng đang duyệt qua trang chủ.
Tổng quan về Google Play
Google Play có nhiều mô hình giải quyết nhiều vấn đề. Tìm kiếm trên Play, Play Đề xuất được cá nhân hoá trên Trang chủ và "Người dùng cũng đã cài đặt" đều sử dụng công nghệ học máy.
Tổng quan về Google+
Google+ đã sử dụng công nghệ học máy trong nhiều tình huống: xếp hạng bài đăng trong "luồng" bài đăng mà người dùng xem, xếp hạng "Phổ biến" bài đăng hiện đang rất phổ biến), xếp hạng những người bạn biết, v.v. Google cộng đóng tất cả tài khoản cá nhân vào năm 2019 và được thay thế bằng Google Currents đối với tài khoản doanh nghiệp kể từ ngày 6 tháng 7 năm 2020.