[閒聊] 彩號模型
這個是我最近要用 ASP 做的東西,大致講一下。
首先,我們已經有 n+1 組的開獎號碼,假設第 n+1 組號碼
跟前面 n 組是有關連的,那我們就可以用這 n 組號碼當做
類神經網路的「輸入」,把第 n+1 組號碼當做「期望輸出」
則第一步就是對輸入及輸出做「標準化」,一般是把號碼標
準化到 0~1 之間。(例如獎號 3 -> 3/49 = 0.0612)
接著,我們就需要權重向量 W,用來跟輸入向量相乘,得到
「實際值」。通常權重向量最初是用 random 產生,並令其
各值介於 0~1 之間。通常 W 是 1xn 的向量。
那權重向量跟輸入向量相乘後,會得到「實際輸出」向量,
而實際輸出跟期望輸出之間是有落差的,對這個落差做特殊
的計算得到如下的值..
1 __ 2
E = --- x > (實際值i - 期望值i)
2  ̄
而 W 的調整就可以依照底下的公式來算...
W = W - 學習速率 x E,學習速率一般選 <1 的值即可。
然後因為 E 恆正,輸入跟期望輸出也恆正,所以 W 裡面的
每一個元素也會越來越小,則乘出來的實際輸出每經過一次
上面的計算後也會越來越小,循環之後每一次的 E 也就越小
, 因此這裡可以設定一個終止誤差值,例如 0.0001,只要
E 算出來小於 0.0001 即終止計算。
這時得出的 W 就是我們要的權重向量。
那實際上,其實還會配發一組「偏權值向量bias」,以上面
為例它類似 W x X = Y,然後藉 Y 與 Y' 之間的誤差來調
整權重 W。加上偏權值的做法則類似 W x X + B = Y,然後
同樣藉由 Y 與 Y' 之間的誤差,同時調整 W 及 B 向量。
它的好處就是不會讓 X 與 Y 之間的「線性」過於明顯,也
就是說實際上你不可能由前面 n 組號碼得出準確的第 n+1
組號碼(不然人人都是大富翁了),我們需要一些非線性的因
素,這即是偏權值的作用。
威力彩從年初開到現在剛好 60 組號碼,那麼理論上我們就
可以取 59 組號碼來當輸入,把第 60 組來當輸出。
另一種做法就是從 60 組裡每 10 組 10 組地依序取出,比
方第一次取 1-10 組,第二次取 2-11 組,... 然後也依序
以第 11,12,13,... 組號碼來當做期望輸出,然後其訓練的
方法就是以這 60-10 群號碼(每群10組)來做訓練這樣,這樣
就可以得到 50 群的輸入。
這兩種號碼各有優缺點。
總之做法很多,因此它的重點在於你怎麼定義你的「輸入及
輸出」,以及你所選用的「類神經網路模型」。我自己在過
去思考論文的過程中有想到一種做法叫做「主管決策模式」
,這次剛好 ASP 也很熟了(不然應該用 matlab..但忘光了)
,拿來寫這模型就剛好。
不用聖殿寫的原因則是因為..
1.假設需遞迴 1000 次以上,聖殿會 crash。
2.需要用到很多的小數,用聖殿的 code 寫很麻煩。
總之這次的目標就是建構威力彩彩號預測模型。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章