第一種方法的簡單版本(基於時間)的問題在於,它沒有考慮通過商店花費不同的時間量:如果您花費大量時間等待熟食店,那麼在此之後獲得雞蛋的時間將根據您在熟食店等待的時間而有很大差異。所以根據你檢查它們的平均時間來排序的東西可能並不理想。
如果你能弄清楚產品的組合,例如香蕉和葡萄在一個部分,你通常會把它們放在一起,牛奶和雞蛋與你在不同的部分靠近在一起。這個模型存在一些問題(你可能會從花式奶酪部分得到切達乾酪,或者從其他乳製品的正常部分得到切達乾酪),但是排序會更容易(A組在B組之前)您通常從A組獲得項目,然後才能從B組獲得項目;只要您有組定義,就根據該項目進行排序)。
當你輸入一個新的項目時,這也可能有幫助:如果你以前從未得到過黑莓,但是你的應用搜索網絡或者其他東西來看黑莓更像是水果類別而不是肉類,它就知道把他們放進水果小組。
那麼,你如何做分組?一種簡單的方法是對列表中的項目進行聚類,使用項目之間的平均時差作爲距離度量(我不確定這在技術上是否是度量標準,但可能並不重要)。您可以在這裏使用k-means或任何其他聚類方法。這可能會通過某種基於網絡或基於語料庫的相似性度量來增強,以便對新項目或通過商店的前幾次運行更有用。也許你也可以使用GPS數據來幫助解決這個問題。
您可能會做一些EM過程,以便在將事情分配給組和排序組之間進行迭代,但我不確定這會非常有幫助。當這個過程出錯時,您也可以支持手動將組分配給組。
這是一個很酷的主意!如果你釋放它,也許我會使用它。 :)
老實說,它似乎並不像ML適合這個問題。我想你只是想知道店鋪的佈局(麪包過道5,牛奶過道9),然後 – 2012-04-16 03:31:35