什麼是遺傳演算法?


遺傳演算法是利用遺傳繼承過程的數學結構。它們已成功應用於各種分析問題。資料探勘可以將人類理解與資訊的自動分析聯絡起來,以發現模式或關鍵關係。

給定一個由多個變量表示的大型資料庫,目標是有效地找到資料庫中最有趣的模式。遺傳演算法已被用於在某些軟體中識別有趣的模式。它們通常用於資料探勘以增強其他演算法的執行,例如決策樹演算法或關聯規則演算法。

遺傳演算法需要特定的資料結構。它們在一個具有以類別結構定義的特徵的種群上工作。與遺傳學的類比是種群(基因)包含特徵。實現遺傳演算法的一種方法是使用具有突變特徵的運算元(繁殖、交叉、選擇)來改進可能更好組合的生成。

遺傳演算法的過程如下:

  • 它可以隨機選擇父母。

  • 它用於透過交叉進行繁殖。

  • 繁殖是選擇哪些個體將處理它。換句話說,需要一些目標函式或選擇機制來決定生存。交叉描述了未來個體產生的變化。

  • 它可以透過適應度函式選擇下一代的倖存者。

  • 突變是透過該服務隨機選擇的、在後續操作中隨機選擇的個體的屬性被轉換。

  • 它可以重複,直到達到給定的適應度水平,或者達到預定的迭代次數。

  • 遺傳演算法引數包括種群大小、交叉率和突變率。

遺傳演算法的優點

遺傳演算法的優點如下:

  • 遺傳演算法非常容易建立和驗證,這使得它們在使用時極具吸引力。

  • 該演算法是並行的,這意味著它可以有效地用於大型種群。該演算法也很有效,因為它即使從較差的初始解開始,也可以迅速收斂到最佳解。

  • 突變的使用使得該方法能夠識別即使在非常非線性的問題規則中也能找到全域性最優解。該方法不需要關於資訊分佈的知識。

遺傳演算法的缺點

  • 遺傳演算法需要將資料集對映到其中屬性具有離散值以便遺傳演算法能夠使用。這通常是可能的,但在處理連續變數時可能會丟失大量詳細資訊。

  • 將資訊編碼成類別形式可能會無意中導致記錄中的偏差。

  • 還可以檢查可以使用遺傳演算法考慮的資料集的大小。

  • 對於非常大的資料集,取樣將是必要的,這會導致在相同資料集上進行多次執行時出現多種結果。

更新於:2021年11月22日

351 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告