Chương 12. Các tác vụ và kỹ thuật khác trong khoa học dữ liệu
Các khái niệm cơ bản: Các khái niệm cơ bản của chúng ta là nền tảng cho nhiều kỹ thuật phổ biến trong khoa học dữ liệu; Tầm quan trọng của việc thành thạo các thành phần cấu thành khoa học dữ liệu. Các kỹ thuật tiêu biểu: Mối kết hợp và đồng xuất hiện; Lập hồ sơ hành vi; Dự đoán liên kết; Giảm dữ liệu; Khai phá thông tin tiềm ẩn; Đề xuất phim; Phân rã sai số thành độ chệch và phương sai; Mô hình tổ hợp; Suy luận nhân quả từ dữ liệu.
Như đã trình bày ở chương trước, cách tiếp cận một vấn đề kinh doanh bằng phân tích dữ liệu có thể coi như một vấn đề kỹ nghệ—không phải kỹ nghệ cơ khí hay kỹ nghệ phần mềm, mà là kỹ nghệ phân tích (analytical engineering). Vấn đề kinh doanh vừa xác định mục tiêu, vừa giới hạn phạm vi giải pháp. Dữ liệu cùng kiến thức chuyên ngành là nguyên liệu thô. Khoa học dữ liệu cung cấp các khuôn khổ để phân rã bài toán thành các bài toán nhỏ hơn cùng công cụ, kỹ thuật để xử lý. Chúng ta đã thảo luận nhiều khuôn khổ khái niệm trọng yếu cùng các thành phần cấu thành phổ biến cho các giải pháp. Tuy nhiên, khoa học dữ liệu là lĩnh vực rộng lớn với các chương trình đào tạo chuyên sâu, nên không thể bao quát toàn diện trong một quyển sách như thế này. May mắn thay, các nguyên tắc cơ bản mà chúng ta đã thảo luận là nền tảng vững chắc cho phần lớn lĩnh vực khoa học dữ liệu.
Giống như các vấn đề kỹ nghệ khác, thường hiệu quả hơn khi chuyển một vấn đề mới thành những vấn đề đã có công cụ giải thích hợp, thay vì xây dựng giải pháp tùy biến hoàn toàn từ đầu. Kỹ nghệ phân tích không khác: khoa học dữ liệu cung cấp cho chúng ta một kho tàng công cụ phong phú để giải quyết những tác vụ phổ biến và cụ thể. Vì vậy, chúng ta đã minh họa các nguyên tắc cơ bản qua một số công cụ, phương pháp thông dụng như tìm tương quan/biến mang thông tin, tìm thực thể tương tự, phân loại, ước tính xác suất lớp, hồi quy và phân cụm.
Đây là những công cụ cho các tác vụ khoa học dữ liệu phổ biến, nhưng như đã đề cập ở Chương 2, vẫn còn nhiều tác vụ khác. May mắn thay, các nguyên tắc cơ bản áp dụng cho các tác vụ đã trình bày cũng chính là nền tảng cho các tác vụ khác. Bây giờ, chúng ta sẽ điểm qua một số tác vụ và kỹ thuật khác chưa được đề cập.
Ghép nhóm đồng xuất hiện và mối kết hợp: Tìm kiếm những hạng mục thường xuất hiện cùng nhau
Ghép nhóm đồng xuất hiện (co-occurrence grouping) hay khám phá mối kết hợp (association discovery) nhằm mục đích tìm ra các các mối kết hợp giữa các thực thể dựa trên các giao dịch liên quan đến chúng. Tại sao chúng ta muốn tìm sự xuất hiện đồng thời như vậy? Có rất nhiều ứng dụng thực tiễn. Hãy xét một ứng dụng hướng tới người tiêu dùng. Giả sử chúng ta vận hành một cửa hàng bán lẻ trực tuyến. Dựa trên dữ liệu giỏ hàng, chúng ta có thể giới thiệu với khách: “Những khách hàng mua eWatch mới cũng mua loa Bluetooth eBracelet đi kèm.” Nếu các mối kết hợp này phản ánh đúng sở thích thực sự của người tiêu dùng, điều đó có thể thúc đẩy doanh thu từ việc bán chéo (cross-selling). Nó còn có thể nâng cao trải nghiệm người dùng (trong trường hợp này là cho phép nghe nhạc stereo trên chiếc eWatch vốn chỉ hỗ trợ âm thanh đơn kênh), qua đó tận dụng tài sản dữ liệu của chúng ta để gia tăng lòng trung thành của khách hàng.
Xem xét một ứng dụng trong vận hành, nơi sản phẩm được giao cho khách hàng trực tuyến từ nhiều trung tâm phân phối trên toàn cầu. Không phải trung tâm nào cũng lưu kho đầy đủ sản phẩm. Thực tế, các trung tâm vùng nhỏ chỉ lưu kho các mặt hàng được mua thường xuyên. Mục tiêu xây dựng các trung tâm vùng là giảm chi phí vận chuyển, nhưng thực tế nhiều đơn hàng vẫn phải gửi từ trung tâm chính hoặc giao nhiều lần. Nguyên nhân là ngay cả với sản phẩm phổ biến, khách thường mua kèm theo món ít phổ biến hơn. Đây là vấn đề kinh doanh mà ta có thể giải quyết bằng khai phá mối kết hợp trong dữ liệu. Nếu có những món ít phổ biến thường đồng xuất hiện với những món phổ biến, ta có thể bổ sung chúng vào trung tâm vùng, giúp giảm đáng kể chi phí vận chuyển.
Ghép nhóm đồng xuất hiện chỉ đơn giản là tìm trong dữ liệu những tổ hợp mặt hàng có các chỉ số thống kê “đáng chú ý.” Có nhiều cách tiếp cận tác vụ này, nhưng hãy tưởng tượng đồng xuất hiện dưới dạng quy luật (rule): “Nếu A xảy ra thì B cũng có khả năng xảy ra.” Ví dụ, A có thể là bán eWatch, còn B là bán eBracelet[1]. Nhìn chung, các chỉ số “đáng chú ý” tuân theo các nguyên tắc cơ bản của chúng ta.
Trước hết, chúng ta cần kiểm soát độ phức tạp: có thể có rất nhiều đồng xuất hiện, nhiều trường hợp chỉ do ngẫu nhiên chứ không phải dạng thức tổng quát. Cách kiểm soát đơn giản là đặt yêu cầu các quy luật phải áp dụng cho một tỷ lệ tối thiểu trong dữ liệu—ví dụ ít nhất 0.01% tổng giao dịch. Đây được gọi là độ hỗ trợ (support) của mối kết hợp.
Chúng ta cũng có khái niệm “có khả năng (likely)” trong mối kết hợp. Nếu một khách hàng mua eWatch thì có khả năng cũng mua eBracelet. Một lần nữa, chúng ta có thể cần đặt ra một mức xảy ra tối thiểu cho các mối kết hợp mà chúng ta phát hiện được. Chúng ta có thể một lần nữa định lượng điều này bằng cách vận dụng những khái niệm mà ta đã từng biết trước đây. Trong khai phá mối kết hợp, xác suất B xảy ra khi A đã xảy ra, ký hiệu p(B|A), được gọi là độ tin cậy (confidence) của quy luật. Tuy nhiên, để tránh nhầm lẫn với độ tin cậy trong thống kê (statistical confidence), chúng ta gọi là độ mạnh (strength). Chúng ta có thể yêu cầu độ mạnh vượt qua một ngưỡng nhất định, ví dụ như 5% (tức là trong ít nhất 5% trường hợp, khi một người mua A thì cũng sẽ mua B).
Đo lường yếu tố bất ngờ: Độ nâng và đòn bẩy
Cuối cùng, ta muốn mối kết hợp có tính “bất ngờ.” Có nhiều khái niệm về sự bất ngờ (surprisingness) trong khai phá dữ liệu, nhưng đáng tiếc là phần lớn dựa vào việc đối chiếu kiến thức khám phá được với kiến thức nền, trực giác và lẽ thường của chúng ta. Nói cách khác, mối kết hợp được gọi là bất ngờ nếu nó mâu thuẫn với điều ta đã biết hoặc tin tưởng. Các nhà nghiên cứu vẫn tìm cách xử lý kiến thức khó mã hóa này, nhưng việc tự động hóa hiếm khi được áp dụng thực tế. Thay vào đó, các nhà khoa học dữ liệu và người dùng kinh doanh thường phải lọc thủ công danh sách dài các mối kết hợp để loại bỏ các mối kết hợp không bất ngờ.
Tuy nhiên, tồn tại một khái niệm về sự bất nhờ yếu hơn nhưng vẫn mang tính trực giác, có thể tính toán chỉ dựa vào dữ liệu và chúng ta đã gặp khái niệm này trong bối cảnh khác: độ nâng (lift)—Mối kết hợp này xảy ra thường xuyên hơn bao nhiêu lần so với mức kỳ vọng ngẫu nhiên? Nếu các mối kết hợp từ dữ liệu giỏ hàng siêu thị cho thấy bánh mì và sữa thường được mua cùng nhau, chúng ta có thể nói: “Điều đó hiển nhiên.” Rất nhiều người mua sữa và rất nhiều người mua bánh mì, chúng thường xuyên xuất hiện đồng thời chỉ đơn giản là do sự trùng hợp ngẫu nhiên. Chúng ta sẽ cảm thấy ngạc nhiên hơn nếu phát hiện mối kết hợp xảy ra với tần suất vượt xa kỳ vọng ngẫu nhiên. Độ nâng được tính dựa trên các khái niệm cơ bản của xác suất.
Công thức 12-1. Độ nâng (lift)
Độ nâng của sự đồng xuất hiện A và B là xác suất mà chúng ta thực sự quan sát thấy hai yếu tố này cùng xuất hiện, so với xác suất chúng xuất hiện cùng nhau khi chúng không liên quan (độc lập) với nhau. Giống như các ứng dụng khác của độ nâng mà chúng ta đã biết, khi độ nâng lớn hơn 1, nghĩa là việc nhìn thấy A xuất hiện sẽ “tăng cường” khả năng nhìn thấy B xuất hiện.
Đây chỉ là một trong những cách có thể được sử dụng để đánh giá mức độ có khả năng hơn ngẫu nhiên của một mối kết hợp được phát hiện. Một cách khác là xét hiệu số của các đại lượng này thay vì tỷ số của chúng. Phép đo này được gọi là đòn bẩy (leverage).
Công thức 12-2. Đòn bẩy (leverage)
Bạn nên cân nhắc cách nào phù hợp hơn đối với các mối kết hợp khó xảy ra ngẫu nhiên và cách nào phù hợp hơn đối với các mối kết hợp dễ xảy ra ngẫu nhiên.
Ví dụ: Bia và vé số
Như chúng ta đã thấy trong ví dụ "eWatch và eBracelet", khám phá mối kết hợp thường được sử dụng trong phân tích giỏ hàng để tìm kiếm và phân tích sự xuất hiện đồng thời của các mặt hàng được mua. Hãy cùng xem qua một ví dụ cụ thể.
Giả sử chúng ta vận hành một cửa hàng tiện lợi nhỏ, nơi khách hàng mua thực phẩm, đồ uống có cồn, vé số và nhiều mặt hàng khác. Chúng ta phân tích tất cả các giao dịch trong suốt một năm. Phát hiện cho thấy khách hàng thường mua bia và vé số cùng nhau. Tuy nhiên, chúng ta cũng biết rằng bia và vé số đều là những mặt hàng rất phổ biến tại cửa hàng. Giả sử 30% giao dịch có chứa bia và 20% giao dịch có chứa cả bia lẫn vé số. Liệu sự đồng xuất hiện này có thật sự đáng chú ý hay chỉ do tính phổ biến của từng mặt hàng? Các chỉ số thống kê về mối kết hợp sẽ giúp ta làm rõ điều này.
Trước tiên, chúng ta phát biểu một luật kết hợp thể hiện niềm tin này: “Khách hàng mua bia thường cũng mua vé số”; hoặc ngắn gọn hơn, “bia ⇒ vé số.” Tiếp theo, chúng ta tính độ nâng của mối kết hợp này. Chúng ta đã biết xác suất p(bia) = 0.3. Giả sử vé số cũng rất được ưa chuộng với p(vé số) = 0.4. Nếu hai mặt hàng này hoàn toàn độc lập nhau, xác suất chúng được mua cùng lúc sẽ là tích của hai xác suất trên, tức p(bia) × p(vé số) = 0.12.
Chúng ta cũng có xác suất thực tế (tần suất trong dữ liệu) của việc khách hàng mua cùng lúc hai mặt hàng, p(vé số, bia), được xác định bằng cách rà soát các hóa đơn thanh toán có chứa cả bia và vé số. Như đã đề cập, 20% giao dịch có chứa cả hai mặt hàng này và đây chính là xác suất của chúng ta: p(vé số, bia) = 0.2. Do đó, độ nâng được tính là 0.2 / 0.12 ≈ 1.67. Điều này cho thấy việc mua đồng thời vé số và bia có khả năng xảy ra cao hơn gấp khoảng 1 2/3 lần so với dự đoán ngẫu nhiên. Chúng ta có thể kết luận rằng tồn tại mối liên hệ nào đó, nhưng phần lớn sự đồng xuất hiện này là do từng mặt hàng đều phổ biến.
Về đòn bẩy, đây là hiệu giữa p(vé số, bia) và tích p(vé số) × p(bia), cụ thể là 0.2 − 0.12 = 0.08. Điều này có nghĩa xác suất mua đồng thời hai mặt hàng tăng lên 8% so với mức kỳ vọng dựa trên tính phổ biến của từng mặt hàng.
Ngoài ra, còn hai chỉ số quan trọng khác cần tính: độ hỗ trợ và độ mạnh. Độ hỗ trợ của mối kết hợp là tần suất mua cùng lúc hai mặt hàng, tức p(vé số, bia) = 20%. Độ mạnh là xác suất có điều kiện, p(vé số|bia), bằng 67%.
Mối kết hợp giữa các lượt thích trên Facebook
Mặc dù việc tìm kiếm mối kết hợp thường được ứng dụng trong dữ liệu giỏ hàng—nên đôi khi được gọi là phân tích giỏ hàng (market-basket analysis)—kỹ thuật này có tính ứng dụng rộng rãi hơn nhiều. Chúng ta có thể sử dụng ví dụ từ Chương 9 về lượt thích trên Facebook để minh họa. Hãy nhớ rằng chúng ta có dữ liệu về những thứ được thích bởi số lượng lớn người dùng Facebook (Kosinski, Stillwell, & Graepel, 2013). Tương tự như dữ liệu giỏ hàng, chúng ta có thể xem mỗi người dùng có một “giỏ” chứa tất cả các lượt thích của họ. Từ đó, chúng ta có thể đặt câu hỏi: liệu có những lượt thích nào xuất hiện đồng thời nhiều hơn so với mức ngẫu nhiên hay không? Chúng ta sẽ dùng ví dụ này như một minh họa thú vị về việc tìm kiếm mối kết hợp, nhưng thực tế, quá trình này cũng có thể mang lại một ứng dụng kinh doanh quan trọng. Nếu bạn là một nhà tiếp thị muốn hiểu rõ hơn về khách hàng trong một thị trường cụ thể, bạn có thể quan tâm đến việc khám phá những dạng thức về những gì mà mọi người thích. Nếu bạn tư duy theo lối phân tích dữ liệu, bạn sẽ vận dụng chính xác kiểu suy nghĩ mà chúng ta đã minh họa trong chương này: bạn sẽ muốn biết những sự việc nào xảy ra đồng thời với tần suất cao hơn mức ngẫu nhiên.
Trước khi đi vào khai phá dữ liệu, hãy cùng tìm hiểu thêm một ý tưởng hữu ích trong việc tìm kiếm mối kết hợp. Vì đang dùng giỏ hàng làm ví dụ, chúng ta nên mở rộng phạm vi những gì có thể coi là “mặt hàng”. Tại sao không đặt vào “giỏ” mọi thứ mà ta quan tâm để tìm mối kết hợp? Ví dụ, chúng ta có thể cho vị trí người dùng vào giỏ, từ đó phát hiện các mối kết hợp giữa các lượt thích và các vị trí. Với dữ liệu giỏ hàng thực tế, những yếu tố này đôi khi được gọi là các mặt hàng ảo (virtual items) để phân biệt với các mặt hàng thực sự mà khách mua trong cửa hàng. Với dữ liệu Facebook của chúng ta, hãy nhớ rằng ta có thể thu thập dữ liệu tâm lý học trên nhiều người dùng, như mức độ hướng ngoại hay hòa đồng, hoặc điểm số IQ. Việc cho phép tìm kiếm mối kết hợp bao gồm cả các đặc điểm tâm lý này cũng vô cùng thú vị.
Phân biệt giữa có giám sát và không có giám sát Chúng ta cần ghi nhớ sự khác biệt cơ bản giữa khai phá dữ liệu có giám sát và không có giám sát. Nếu mục tiêu là hiểu rõ những yếu tố tương quan mạnh nhất với tính hòa đồng hoặc với sự yêu thích thương hiệu thì vấn đề nên được xây dựng dưới dạng bài toán có giám sát với biến mục tiêu tương ứng. Đây chính là những gì mà chúng ta đã làm khi xem xét các độ nâng chứng cứ (evidence lifts) trong Chương 9, cũng như trong phân khúc có giám sát xuyên suốt cuốn sách này. Ngược lại, nếu muốn khám phá dữ liệu một cách tự nhiên, không đặt nặng mục tiêu cụ thể thì việc tìm kiếm mối kết hợp có thể là lựa chọn phù hợp hơn. Xem thêm phần thảo luận trong Chương 6 về sự khác biệt giữa khai phá dữ liệu có giám sát và không có giám sát trong bối cảnh phân cụm, nhưng các khái niệm cơ bản cũng hoàn toàn áp dụng cho khai phá mối kết hợp.
Bây giờ hãy cùng xem chúng ta nhận được những mối kết hợp nào từ các lượt thích trên Facebook. Những mối kết hợp này được phát hiện bằng hệ thống khai phá mối kết hợp Magnum Opus[2]. Magnum Opus cho phép tìm kiếm các mối kết hợp có độ nâng hoặc đòn bẩy cao nhất, đồng thời lọc bỏ những mối kết hợp chỉ bao phủ một số ít trường hợp, không đáng quan tâm. Danh sách dưới đây trình bày một số mối kết hợp có độ nâng cao nhất từ các lượt thích trên Facebook với điều kiện phải xuất hiện ít nhất ở 1% người dùng trong tập dữ liệu. Những mối kết hợp này có hợp lý không? Chúng có phác họa được mối quan hệ giữa các sở thích của người dùng không? Lưu ý rằng tất cả các độ nâng đều trên 20, nghĩa là các mối kết hợp này có khả năng xảy ra cao gấp ít nhất 20 lần so với kỳ vọng ngẫu nhiên.
Hầu hết các ví dụ về khai phá mối kết hợp đều sử dụng những lĩnh vực mà độc giả đã có hiểu biết tương đối (chẳng hạn như các lượt thích trên Facebook). Điều này là do khai phá dữ liệu không có giám sát, việc đánh giá phụ thuộc rất nhiều vào kiến thức chuyên môn (nhớ lại phần thảo luận trong Chương 6)—chúng ta không có một tác vụ với mục tiêu rõ ràng để thực hiện đánh giá một cách khách quan. Tuy nhiên, một ứng dụng thực tiễn đáng chú ý của khai phá mối kết hợp là khám phá dữ liệu mà chúng ta chưa hiểu rõ. Hãy tưởng tượng khi bắt đầu một công việc mới, việc khám phá dữ liệu giao dịch khách hàng của công ty và xem xét các mối kết hợp mạnh sẽ nhanh chóng cung cấp cái nhìn toàn diện về mối quan hệ sở thích trong tập khách hàng. Với điều này trong đầu, hãy nhìn lại các mối kết hợp trong các lượt thích Facebook và giả định đây không phải là lĩnh vực văn hóa đại chúng: các mối kết hợp này và nhiều mối kết hợp khác (có vô số các mối kết hợp như vậy) sẽ mang lại cái nhìn toàn diện về các sở thích liên quan của khách hàng.
Lập hồ sơ: Tìm kiếm hành vi điển hình
Lập hồ sơ nhằm mục đích mô tả hành vi điển hình của một cá nhân, nhóm hoặc tổng thể. Một câu hỏi về lập hồ sơ có thể là: Hành vi sử dụng thẻ tín dụng điển hình của phân khúc khách hàng này là gì? Có thể đó là mức chi tiêu trung bình, nhưng mô tả đơn giản như vậy có thể không phản ánh hành vi phù hợp với tác vụ kinh doanh của chúng ta. Ví dụ, trong phát hiện gian lận (fraud detection), lập hồ sơ thường được sử dụng để xác định hành vi bình thường, từ đó phát hiện các trường hợp có sự sai khác đáng kể so với hành vi bình thường—đặc biệt là những biểu hiện đã được xem là dấu hiệu của gian lận (Fawcett & Provost, 1997; Bolton & Hand, 2002). Việc lập hồ sơ hành vi sử dụng thẻ tín dụng phục vụ mục tiêu phát hiện gian lận có thể đòi hỏi một mô tả phức tạp hơn, bao gồm mức trung bình sử dụng vào các ngày trong tuần và cuối tuần, chi tiêu quốc tế, tiêu dùng phân bố theo danh mục sản phẩm và người bán, giao dịch tại những người bán đáng ngờ, v.v. Hành vi có thể được mô tả tổng quát trên toàn tổng thể, ở cấp độ các nhóm nhỏ hoặc thậm chí từng cá nhân riêng biệt. Ví dụ, mỗi khách hàng sử dụng thẻ tín dụng có thể được lập hồ sơ riêng về mức độ giao dịch quốc tế, nhằm tránh sinh ra nhiều cảnh báo sai cho những người thường xuyên đi công tác nước ngoài.
Lập hồ sơ kết hợp các khái niệm đã được trình bày trước đây. Lập hồ sơ về bản chất có thể bao gồm phân cụm nếu trong tổng thể tồn tại các nhóm con với hành vi khác biệt. Nhiều phương pháp lập hồ sơ có vẻ phức tạp, nhưng thực ra chỉ là sự hiện thực hóa của khái niệm cơ bản đã được đề cập trong Chương 4: xác định một hàm dạng số với các tham số nào đó, xác định mục đích hoặc mục tiêu, rồi tìm các tham số đáp ứng tốt nhất mục tiêu đó.
Hãy xem một ví dụ đơn giản trong quản lý vận hành doanh nghiệp. Các doanh nghiệp mong muốn sử dụng dữ liệu để đánh giá hiệu quả hoạt động của trung tâm cuộc gọi (call center) trong việc hỗ trợ khách hàng[3]. Một khía cạnh quan trọng trong việc hỗ trợ khách hàng là không để họ phải chờ đợi quá lâu khi giữ máy. Vậy làm thế nào để lập hồ sơ thời gian chờ điển hình của khách hàng gọi vào trung tâm cuộc gọi? Chúng ta có thể tính trung bình và độ lệch chuẩn của thời gian chờ.
Việc làm này dường như chính là điều mà một quản lý có kiến thức thống kê cơ bản sẽ thực hiện—thực chất đây là một trường hợp đơn giản của việc khớp mô hình (model fitting). Đây là lý do: Giả sử thời gian chờ của khách hàng tuân theo phân phối chuẩn (hay còn gọi là phân phối Gauss). Nói như thế có thể khiến những người không phải dân toán e ngại về những điều sắp tới, nhưng thực chất chỉ có nghĩa phân phối có dạng hình chuông với những đặc tính vô cùng thuận lợi. Điều quan trọng là “hồ sơ” về thời gian chờ trong trường hợp này chỉ có hai tham số quan trọng: trung bình và độ lệch chuẩn. Khi tính trung bình và độ lệch chuẩn, chúng ta đang tìm hồ sơ hay mô hình “tốt nhất” về thời gian chờ với giả định rằng dữ liệu tuân theo phân phối chuẩn. Trong trường hợp này, “tốt nhất” mang ý nghĩa tương tự như chúng ta đã thảo luận với hồi quy logistic. Ví dụ, giá trị trung bình tính từ chi tiêu (spending) cho chúng ta trung bình của phân phối Gauss có khả năng cao nhất sinh ra dữ liệu đó (mô hình “hợp lý cực đại (maximum-likelihood)”).
Góc nhìn này cho thấy lý do vì sao quan điểm khoa học dữ liệu lại hữu ích ngay cả trong những tình huống đơn giản: nó làm sáng tỏ ý nghĩa của việc tính trung bình và độ lệch chuẩn, ngay cả khi kiến thức thống kê của chúng ta đã phai nhạt. Chúng ta cũng cần ghi nhớ các nguyên tắc cơ bản được giới thiệu trong Chương 4 và mở rộng trong Chương 7: chúng ta cần xem xét thận trọng những gì chúng ta mong muốn từ kết quả khoa học dữ liệu. Ở đây, chúng ta mong muốn lập hồ sơ thời gian chờ “bình thường” của khách hàng. Nếu khi trực quan hóa dữ liệu thấy chúng không giống phân phối Gauss (một đường cong hình chuông đối xứng, giảm dần nhanh chóng đến gần bằng 0 ở phần “đuôi”), chúng ta cần xem xét lại việc chỉ đơn thuần báo cáo giá trị trung bình và độ lệch chuẩn. Thay vào đó, chúng ta có thể báo cáo giá trị trung vị, vốn ít bị ảnh hưởng bởi độ lệch (skew), hoặc tốt hơn là tìm một phân phối khác phù hợp hơn (sau khi tham khảo ý kiến chuyên gia thống kê).
Hình 12-1. Phân phối thời gian chờ của khách hàng gọi vào trung tâm cuộc gọi của ngân hàng.
Để xem một nhà quản lý am hiểu khoa học dữ liệu sẽ làm gì, hãy xét phân phối thời gian chờ của khách hàng gọi vào trung tâm cuộc gọi của một ngân hàng trong vài tháng. Hình 12-1 trình bày phân phối này. Điều quan trọng là việc trực quan hóa phân phối này sẽ kích hoạt “radar” khoa học dữ liệu của chúng ta cảnh báo.
Phân phối không phải là một đường cong hình chuông đối xứng. Theo đó, chúng ta cần thận trọng khi lập hồ sơ thời gian chờ chỉ bằng việc báo cáo giá trị trung bình và độ lệch chuẩn. Chẳng hạn, giá trị trung bình (100) dường như không thỏa mãn yêu cầu của chúng ta khi lập hồ sơ về việc khách hàng bình thường chờ trong bao lâu, nó có vẻ quá cao. Về mặt kỹ thuật, phần “đuôi” dài của phân phối đã làm lệch giá trị trung bình lên cao, khiến nó không thể hiện đúng vị trí tập trung của phần lớn dữ liệu. Do đó, nó không thể hiện đúng thời gian chờ bình thường của khách hàng.
Để đi sâu hơn về cách xử lý của một nhà quản lý am hiểu khoa học dữ liệu, chúng ta tiếp tục phân tích. Mặc dù chúng ta không đi vào chi tiết, nhưng có một thủ thuật phổ biến để xử lý dữ liệu bị lệch như vậy là lấy logarit của thời gian chờ. Hình 12-2 trình bày cùng một phân phối như trong Hình 12-1, nhưng sử dụng giá trị logarit của thời gian chờ. Sau khi áp dụng biến đổi đơn giản này, chúng ta thấy thời gian chờ rất giống với đường cong hình chuông.
Hình 12-2. Phân phối thời gian chờ của khách hàng gọi vào trung tâm cuộc gọi của ngân hàng sau khi định nghĩa lại dữ liệu.
Thật vậy, Hình 12-2 cũng cho thấy một phân phối Gauss thực tế (đường cong hình chuông) được khớp với phân phối hình chuông này, như đã mô tả ở trên. Đường cong khớp rất tốt, do đó chúng ta có cơ sở để báo cáo giá trị trung bình và độ lệch chuẩn làm các trị thống kê tóm tắt về hồ sơ của thời gian chờ (đã lấy log)[4].
Ví dụ đơn giản này có thể mở rộng sang các tình huống phức tạp hơn. Giả sử chúng ta muốn lập hồ sơ hành vi khách hàng dựa trên mức chi tiêu và thời gian họ bỏ ra trên website của chúng ta. Chúng ta tin rằng hai yếu tố này có mối tương quan, nhưng không hoàn toàn tuyệt đối, như minh họa qua các điểm trong Hình 12-3. Một phương pháp phổ biến là áp dụng khái niệm cơ bản của Chương 4: chọn một hàm có chứa tham số và một mục tiêu, rồi tìm các tham số để tối ưu hóa mục tiêu đó. Chẳng hạn, chúng ta có thể chọn một phân phối Gauss hai-chiều, về bản chất là một hình bầu dục mang dáng vẻ giống chuông (bell oval) thay vì là một đường cong hình chuông—một đám mây hình bầu dục dày đặc ở trung tâm và loãng dần về các rìa. Điều này được thể hiện qua các đường đồng mức trong Hình 12-3.
Hình 12-3. Hồ sơ khách hàng dựa trên mức chi tiêu và thời gian họ bỏ ra trên website, được thể hiện dưới dạng một phân phối Gauss hai-chiều khớp với dữ liệu.
Chúng ta có thể tiếp tục mở rộng ý tưởng này bằng việc lập hồ sơ phức tạp hơn nữa. Nếu chúng ta tin rằng có nhiều nhóm khách hàng với hành vi khác biệt, việc khớp một phân phối Gauss duy nhất cho toàn bộ dữ liệu có thể không phù hợp. Tuy nhiên, chúng ta có thể chấp nhận giả định rằng tồn tại k nhóm khách hàng, mỗi nhóm có hành vi tuân theo phân phối chuẩn. Chúng ta có thể xây dựng một mô hình gồm nhiều phân phối Gauss, được gọi là mô hình hỗn hợp Gauss (Gaussian Mixture Model - GMM). Vận dụng lại khái niệm cơ bản của chúng ta, việc tìm các tham số hợp lý cực đại (maximum-likelihood) giúp nhận diện k phân phối Gauss khớp với dữ liệu nhất (theo hàm mục tiêu này). Hình 12-4 là ví dụ minh họa với k=2, cho thấy quá trình khớp dữ liệu nhận diện hai nhóm khách hàng khác biệt, mỗi nhóm được mô hình hóa bởi một phân phối Gauss hai-chiều.
Hình 12-4. Hồ sơ khách hàng dựa trên mức chi tiêu và thời gian họ bỏ ra trên website, được thể hiện dưới dạng mô hình hỗn hợp Gauss (GMM) với 2 phân phối Gauss hai-chiều khớp với dữ liệu. GMM cung cấp một cách phân cụm “mềm” cho khách hàng dựa trên hai chiều này.
Giờ đây, chúng ta sở hữu một hồ sơ khá phức tạp, có thể được hiểu như một ứng dụng đơn giản nhưng bất ngờ của những nguyên tắc cơ bản của chúng ta. Điểm thú vị là GMM tạo ra kết quả phân cụm theo cách khác biệt so với các phương pháp phân cụm trình bày ở Chương 6. Điều này minh chứng rằng các nguyên tắc cơ bản, không phải các tác vụ hay giải thuật cụ thể, mới là nền tảng của khoa học dữ liệu. Trong trường hợp này, phân cụm có thể được thực hiện theo nhiều cách khác nhau, tương tự như phân loại và hồi quy.
Phân cụm “mềm” Nếu để ý kỹ, bạn sẽ nhận thấy các cụm trong GMM có sự chồng lấn lên nhau. GMM thực hiện phân cụm mang tính xác suất hay còn gọi là phân cụm “mềm”. Mỗi điểm dữ liệu không thuộc tuyệt đối về một cụm duy nhất, mà thay vào đó có một mức độ hay xác suất thuộc về từng cụm. Trong cách phân cụm này, chúng ta có thể cho rằng một điểm có khả năng thuộc về một số cụm nhất định cao hơn so với các cụm khác. Tuy nhiên, vẫn tồn tại khả năng, dù rất nhỏ, điểm đó có thể thuộc về bất kỳ cụm nào.
Dự đoán liên kết và đề xuất xã hội
Thỉnh thoảng, thay vì dự đoán một thuộc tính (giá trị mục tiêu) của một đối tượng dữ liệu, chúng ta lại thấy hữu ích hơn khi dự đoán các mối liên kết (connections) giữa các đối tượng đó. Một ví dụ điển hình là dự đoán tồn tại một liên kết giữa hai cá nhân. Dự đoán liên kết (link prediction) rất phổ biến trong các hệ thống mạng xã hội: Vì bạn và Karen có đến 10 người bạn chung, có thể bạn sẽ muốn trở thành bạn của Karen? Dự đoán liên kết cũng có thể ước lượng độ mạnh (strength) của một liên kết. Chẳng hạn, trong việc đề xuất phim cho khách hàng, ta có thể hình dung một đồ thị thể hiện mối liên kết giữa khách hàng và các bộ phim họ đã xem hoặc đánh giá. Trong đồ thị đó, ta tìm kiếm những liên kết chưa tồn tại giữa khách hàng và phim, nhưng ta dự đoán chúng tồn tại và có độ mạnh cao. Những liên kết này chính là cơ sở cho các đề xuất.
Có nhiều cách tiếp cận để dự đoán liên kết, đến mức toàn bộ một chương trong sách này cũng không thể nói hết được. Tuy nhiên, chúng ta có thể hiểu tổng quan các cách tiếp cận này dựa trên những khái niệm cơ bản của khoa học dữ liệu. Hãy cùng xem xét trường hợp mạng xã hội. Dựa trên những kiến thức hiện có, nếu phải dự đoán sự tồn tại hay độ mạnh của một liên kết giữa hai cá nhân, bạn sẽ định hình bài toán như thế nào? Có nhiều phương án. Chúng ta có thể giả định rằng các liên kết nên tồn tại giữa những cá nhân tương tự nhau. Khi đó, ta cần định nghĩa một phép đo độ tương tự (similarity) phù hợp với những yếu tố quan trọng trong ứng dụng của chúng ta.
Liệu ta có thể định nghĩa một phép đo độ tương tự giữa hai cá nhân để biểu thị rằng họ muốn kết bạn? (Hoặc đã là bạn bè, tùy theo ứng dụng.) Hoàn toàn có thể! Dựa vào ví dụ trên, chúng ta có xem độ tương tự là số lượng bạn chung. Dĩ nhiên, phép đo này có thể phức tạp hơn: chúng ta có thể tính trọng số cho mỗi người bạn dựa trên mức độ giao tiếp, khoảng cách địa lý, hoặc các yếu tố khác, rồi tìm hoặc thiết kế một hàm tính độ tương tự tích hợp các yếu tố này. Chúng ta có thể sử dụng mức độ thân quen này làm một khía cạnh của độ tương tự, đồng thời kết hợp với các yếu tố khác (bởi sau Chương 6, chúng ta đã quen thuộc với độ tương đồng đa biến) như sở thích chung, đặc điểm nhân khẩu học chung, v.v. Về bản chất, ta có thể áp dụng kiến thức về “tìm các mục dữ liệu tương tự” vào con người, thông qua việc xem xét các cách khác nhau để biểu diễn con người thành dữ liệu.
Đó là một cách tiếp cận cho bài toán dự đoán liên kết. Hãy cùng xem thêm một cách tiếp cận khác để tiếp tục minh họa cách áp dụng các nguyên tắc cơ bản vào các tác vụ khác. Vì mục tiêu là dự đoán sự tồn tại (hay độ mạnh) của một liên kết, ta có thể biến tác vụ thành một bài toán mô hình hóa dự đoán (predictive modeling problem). Vậy nên, ta áp dụng khuôn khổ tư duy về các bài toán mô hình dự đoán.
Như thường lệ, chúng ta bắt đầu với việc hiểu nghiệp vụ kinh doanh và dữ liệu. Vậy một “instance” nên được xem là gì? Ban đầu, ta có thể nghĩ: chờ đã—ở đây chúng ta đang xem xét mối quan hệ giữa hai “instance”. Khung khái niệm của chúng ta rất hữu ích trong trường hợp này: hãy kiên định với lập trường của mình và định nghĩa một "instance" cho bài toán dự đoán. Chính xác thì chúng ta muốn dự đoán điều gì? Chúng ta muốn dự đoán sự tồn tại của một mối quan hệ (hay độ mạnh của nó, nhưng ở đây ta chỉ xét đến sự tồn tại) giữa hai người. Vì vậy, một “instance” nên là một cặp đôi (gồm hai người)!
Khi đã xác định một cặp đôi là một “instance”, tiến trình trở nên suôn sẻ. Tiếp theo, biến mục tiêu là gì? Là sự tồn tại của mối quan hệ hoặc khả năng nó hình thành nếu được đề xuất. Đây có phải là tác vụ có giám sát? Rõ ràng là có, ta có thể lấy dữ liệu huấn luyện với các liên kết đã có hoặc chưa có. Nếu muốn kỹ càng hơn, ta có thể đầu tư thu thập nhãn dành riêng cho tác vụ đề xuất (dù cần dành nhiều thời gian hơn để định nghĩa chính xác ý nghĩa của liên kết). Còn các đặc trưng thì sao? Đó là những đặc trưng mô tả cặp đôi, chẳng hạn số lượng bạn chung, mức độ tương đồng sở thích, v.v. Khi đã chuyển bài toán thành tác vụ mô hình hóa dự đoán, ta tiếp tục cân nhắc các mô hình phù hợp để áp dụng và cách đánh giá chúng. Đây cũng là quy trình khái niệm mà chúng ta thường trải qua với bất kỳ tác vụ mô hình hóa dự đoán nào.
Giảm dữ liệu, thông tin tiềm ẩn và đề xuất phim
Đối với một số bài toán kinh doanh, ta mong muốn chiết tách một tập dữ liệu lớn thành một tập nhỏ hơn nhưng vẫn giữ lại phần lớn thông tin quan trọng từ tập lớn. Tập dữ liệu nhỏ hơn có thể dễ dàng quản lý hoặc xử lý hơn. Hơn nữa, nó có thể giúp tiết lộ rõ ràng hơn những thông tin ẩn chứa bên trong. Ví dụ, một tập dữ liệu khổng lồ về sở thích xem phim của người tiêu dùng có thể được rút gọn thành một tập nhỏ hơn, tiết lộ các sở thích tiềm ẩn trong dữ liệu xem, chẳng hạn như thể loại phim. Việc giảm dữ liệu (data reduction) thường đồng nghĩa với việc phải hy sinh một phần thông tin, nhưng điều quan trọng nằm ở sự đánh đổi giữa khả năng thấu hiểu (insight) hoặc khả năng quản lý đạt được với lượng thông tin bị mất đi. Đây thường là một sự đánh đổi xứng đáng.
Giống như bài toán dự đoán liên kết, giảm dữ liệu là một tác vụ tổng quát, không phải là một kỹ thuật cụ thể. Có rất nhiều kỹ thuật khác nhau và chúng ta có thể vận dụng các nguyên tắc căn bản của chúng ta để hiểu chúng. Hãy thảo luận về một kỹ thuật phổ biến làm ví dụ.
Tiếp tục nói về đề xuất phim, trong một cuộc thi nổi tiếng (ít nhất là trong giới khoa học dữ liệu), công ty cho thuê phim Netflix™ đã trao thưởng một triệu đô la cho cá nhân hoặc đội nhóm nào có khả năng dự đoán chính xác nhất cách người dùng đánh giá phim. Cụ thể, họ đặt ra mục tiêu về hiệu quả dự đoán trên một tập dữ liệu giữ lại và trao giải cho đội đầu tiên đạt được mục tiêu này[5]. Netflix cung cấp dữ liệu lịch sử về các đánh giá phim (movie ratings) của khách hàng. Đội chiến thắng[6] đã sử dụng một kỹ thuật vô cùng phức tạp, nhưng thành công phần lớn được quy cho hai yếu tố: (i) sử dụng mô hình tổ hợp, sẽ được thảo luận trong mục Độ chệch, phương sai và các phương pháp tổ hợp, và (ii) giảm dữ liệu. Kỹ thuật giảm dữ liệu chính mà đội chiến thắng áp dụng có thể được mô tả dễ dàng dựa trên các khái niệm cơ bản của chúng ta.
Vấn đề cần giải quyết thực chất là một bài toán dự đoán liên kết, cụ thể là dự đoán độ mạnh của mối liên kết giữa một người dùng và một bộ phim—độ mạnh biểu thị mức độ yêu thích bộ phim của người dùng. Như đã trình bày, đây có thể được xem là một bài toán mô hình hóa dự đoán. Tuy nhiên, các đặc trưng nào sẽ được sử dụng để biểu diễn mối liên kết giữa người dùng và bộ phim?
Một trong những cách tiếp cận phổ biến nhất để đưa ra đề xuất, được mô tả chi tiết trong bài viết của những người chiến thắng cuộc thi Netflix (Koren, Bell, & Volinsky, 2009), là xây dựng mô hình dựa trên các chiều tiềm ẩn (latent dimensions) ẩn sâu phía sau sở thích của người dùng. Thuật ngữ “tiềm ẩn” trong khoa học dữ liệu mang nghĩa “có liên quan nhưng không quan sát được rõ ràng trong dữ liệu.” Chương 10 đã bàn về mô hình chủ đề (topic models), một dạng khác của mô hình tiềm ẩn, trong đó thông tin tiềm ẩn là tập hợp các chủ đề trong tài liệu. Ở đây, các chiều tiềm ẩn trong sở thích phim có thể bao gồm các đặc điểm như nghiêm túc so với giải trí, hài kịch so với chính kịch, dành cho trẻ em hoặc xu hướng giới tính. Ngay cả khi những thứ này không được thể hiện rõ ràng trong dữ liệu, chúng vẫn có thể đóng vai trò quan trọng để đánh giá liệu một người dùng cụ thể có thích bộ phim hay không. Các chiều tiềm ẩn cũng có thể bao gồm những thứ khó định nghĩa như chiều sâu phát triển nhân vật hay sự kỳ dị, cũng như những chiều chưa được nêu rõ, bởi vì các chiều ẩn sẽ tự nhiên phát sinh từ dữ liệu.
Một lần nữa, chúng ta có thể hiểu cách tiếp cận khoa học dữ liệu nâng cao này như là sự tổng hợp của những khái niệm cơ bản. Ý tưởng của cách tiếp cận chiều tiềm ẩn cho đề xuất là biểu diễn mỗi bộ phim dưới dạng một vector đặc trưng dựa trên các chiều tiềm ẩn, đồng thời biểu diễn sở thích của mỗi người dùng cũng dưới dạng một vector đặc trưng theo cùng các chiều này. Khi đó, việc tìm ra những bộ phim phù hợp để đề xuất cho từng người dùng trở nên dễ dàng: chỉ cần tính độ tương tự giữa người dùng và tất cả các bộ phim; những phim có độ tương tự cao nhất chính là những phim phù hợp nhất với sở thích của người dùng.
Hình 12-5. Một tập hợp phim được đặt trong “không gian sở thích” được định nghĩa bởi hai chiều tiềm ẩn mạnh nhất được khai phá từ dữ liệu cuộc thi Netflix. Một khách hàng sẽ được đặt đâu đó trong không gian này dựa trên các phim đã xem hoặc đánh giá trước đó. Phương pháp đề xuất dựa trên độ tương tự sẽ đề nghị những phim gần nhất với khách hàng là những ứng viên đề xuất.
Hình 12-5 cho thấy không gian tiềm ẩn hai chiều được khai phá từ dữ liệu phim Netflix, cùng một tập hợp phim được biểu diễn trong không gian này. Việc giải thích các chiều tiềm ẩn được khai phá từ dữ liệu phải do các nhà khoa học dữ liệu hoặc người dùng doanh nghiệp suy luận. Cách phổ biến nhất là quan sát các chiều phân tách các bộ phim như thế nào, sau đó vận dụng kiến thức chuyên môn.
Ở Hình 12-5, chiều tiềm ẩn trên trục ngang có vẻ phân tách phim thành nhóm thiên về chính kịch ở bên phải và hành động ở bên trái. Ở hai cực xa, bên phải là những phim tình cảm như The Sound of Music, Moonstruck và When Harry Met Sally. Bên trái là những phim đối lập với phim tình cảm (có thể gọi là phim gai góc?), gồm các phim tiêu biểu dành cho nam giới và thanh thiếu niên (The Man Show, Porky’s), bạo lực (Texas Chainsaw Massacre, Reservoir Dogs), tốc độ (The Fast and the Furious) và săn quái vật (Van Helsing). Chiều tiềm ẩn trên trục đứng có vẻ phân tách phim theo mức hấp dẫn trí tuệ so với cảm xúc, với các phim như Being John Malkovich, Fear and Loathing in Las Vegas và Annie Hall nằm ở một cực, và Maid in Manhattan, The Fast and the Furious và You’ve Got Mail ở cực đối diện. Bạn hoàn toàn có thể không đồng ý với cách giải thích về các chiều này—bởi chúng hoàn toàn mang tính chủ quan. Tuy nhiên, một điều rõ ràng là: The Wizard of Oz thể hiện sự cân bằng hiếm thấy giữa các sở thích được biểu diễn qua các chiều tiềm ẩn.
Để sử dụng không gian tiềm ẩn cho việc đề xuất, chúng ta cũng sẽ đặt một khách hàng vào đâu đó trong không gian này dựa trên các phim mà khách hàng này đã thuê hoặc đánh giá. Các bộ phim nằm gần vị trí khách hàng sẽ là ứng viên thích hợp để đề xuất. Cần lưu ý rằng khi đưa ra đề xuất, chúng ta cần luôn gắn kết với việc hiểu nghiệp vụ kinh doanh. Ví dụ, các bộ phim khác nhau có biên lợi nhuận khác nhau, vì vậy chúng ta nên kết hợp hiểu biết này với hiểu biết về những bộ phim tương độ nhất.
Vậy làm thế nào để tìm các chiều tiềm ẩn phù hợp trong dữ liệu? Chúng ta áp dụng khái niệm cơ bản đã được giới thiệu ở Chương 4: biểu diễn phép tính độ tương tự giữa một người dùng và một bộ phim dưới dạng công thức toán với số lượng chiều tiềm ẩn d nào đó chưa được xác định. Mỗi chiều sẽ được biểu diễn bởi một tập các trọng số (hệ số) áp cho mỗi bộ phim và một tập các trọng số áp cho mỗi khách hàng. Trọng số lớn cho biết chiều đó có liên hệ mật thiết với bộ phim hoặc khách hàng. Ý nghĩa của chiều chỉ nằm ẩn trong các trọng số của bộ phim và khách hàng. Ví dụ, chúng ta có thể nhìn vào các bộ phim được đánh giá cao theo một chiều nào đó so với những bộ phim được đánh giá thấp và nhận định “các phim được đánh giá cao đều ‘kỳ dị.’” Trong trường hợp này, chúng ta có thể xem chiều là mức độ kỳ dị (quirkiness) của phim, mặc dù cần lưu ý rằng cách giải thích này do chính chúng ta áp đặt. Chiều này đơn thuần thể hiện cách các bộ phim được phân cụm dựa trên đánh giá của khách hàng.
Hãy nhớ lại rằng để khớp một hàm số với dữ liệu, chúng ta cần tìm tập tham số tối ưu cho hàm số đó. Ban đầu, số chiều d chỉ là một đại lượng toán trừu tượng; chỉ khi các tham số được chọn để khớp với dữ liệu, ta mới có thể cố gắng diễn giải ý nghĩa của các chiều tiềm ẩn này (và đôi khi nỗ lực đó vô ích). Ở đây, các tham số của hàm số là các trọng số (chưa biết) cho từng khách hàng và từng bộ phim theo những chiều đó. Trực giác cho ta hiểu rằng khai phá dữ liệu đồng thời xác định (i) mức độ kỳ dị của một bộ phim và (ii) mức độ yêu thích các bộ phim kỳ dị của một khách hàng.
Chúng ta cũng cần một hàm mục tiêu để xác định thế nào là khớp tốt. Hàm mục tiêu được định nghĩa dựa trên tập hợp các đánh giá phim đã quan sát được. Mục đích là tìm ra bộ trọng số phản ánh đặc điểm của các người dùng và các bộ phim dựa trên những chiều này. Có nhiều hàm mục tiêu khác nhau được sử dụng trong bài toán đề xuất phim. Ví dụ, chúng ta có thể chọn bộ trọng số sao cho dự đoán tốt nhất các đánh giá đã quan sát trong dữ liệu huấn luyện (kèm theo điều chuẩn để tránh quá khớp, như đã đề cập trong Chương 5). Ngoài ra, chúng ta có thể chọn các chiều giải thích tốt nhất sự biến động trong các đánh giá đã quan sát. Phương pháp này thường được gọi là “phân rã ma trận (matrix factorization),” độc giả quan tâm có thể tham khảo bài báo về cuộc thi Netflix (Koren, Bell, & Volinsky, 2009).
Kết quả là mỗi bộ phim được biểu diễn dưới dạng một tập các chiều tối giản—có thể là mức độ kỳ dị, có thể là “đẫm nước mắt” hay “dành cho nam giới,” hoặc bất cứ đặc điểm nào—là d chiều tiềm ẩn tốt nhất mà quá trình huấn luyện tìm ra. Chúng ta cũng có thể biểu diễn từng người dùng dưới dạng sở thích của họ theo các chiều đó. Bây giờ, chúng ta có thể quay lại Hình 12-5 và phần thảo luận kèm theo, đây chính là hai chiều tiềm ẩn khớp nhất với dữ liệu, tức là các chiều được xác định khi khớp dữ liệu với d=2.
Độ chệch, phương sai và các phương pháp tổ hợp
Trong cuộc thi Netflix, các nhà vô địch còn tận dụng một kỹ thuật phổ biến trong khoa học dữ liệu: xây dựng nhiều mô hình đề xuất khác nhau và kết hợp chúng thành một siêu mô hình duy nhất. Trong ngôn ngữ khai phá dữ liệu, điều này được gọi là xây dựng một mô hình tổ hợp (ensemble model). Mô hình tổ hợp đã được chứng minh là có khả năng cải thiện hiệu quả khái quát hóa (generalization performance) trong nhiều tình huống—không chỉ trong đề xuất mà còn trong phân loại, hồi quy, ước tính xác suất lớp, v.v.
Tại sao một tập hợp các mô hình thường tốt hơn một mô hình đơn lẻ? Nếu xem mỗi mô hình như một “chuyên gia” về tác vụ dự đoán mục tiêu, chúng ta có thể hình dung một mô hình tổ hợp như một nhóm chuyên gia. Thay vì hỏi ý kiến một chuyên gia duy nhất, chúng ta thu thập ý kiến từ nhóm chuyên gia rồi kết hợp những dự đoán của họ. Ví dụ, chúng ta có thể để họ bỏ phiếu cho một phân loại hoặc lấy trung bình các dự đoán dạng số của họ. Lưu ý rằng đây là sự khái quát hóa của phương pháp được giới thiệu ở Chương 6 khi biến việc tính toán độ tương tự thành mô hình dự đoán “láng giềng gần nhất”. Để dự đoán theo k-NN, chúng ta tìm một nhóm các đối tượng tương tự (các chuyên gia) rồi áp dụng hàm nào đó để tổng hợp các dự đoán của chúng. Như vậy, mô hình k-láng giềng gần nhất là một phương pháp tổ hợp đơn giản. Thông thường, các phương pháp tổ hợp sử dụng các mô hình dự đoán phức tạp hơn làm “chuyên gia”; ví dụ, xây dựng một nhóm các cây phân loại rồi trình bày giá trị trung bình (hoặc trung bình có trọng số) của các dự đoán.
Khi nào chúng ta có thể kỳ vọng mô hình tổ hợp sẽ cải thiện hiệu quả dự đoán? Chắc chắn rằng, nếu mỗi chuyên gia đều sở hữu kiến thức hoàn toàn giống nhau, họ sẽ đưa ra những dự đoán giống nhau, và mô hình tổ hợp sẽ không mang lại lợi ích nào. Ngược lại, nếu mỗi chuyên gia thành thạo một khía cạnh khác biệt của vấn đề, họ sẽ đưa ra những dự đoán bổ sung cho nhau và tổng hợp lại có thể cung cấp nhiều thông tin hơn bất kỳ chuyên gia đơn lẻ nào. Về mặt kỹ thuật, ta muốn các chuyên gia mắc các lỗi hay sai số (errors) khác nhau—lỗi của họ càng ít liên quan đến nhau càng tốt, lý tưởng là hoàn toàn độc lập. Khi lấy trung bình các dự đoán, các lỗi sẽ có xu hướng triệt tiêu lẫn nhau, các dự đoán sẽ bổ sung cho nhau và mô hình tổ hợp sẽ vượt trội hơn từng chuyên gia riêng lẻ.
Phương pháp tổ hợp có lịch sử lâu dài và là một lĩnh vực nghiên cứu sôi động trong khoa học dữ liệu. Đã có nhiều tài liệu thảo luận về chủ đề này. Độc giả quan tâm có thể bắt đầu với bài tổng quan của Dietterich (2000).
Một cách để hiểu vì sao mô hình tổ hợp hiệu quả là nhận thức rằng những sai số mà một mô hình mắc phải có thể được đặc trưng bởi ba yếu tố:
Tính ngẫu nhiên vốn có (inherent randomness),
Độ chệch (bias),
Phương sai (variance).
Yếu tố đầu tiên là tính ngẫu nhiên vốn có, đề cập đến những trường hợp dự đoán không mang tính “tất định (deterministic)” (tức là ta không luôn nhận được cùng giá trị mục tiêu mỗi khi gặp cùng tập đặc trưng). Ví dụ, các khách hàng với một tập các đặc điểm nhất định không phải lúc nào cũng quyết định mua hoặc không mua sản phẩm của chúng ta. Dự đoán vốn dĩ mang tính xác suất dựa trên thông tin chúng ta có. Do đó, một phần sai số quan sát được trong dự đoán đơn thuần xuất phát từ bản chất xác suất vốn có của vấn đề này. Chúng ta có thể tranh luận liệu một quá trình tạo sinh dữ liệu cụ thể có thực sự mang tính xác suất hay không—hay chỉ là do chúng ta chưa nắm được đầy đủ thông tin cần thiết—nhưng tranh luận như thế phần nhiều là mang tính học thuật[7], bởi lẽ quá trình đó về bản chất là mang tính xác suất dựa trên những dữ liệu mà chúng ta đang có. Giả sử chúng ta đã giảm thiểu hết mức tính ngẫu nhiên và tồn tại một độ chính xác tối đa về lý thuyết mà chúng ta có thể đạt được cho bài toán. Độ chính xác đó được gọi là tỷ lệ Bayes, thường chưa biết. Trong phần còn lại của mục này, chúng ta xem tỷ lệ Bayes như là độ chính xác “hoàn hảo”.
Ngoài tính ngẫu nhiên vốn có, mô hình có thể mắc sai số do hai nguyên nhân khác. Thủ tục mô hình hóa có thể bị “chệch” (hay “thiên lệch”). Ý nghĩa của điều này được hiểu rõ nhất khi liên hệ với các đường cong học tập (learning curves). Cụ thể, một thủ tục mô hình hóa được coi là bị chệch nếu dù có bao nhiêu dữ liệu huấn luyện đi chăng nữa, đường cong học tập cũng không bao giờ đạt đến độ chính xác hoàn hảo (tỷ lệ Bayes). Ví dụ, chúng ta xây dựng một mô hình hồi quy logistic (tuyến tính) để dự đoán sự phản hồi đối với một chiến dịch quảng cáo. Nếu phản hồi thực tế phức tạp hơn khả năng mô hình tuyến tính có thể biểu diễn, mô hình sẽ không bao giờ đạt được độ chính xác hoàn hảo.
Nguồn sai số còn lại là do chúng ta không sở hữu một lượng dữ liệu huấn luyện vô hạn; thay vào đó, chúng ta chỉ có một mẫu dữ liệu hữu hạn cần khai phá. Các thủ tục mô hình hóa thường cho ra những mô hình khác biệt ngay cả khi chỉ có sự thay đổi nhỏ trong mẫu dữ liệu. Các mô hình khác nhau thường sẽ có độ chính xác khác nhau. Mức độ biến động của độ chính xác trên các tập huấn luyện khác nhau (giả sử cùng kích cỡ) được gọi là phương sai (variance) của quá trình mô hình hóa. Các thủ tục có phương sai lớn có xu hướng tạo ra mô hình với sai số lớn hơn, trong điều kiện các yếu tố khác không đổi.
Bạn có thể nhận thấy rằng chúng ta mong muốn có một thủ tục mô hình hóa không bị chệch cũng như không có phương sai, hoặc ít nhất là có cả hai yếu tố này ở mức thấp. Thật không may (và cũng dễ hiểu), thường tồn tại sự đánh đổi giữa hai yếu tố này. Các mô hình có phương sai thấp thường có độ chệch cao, và ngược lại. Ví dụ đơn giản là chúng ta muốn ước lượng sự phản hồi đối với chiến dịch quảng cáo mà bỏ qua toàn bộ đặc điểm của khách hàng, chỉ dự đoán tỷ lệ mua hàng (trung bình). Đây sẽ là mô hình có phương sai rất thấp vì chúng ta có xu hướng thu được giá trị trung bình gần như giống nhau từ các bộ dữ liệu khác nhau có cùng kích cỡ. Tuy nhiên, hy vọng đạt được độ chính xác hoàn hảo là điều không thể nếu tồn tại sự khác biệt đặc thù giữa các khách hàng về xu hướng mua hàng. Ngược lại, giả sử chúng ta mô hình hóa khách hàng dựa trên một nghìn biến số chi tiết. Chúng ta có thể có được độ chính xác tốt hơn nhưng đồng thời cũng phải chấp nhận phương sai lớn hơn thậm chí ở các mô hình thu được từ những tập huấn luyện chỉ có khác biệt nhỏ. Do đó, chúng ta không nhất thiết phải kỳ vọng mô hình nghìn biến sẽ tốt hơn; chúng ta không thể biết được sai số chủ yếu đến từ độ chệch hay phương sai.
Bạn có thể nghĩ: Tất nhiên rồi. Như đã học ở Chương 5, mô hình nghìn biến sẽ bị quá khớp (overfitting). Chúng ta cần kiểm soát độ phức tạp (complexity control), chẳng hạn chọn ra một tập con của các biến để sử dụng. Điều này hoàn toàn đúng. Độ phức tạp tăng lên thường làm giảm độ chệch nhưng lại làm tăng phương sai. Việc kiểm soát độ phức tạp thường nhằm mục đích cân bằng sự đánh đổi giữa độ chệch và phương sai (thường chưa biết), tìm “điểm ngọt” (sweet spot) để sai số tổng hợp nhỏ nhất. Vì vậy, chúng ta có thể áp dụng kỹ thuật chọn biến cho bài toán nghìn biến của chúng ta. Nếu thực sự tồn tại sự khác biệt đặc thù từng khách hàng trong tỷ lệ mua hàng và có đủ dữ liệu huấn luyện, ta hy vọng việc chọn biến sẽ không loại bỏ toàn bộ biến (dẫn đến dự đoán chỉ là trung bình tổng thể). Thay vào đó, ta hy vọng sẽ thu được một mô hình với tập biến tốt nhất, giúp dự đoán chính xác nhất có thể dựa trên dữ liệu huấn luyện hiện có.
Độ chính xác được thảo luận trong phần này là giá trị kỳ vọng của độ chính xác của các mô hình. Ta bỏ qua chi tiết này để tránh làm phần trình bày quá phức tạp. Độc giả muốn tìm hiểu sâu về độ lệch, phương sai và sự đánh đổi giữa chúng có thể tham khảo bài viết kỹ thuật nhưng khá dễ hiểu của Friedman (1997).
Giờ chúng ta đã hiểu lý do các kỹ thuật tổ hợp hoạt động hiệu quả. Nếu một phương pháp mô hình hóa có phương sai cao, việc lấy trung bình nhiều dự đoán sẽ giúp giảm phương sai trong các dự đoán đó. Thật vậy, các phương pháp tổ hợp thường cải thiện khả năng dự đoán hơn đối với các phương pháp có phương sai cao, chẳng hạn như trong những trường hợp dễ xảy ra hiện tượng quá khớp (Perlich, Provost, & Simonoff, 2003). Các phương pháp tổ hợp thường được sử dụng cho quy nạp cây (tree induction) vì cây phân loại và cây hồi quy thường có phương sai cao. Trong lĩnh vực này, bạn có thể nghe về random forests (rừng ngẫu nhiên), bagging (đóng bao), và boosting (tăng cường). Đây đều là các phương pháp tổ hợp phổ biến cho cây (hai phương pháp sau có tính tổng quát hơn).
Giải thích nhân quả dựa trên dữ liệu và ví dụ về tiếp thị lan truyền
Một chủ đề quan trọng mà chúng ta chỉ mới đề cập một cách sơ lược trong cuốn sách này (ở Chương 2 và Chương 11) là giải thích nhân quả (causal explanation) từ dữ liệu. Mô hình hóa dự đoán rất hữu ích trong nhiều vấn đề kinh doanh. Tuy nhiên, kiểu mô hình hóa dự đoán mà chúng ta thảo luận cho đến giờ chủ yếu dựa trên mối tương quan (correlation) chứ không dựa trên kiến thức về nhân quả (causation). Chúng ta thường muốn xem xét sâu hơn về một hiện tượng và đặt câu hỏi: cái gì ảnh hưởng đến cái gì? Chúng ta có thể muốn làm điều này đơn giản để hiểu rõ hơn về doanh nghiệp của mình hoặc nhằm sử dụng dữ liệu để nâng cao quyết định trong việc can thiệp, từ đó tạo ra kết quả mong muốn.
Hãy xét một ví dụ cụ thể. Gần đây, tiếp thị lan truyền (viral marketing) thu hút nhiều sự quan tâm. Một cách diễn giải phổ biến về tiếp thị lan truyền là người tiêu dùng có thể ảnh hưởng lẫn nhau trong việc mua sản phẩm, do đó một nhà tiếp thị có thể được lợi lớn bằng cách “gieo hạt” vào một số người tiêu dùng nhất định (ví dụ, tặng họ sản phẩm miễn phí), biến họ thành những “người có ảnh hưởng”—làm tăng khả năng những người quen biết họ cũng sẽ mua sản phẩm. “Chén thánh” trong tiếp thị lan truyền chính là khả năng tạo ra những chiến dịch phát tán mạnh mẽ như một dịch bệnh, nhưng giả định then chốt đằng sau “sự lan truyền” này là người tiêu dùng thực sự có ảnh hưởng đến nhau. Vậy mức độ ảnh hưởng là bao nhiêu? Các nhà khoa học dữ liệu nỗ lực đo lường mức độ ảnh hưởng này bằng cách quan sát dữ liệu xem khi một người sở hữu sản phẩm, những người trong mạng lưới xã hội của cô ấy có khả năng cao hơn trong việc mua sản phẩm hay không.
Đáng tiếc, phân tích dữ liệu một cách ngây thơ có thể cực kỳ gây hiểu nhầm. Vì các lý do xã hội học quan trọng (McPherson, Smith-Lovin, & Cook, 2001), con người thường tụ họp trong mạng lưới xã hội với những người tương đồng với họ. Điều này ngụ ý rằng các cá nhân trong một mạng lưới xã hội (láng giềng của nhau) thường có những sở thích sản phẩm tương đồng và chúng ta có thể kỳ vọng rằng những người kết nối với những ai đã chọn hoặc thích một sản phẩm thì cũng sẽ chọn hoặc thích sản phẩm đó, ngay cả khi không tồn tại bất kỳ ảnh hưởng nhân quả nào giữa các người tiêu dùng. Thật vậy, dựa trên phân tích nhân quả cẩn trọng, một nghiên cứu đăng trên Proceedings of the National Academy of Sciences (Aral, Muchnik, & Sundararajan, 2009) đã chỉ ra rằng các phương pháp truyền thống dùng để ước lượng mức ảnh hưởng trong phân tích tiếp thị lan truyền đã thổi phồng mức ảnh hưởng ít nhất 700%!
Có nhiều phương pháp khác nhau để giải thích nhân quả từ dữ liệu và tất cả đều có thể được hiểu trong khuôn khổ khoa học dữ liệu chung. Lý do ta thảo luận vấn đề này vào cuối sách là vì để hiểu các kỹ thuật phức tạp này cần nắm vững những nguyên tắc cơ bản đã trình bày trước đó. Việc phân tích dữ liệu nhân quả một cách thận trọng đòi hỏi sự hiểu biết về đầu tư trong thu thập dữ liệu, đo lường độ tương tự, tính toán giá trị kỳ vọng, tìm kiếm mối tương quan và biến mang thông tin, khớp mô hình với dữ liệu, v.v.
Chương 11 đã trình bày sơ lược về phân tích nhân quả phức tạp khi trở lại vấn đề khách hàng viễn thông rời bỏ và đặt câu hỏi: Chẳng phải chúng ta nên nhắm đến những khách hàng mà ưu đãi đặc biệt có khả năng tác động mạnh nhất đến họ hay sao? Điều này làm nổi bật vai trò then chốt của khung giá trị kỳ vọng cùng với nhiều khái niệm khác. Còn có những kỹ thuật khác nhằm hiểu biết nhân quả, đó là sử dụng đối sánh tương tự (Chương 6) để mô phỏng “phản thực tế (counterfactual)”, tức là tình huống trong đó một người vừa nhận được “liệu pháp (treatment)” (ví dụ như nhận khuyến khích ở lại), vừa không nhận được “liệu pháp” đó. Một số phương pháp phân tích nhân quả khác thì khớp hàm số (mô hình) với dữ liệu và diễn dịch các hệ số của hàm số[8].
Điều quan trọng là chúng ta không thể hiểu khoa học dữ liệu nhân quả nếu chưa thấu đáo các nguyên tắc cơ bản. Phân tích dữ liệu nhân quả chỉ là một ví dụ như thế; điều này cũng đúng với nhiều phương pháp phức tạp khác mà bạn có thể gặp phải.
Tóm tắt
Có rất nhiều kỹ thuật đặc thù được sử dụng trong khoa học dữ liệu. Để có được sự hiểu biết vững chắc về lĩnh vực này, điều quan trọng là phải lùi lại khỏi những chi tiết đặc thù và suy ngẫm về các loại tác vụ mà các kỹ thuật đó hướng tới. Trong cuốn sách này, chúng ta đã tập trung vào một tập các tác vụ phổ biến nhất (tìm kiếm mối tương quan và thuộc tính mang thông tin, tìm các mục dữ liệu tương tự, phân loại, ước tính xác suất, hồi quy, phân cụm), cho thấy rằng các khái niệm trong khoa học dữ liệu cung cấp nền tảng vững chắc để hiểu cả tác vụ lẫn phương pháp giải quyết chúng. Trong chương này, chúng ta đã trình bày thêm một số tác vụ và kỹ thuật quan trọng khác trong khoa học dữ liệu, minh họa rằng chúng cũng có thể được hiểu dựa trên nền tảng các khái niệm cơ bản của chúng ta.
Cụ thể, chúng ta đã bàn về: tìm kiếm các mối kết hợp hay sự đồng xuất hiện thú vị giữa các hạng mục, chẳng hạn như giao dịch mua hàng; lập hồ sơ hành vi điển hình, chẳng hạn như thói quen sử dụng thẻ tín dụng hoặc thời gian chờ của khách hàng; dự đoán các liên kết giữa các mục dữ liệu, chẳng hạn như các kết nối xã hội tiềm năng giữa những người với nhau; giảm dữ liệu để quản lý tốt hơn hoặc khai thác những thông tin tiềm ẩn, chẳng hạn như sở thích tiềm ẩn về phim ảnh; kết hợp các mô hình như thể chúng là các chuyên gia với những chuyên môn khác nhau, chẳng hạn như để cải thiện việc đề xuất phim; và rút ra các kết luận nhân quả từ dữ liệu, chẳng hạn như xác định: việc những người có kết nối xã hội mua cùng sản phẩm là do ảnh hưởng lẫn nhau (điều cần thiết cho các chiến dịch lan truyền) hay đơn thuần là do họ có sở thích tương đồng (điều này đã được xã hội học khẳng định). Việc nắm vững những nguyên tắc cơ bản sẽ giúp bạn dễ dàng tiếp cận các kỹ thuật phức tạp dưới dạng các trường hợp cụ thể hoặc kết hợp chúng với nhau.
[1] A và B có thể là nhiều hạng mục khác nhau. Tuy nhiên, hiện tại chúng ta sẽ giả định chúng là những hạng mục đơn lẻ. Ví dụ về lượt thích trên Facebook có thể khái quát hóa cho nhiều hạng mục.
[2] Magnum Opus hiện đã không còn hoạt động. Xem chi tiết tại https://giwebb.com
[3] Độc giả quan tâm có thể tham khảo Brown và cộng sự (2005) để có cái nhìn chuyên sâu và chi tiết về ứng dụng này.
[4] Một nhà khoa học dữ liệu được đào tạo bài bản về thống kê có thể ngay lập tức nhận ra hình dạng của phân phối dữ liệu gốc, được trình bày trong Hình 12-1. Đó là phân phối log-normal, có nghĩa là logarit của các đại lượng được xét tuân theo phân phối chuẩn.
[5] Có một số chi tiết kỹ thuật trong quy định của cuộc thi Netflix, bạn có thể tìm hiểu tại: https://en.wikipedia.org/wiki/Netflix_Prize
[6] Đội chiến thắng là Bellkor’s Pragmatic Chaos, gồm bảy thành viên. Lịch sử của cuộc thi và sự phát triển của các đội thi vừa phức tạp vừa đầy hấp dẫn. Tham khảo thêm về cuộc thi Netflix tại: http://en.wikipedia.org/wiki/Netflix_Prize
[7] Việc tranh luận đôi khi có thể mang lại kết quả tốt. Chẳng hạn, việc suy ngẫm xem liệu chúng ta đã sở hữu đầy đủ thông tin cần thiết hay chưa có thể tiết lộ một thuộc tính mới, từ đó gia tăng khả năng dự đoán.
[8] Việc giải thích những điều kiện nào thì có thể gán ý nghĩa nhân quả vượt quá phạm vi của cuốn sách này. Tuy nhiên, nếu ai đó trình bày cho bạn một phương trình hồi quy với giải thích nhân quả cho các tham số của phương trình, hãy đặt câu hỏi về ý nghĩa cụ thể của các hệ số và lý do có thể diễn giải chúng theo hướng nhân quả cho đến khi bạn cảm thấy thỏa đáng. Đối với những phân tích như vậy, việc người ra quyết định hiểu thấu đáo là điều tối quan trọng; hãy kiên quyết đảm bảo bạn nắm rõ kết quả đó.
Last updated