← 返回方法與文章

方法論 · 機器學習

LSTM 與馬可夫鏈能預測樂透嗎?

作者:Simon Wu · 更新:2026-06-30 · 閱讀約 9 分鐘

「用 AI 預測樂透」聽起來很厲害。我們沒有停在嘴上——而是真的用 numpy 從零手刻了一個 LSTM 神經網路、建了一階馬可夫鏈,做了梯度檢查確保實作正確,再用嚴格的 walk-forward 回測它們的表現。 這篇文章帶你看模型怎麼運作,以及最後誠實的結論。

馬可夫鏈:用「狀態轉移」描述每個號碼

馬可夫鏈的核心假設是:下一個狀態只取決於目前狀態。我們把每個號碼看成一個有兩種狀態的小系統—— 「這期有開(1)」或「沒開(0)」——然後從歷史資料統計它的轉移機率:

我們用 Laplace 平滑避免某些轉移因為樣本太少而失真,再根據每個號碼「目前的狀態」算出它下期出現的 分數,分數高的視為候選。直覺上,這能捕捉「連莊」或「冷回補」之類的型態——如果它們真的存在的話。

LSTM:能記住長期型態的神經網路

LSTM(長短期記憶網路)是專門處理序列資料的神經網路,靠「遺忘門、輸入門、輸出門」決定要記住或丟掉 哪些歷史資訊,理論上能捕捉比馬可夫鏈更長、更複雜的時間相依。我們的實作細節:

梯度檢查這一步很關鍵——它確保「模型表現不好」不是因為我們寫錯程式,而是真的學不到東西。先排除 bug,結論才有意義。

怎麼放進線上系統?離線訓練 + 前向推論

線上的 Edge Function 不適合即時訓練神經網路,所以我們採「離線訓練、線上推論」:用腳本離線把各 彩種的 LSTM 權重訓練好、匯出成權重檔,線上只做輕量的前向計算得到分數。這也讓整個流程可重現、 可定期重訓。

回測結果:和隨機沒有顯著差異

重點來了。我們用 walk-forward(每次只用過去資料、不偷看未來)回測這兩個模型,並和隨機基準 k/N 比較。以今彩539(基準 12.82%)為例,LSTM 與馬可夫鏈的每號命中率都落在基準附近的雜訊範圍內, 沒有任何一個能穩定、顯著地勝過隨機。在大樂透與威力彩上,結論相同。

換句話說:模型實作是對的(梯度檢查通過)、訓練是收斂的、回測是公平的——而它依然贏不過亂猜。

為什麼強大的 AI 也沒用?

因為機器學習的前提是「資料裡有可學習的結構」。LSTM 能在語言、股價節律、感測器訊號裡找到型態, 是因為那些資料有時間相依。但公正的樂透開獎是獨立同分布的, 過去與未來的互資訊為零——裡面根本沒有結構可學。再深的網路,面對純雜訊也只能 學到雜訊。模型容量大反而更容易「過擬合」歷史的巧合,在新資料上現出原形。

那我們為什麼還留著它?

因為這是專案誠實定位的一部分:預測照做、號碼照出,但準確度由回測數字說了算。 我們把 LSTM 與馬可夫鏈的分數,連同頻率統計,一起融進「穩健平衡」 的選號裡——不是因為它們能提高中獎機率(不能),而是因為它們提供了一種有條理、可重現的方式去 鋪排號碼結構。我們在 UI 與文案上一律標明:三法回測均 ≈ 隨機、不保證命中。

想看程式?本專案的 scripts/ml_simulation.py(LSTM + 馬可夫 + 回測)與 export_lstm_weights.py(離線訓練匯出權重)就是這篇文章的實作。歡迎自行重現、自行 驗證。樂透為隨機事件,AI 不會改變這件事。

下一篇:什麼是「穩健平衡」選號?原理與限制 →