2017年4月11日 星期二

50+50>100+0

大學時選修普通話課程,赫然發現班裡竟有兩名本來就是說普通話的大陸交換生也來“呃學分”,學期尾考試時證實了果然是“不公平競爭”,試卷很大部份內容是要求把“瞓嚟頸”這類廣東話用語用轉為普通話,連題目都搞不懂的交換生,眾望所歸地包辦了倒數一二名。

後來有一次看新聞,對於社會上批評香港大學生英文水平越來越低的論調,當時有一位大學校長挺身而出為學生辯護,認為語文作為溝通與交流的工具,不能單用英文科的分數來衡量,英文100分能力而中文0分能力的人,和中英文都是50分能力的人,雖然總分都是100分,但肯定是後者的綜合能力較高,因為前者可作溝通交流的範圍要狹窄得多。

對於這種說法,池某的理解是,如果一件事情需要兩門或以上的知識去完成,那麼,要達致最佳效益,不是偏重於某一門知識,也不是看加起來的總分,而是要看所需的多種知識的geometric mean,偏差嚴重的長短腳,走不快也走不穩。

據說,在民國年代,大學的入學試有類似“三角幾何三角,三角三角,幾何幾何”這樣的題目,看得懂的認為是送分,看不懂的罵不絕口。是難是易,正是在於理解的偏差。

最近收到不少blog友的email,詢及賽馬統計模型問題,池某已盡自己所能回覆,但有些技術問題確實是超出了池某的理解能力,池某只能是知之為知之,不知為不知,不會也沒必要扮無所不知的專家,未能回答的,請見諒。

譬如,有IT高手認為,可運用其高超的IT技術,以AI取代人手砌模型,像AlphaGo那樣,不斷自我學習、優化,最終將砌出完美無敵的模型。哇!AI,Artificial Intelligence,人工智能,池某呢個IT白痴識條鐵咩。

問題是AI如何憑空學習?據池某所知,AlphaGo也不是從零開始的,AlphaGo團隊裡的黃士傑博士,本來就是圍棋6段高手,即使是AI,也要先有了基礎,才能透過學習去優化、改良。那麼賽馬統計模型的基礎是什麼?當然就是賽馬知識和database了。

問題又來了,如果本身就有賽馬知識也有可用的database,用統計軟件做一次regression就能得到所需的參數了。賽馬模型和圍棋不一樣,圍棋每下一步都有新的、接近無限的可能和變化,故AI大有用武之地;賽馬模型則是越穩定越好,固定下來就很少變化,無所事事了。砌模型這種殺隻雞般的小事情,不斷舞動AI這把牛刀又有何效益呢?

從blog友們的來信來看,這種企圖發揮一技之長以取代其他知識,強行解決問題的思維不在少數。其中最多的傳統的賭馬高手,認為自己眼光獨到、命中率高,希望能掌握一些簡單的數學方法,每場剔除幾匹機會率低的馬匹,就能保持長線盈利云云。這樣的問題同樣令池某難以回答。我們使用統計模型代替主觀決策,就是因為承認自己眼光差,對機率的估算不是高估就是低估。若眼光好、命中率高,何必用程式制肘自己的發揮?

賭馬是一個系統工程,系統工程就是對多種知識和方法的有效整合,若如上述所言,整合的效益最大化就是各種知識geometric mean的最大化,顯然,補短比取長更重要。


46 則留言:

  1. 謝謝池兄的好分享!好的知識,自然會geometrically works for you。

    但學壞師兼學壞知識,就好似隻冇及時止蝕的衰股咁~geometrically works against you!

    回覆刪除
    回覆
    1. 知識本身應該沒有很明顯的好壞之分,反而能否有效地用得其所是關鍵。有否學壞師應是經過思考使用還是依據教條使用的分別,個個將軍都話熟讀孫子兵法去打仗,當然不能以誰贏誰輸來斷定孫子兵法裡知識的好壞。

      刪除
  2. Geometric mean 即是通識, 即是明理. 有如獨孤九劍, 要對各樣武功有掌握, 才可以綜合成為一套武功, 再由入繁入簡, 融會貫通之後就可以忘掉之前的「model」. 獨孤求敗雖是小說家言,但金大俠卻藉此角色講出了學習、成長的道理.

    回覆刪除
    回覆
    1. 呵呵。即係要好似魔師兄咁,先來個周身刀,是否張張利就係下一步的追求。

      刪除
    2. 哈哈,若是金庸的知識論,我反而最喜歡冷門的"別人學乾坤大挪移第一層要六年,張無忌兩嘢學完"一幕。

      原著對此幕原理語焉不詳,我見過的所有改編更是含混其詞。其實金庸應該只是想表達"只要底層基本功深厚,不同範疇的知識都是一理通百理明".

      刪除
    3. 或者係因為「悟性」夠高呢。

      刪除
  3. 樣樣都識, 呢個年代絕不容易, 現在的人講效率, 講specialization. 醫生只識醫院內的東西, 教授只懂自己的專業項目,.. 各行的人交流愈來愈少. 教育也大有問題, 講求一致性的標準答案model answer, 而不是講找出問題, 如何去個人思考的能力.

    回覆刪除
    回覆
    1. 越來越來專注自己的長處而回避自己的短處似乎是人性,諸如大陸人來香港讀普通話,中國人去外國讀中文並非孤立事件,都是那種要躲在自己的所謂能力圈內找滿足感而害怕涉足圈外世界的心理作祟。

      刪除
    2. 我覺得好多呢類人只是以為自己是由九陽神功轉去乾坤大挪移的張無忌,真實卻是從頭再學九陽神功一篇而已。類似的知識轉換,若論語言範疇,起碼是母語西班牙語去學葡萄牙語(或vice versa)吧?

      刪除
    3. 反而覺得這類人根本是抗拒學習新知識。

      刪除
  4. 就似砌個真模型一樣,邊樣技能學到恰到好處就可以了。專叻某一樣又係度指指點點0既,工作上見過好多。
    有時心裏暗寸"不如你黎試下做丫",這個時候,專精某一範疇0既,反而成為了外行人。

    回覆刪除
    回覆
    1. 池某個模型都係「真」架。哈哈。

      刪除
    2. 其實樣樣識D是好的,但要有ㄧ辦知識要Pro,就似砌模型,programming+statistics+賽馬知識+無限的想像空間

      刪除
    3. 先雜後精,先博後深,較有利一步一步解決問題,反之寸步難行。

      刪除
    4. 正了解自己易被主觀影響才請教池先生程式賭馬,想學賭馬卻因池先生一句:統計學,跑去看書上網。(小聲:池先生何時過點真氣來,直接給貼士更好)

      刪除
    5. 呵呵。如果開閘前就能確定買哪匹馬,又何需做寫app、勾即時賠率、two step model這些繁複的工序呢?貼士就是,決定勝敗的時機,在於開閘一刻變招的瞬間。

      刪除
  5. 最近嘗試寫緊賭錢algo,
    其實所謂algo,是很多複合rule去決定如何賭;但這些參數是 本少爺去setting,不是algo去設計這些rule,這根本不是人工智能,只是個超級計數機,用GPU暴力輾壓對手。

    Algo更不知道這些參數的因果關係,如本少爺年齡 上升 及 道指 長期上升 計算上有線性關係,這些白痴參數拿來賭錢,輸死都未天光。

    還有發生次數少 而 重要 的事,Algo是搞唔掂的。

    回覆刪除
    回覆
    1. 聽起來是很強悍的工具,可否講多些背後原理?

      刪除
    2. 很多人對人工智慧有誤解,

      例如 AI從圖片認一隻貓,AI要看一萬張貓的圖片,才可以歸納出貓的特徵。一個三歲小朋友,看一張圖片,教他一次就行。基本上現在的電腦,在部分層面上連三歲小朋友也不如。

      所以一些樣本數不足的情況,Algo是沒法處理。

      Algo在google 強大的伺服器下,閱讀以億計的棋譜,歸納出贏棋方式,就是我講的暴力輾壓。Algo只適合做天量海據分析,是超級的計算機。一個協助角色

      但背後的rule,即是如何歸納事物的原理,是靠我們去設定的,即使google 的AI也是用google 設定的公式去運算。

      從不例外,因此現在的Algo說不上是真正的智慧。

      刪除
    3. 所以,人有多強,Algo有多強,就是這樣簡單

      刪除
    4. 哦。所見略同。「智能」離不開「人工」。

      刪除
    5. 小弟認為相比起Deep Blue時以brute force 的手法已經係好大進歩

      刪除
    6. Brute force 理論上可行,但個space 大到令現實中不可成事。

      刪除
    7. cpu有多快,就有多暴力。

      刪除
  6. 哈哈木桶效應,你嘅實力唔係取決於再利嘅刀,而係取決於最鈍嘅刀

    回覆刪除
    回覆
    1. 有專用名詞架?又形容得幾貼切。

      刪除
  7. 博主,你好,有一个问题想请教。我在做two-step model的时候遇到了一个问题,就是combined model的R-square会比公众赔率的R-square还要低,请问你有遇到过这种情况吗?

    回覆刪除
    回覆
    1. 抱歉。離港度假數日,今天才覆。
      如果本身1 step的R-square低,combined model的R-square自然也會比公眾賠率的R-square低。

      刪除
    2. 池兄,請問如何介定 Exp(B) 是否過大?

      刪除
    3. 呢樣真係冇一個明確的指標,只能跟一些大路的factor比較相對而言,如果本身的Parameter Estimate有正又有負,就更難確定了。

      刪除
  8. 池兄文章好有啟發性,森而理解係一個人能力有限,最終需要合作伙伴才能發揮所長,單單熟讀投資金句唔夠,還要加上數學、IT等專才先能夠大勝。

    回覆刪除
    回覆
    1. 對,總括來說是要補強短板,個人和團體都是一樣。

      刪除
  9. 哈哈,係咪有好多朋友想用neural network?

    回覆刪除
  10. 請問池兄通常開賽前幾耐就下注 ?
    駛唔駛等到最後一刻 ?

    回覆刪除
    回覆
    1. 聽到最後一兩匹馬入閘時下注。

      刪除
    2. 咁如果下注左之後
      閘前有熱門退出
      賠率變動唔小
      會唔會買過 ?

      刪除
    3. 會同之前的注碼比較,有差別的話就補返差額。

      刪除
  11. ICIC
    多謝池兄解答 !

    回覆刪除
  12. 請問如果用multi kelly 計出來幾隻馬例如分別可買7000 8000 9000元。。。如考慮買10000元可有10%回扣應如何調整?直接把賠率加大10%令計出來的注碼變成過萬元嗎?

    回覆刪除
    回覆
    1. 在計算上,回扣的實際意義並不是直接把賠率加大10%,而是把f = (r/e-1)/(r-1)變成f = ((r-0.1)/e-0.9)/(0.9*(r-1));當然直接把賠率加大10%會令計算簡單方便很多,這樣造成的偏差有多大池某也不清楚,如果偏差不大應是可接受的,現實中啡綠格的影響可能更大。

      刪除
  13. R是回報率(扣除本金),e是勝率 嗎?

    回覆刪除
    回覆
    1. r是real odds,e是expected odds。

      刪除
  14. 池兄:記得你講一過你需要的數據都在HKJC綱站找到。想請問你是用Program自動做parsing,還是有直接找到對應的xml...?

    回覆刪除
    回覆
    1. 最初的資料係Copy and Paste然後寫program提取自己需要的部份,之後的是每個賽日update。

      刪除