2012-01-05 76 views
0

我對遺傳算法的主題非常陌生,並且試圖理解這裏和那裏定義的一些GA概念。如何開始使用遺傳算法工作

我的問題是關於如何開始考慮使用GA獲取問題的解決方案。我有一個小型數據庫,大約有3000個條目,其中給出了移動預付費用戶的使用模式。我需要確定這些客戶的消費模式以及接下來要提供給他們的消費模式,以便他們的總支出可能增加。

目前,我正在集思廣益,討論如何編碼GA染色體,適應函數應該是什麼樣子,如何創建第一個羣體,以及交叉函數的準則等。

任何專家都可以就如何處理這類問題提供一些建議嗎?

+1

雖然你還沒有完全發展你的問題,但你確定的方法...在這個階段,我還沒有決定一個GA。請詳細說明「消費模式」是什麼以及它的樣子。既然你想確定一種消費模式,我認爲你應該首先將其正式化。 – Andreas 2012-01-05 12:29:08

+0

我會用一個學習算法而不是遺傳算法。遺傳算法用於優化,學習算法用於分類(或識別模式)。 – mitch 2012-01-05 20:10:43

回答

2

你必須意識到的第一件事是GA是一種優化技術。 因此,對於問題的第一部分(確定支出模式),您需要優化哪些內容? GA是猜測解決方案的「智能」方式。在這種情況下,它會猜測消費模式。你需要的是比較猜測的消費模式,以逐步選擇最好的方式。這個比較是用你想要優化的成本函數進行的。 您需要做的第一件事就是嘗試將問題建模爲優化問題。您如何描述與使用模式相關的開銷模式(這是您的輸入)。你如何比較消費模式?一旦你定義了這些東西,你就可以開始擔心GA的細節,但只能在這之後! 一旦你有他們的消費模式,第二個問題(找到他們提供他們)是最大化這個功能(消費模式函數),這可以再次使用GA或使用其他一些優化技術。

2

聽起來像你正在尋找監督迴歸技術。您可以定義一組(可能非常大)的功能來定義每個用戶的消費習慣。然後,您可以運行迴歸算法來確定哪些功能與高花費相關。例如,您可能會發現「本月提供的促銷活動」與開支正相關,因此爲了增加您的利潤,您應該提供更多折扣等。設計您的功能,以便它們與可能影響的事情相對應 - 如果包括年齡和性別(例如)在您的功能集中,您可能會發現這些是重要的支出指標。不幸的是,你不能改變你的用戶的年齡或性別。