【AI 教室】甚麼是監督學習(Supervised Learning)? 像導師手把手教學的機械學習方式

監督學習(Supervised Learning)是一種以導師手把手教學為基礎的學習方法,讓機器能夠從錯誤中學習,並能夠預測新的數據。

監督學習(Supervised Learning)是一種以導師手把手教學為基礎的學習方法,讓機器能夠從錯誤中學習,並能夠預測新的數據。

監督學習在股票交易中的應用

以股票交易作為例子,監督學習就是由世界上最成功的頂級交易員指導機器去學習模仿人類做出分析、預測和決策,例如由提出VCP選股方法的Mark Minervini先標出有VCP形態的股票(標註數據 labelled data),然後讓機器從這些數據裡面找出用以判斷是否VCP形態的特徵(features),從而訓練出一個模型(model)去判斷輸入的股票有沒有VCP形態。這種方法是以模仿人類的做法為主,如果訓練得好,機器就能夠取代頂級的專家,這樣可以節省很多成本(專家的時間很寶貴呢!)。不過,這個方法有一個很大的局限性,就是如果想超越人類頂級交易員很難,因為用來訓練機器的數據也都是人類根據自身認知來標註,就算機器發揮到最好也應該只達到導師的水平,變成人類的能力限制了機器。

股票預測中的監督學習模型訓練過程

在金融領域中,監督學習模型可以應用於預測股票價格、債券價格和匯率,同時也可以用於檢測欺詐和洗錢等問題。以下以股票預測為例,說明監督學習的訓練過程。

首先,需要收集股票市場的歷史數據,包括股票價格、交易量、財務報表等。這些數據可以從金融數據庫、股票交易平台和財務報告中獲取。接下來,需要選擇一種適合的監督學習模型,用於預測股票價格。常見的監督學習模型包括線性回歸(Linear Regression)、決策樹(Decision Tree)、支持向量機(Support Vector Machine,SVM)和神經網絡(Neural Network)等。根據數據的特徵和問題的性質,選擇最合適的模型。

典型的監督學習模型 - 神經網絡

大家經常見到AI用在圖像分類、人臉識別等應用,其中最流行的模型「神經網絡」(Neural Networks),就是典型的監督學習模型。只要準備好一些數據(作為模型輸入,例如股票的價量數據、圖像數據等)和對應的標註(作為模型輸出,例如是否VCP),就可以用一些巧妙的算法,讓神經網絡自動去調節裡面的參數(Parameters),令到模型的輸出盡量接近對應輸入的標註,這樣出來的模型就可以模仿到人類專家做出分類的預測了!

訓練模型的關鍵步驟

想要訓練監督學習的模型,首先選擇合適的模型,然後將數據集分成訓練集(Training Set)和驗證集(Validation Set),就可以開始訓練模型。在機器學習中,驗證集(Validation set)是用來評估模型在訓練期間未曾見過的數據上的表現。當我們訓練一個機器學習模型時,我們會使用訓練數據集來調整模型的參數,使其能夠更好地擬合訓練數據。然而,如果我們只使用訓練數據來評估模型的表現,那麼模型可能會過度擬合(Overfitting)訓練數據,並且在面對新數據時表現不佳。

因此,使用驗證集來評估模型的表現是非常重要的。因此,我們需要將訓練數據集分成兩部分:訓練集和驗證集。模型在訓練期間只看到訓練集,而在每個訓練結束時,我們會使用驗證集來評估模型的表現,以確保模型沒有過度擬合訓練數據。這樣可以幫助我們選擇最佳的模型參數,以避免過度擬合並提高模型在新數據上的泛化能力(Generalization)。泛化能力是指機器學習模型對於未曾見過的數據的適應能力。一個好的機器學習模型應該能夠從訓練數據中學習到一般的規律或模式,並且能夠將這些規律或模式應用到未曾見過的數據中,以進行準確的預測或分類。換句話說,泛化能力是指機器學習模型對於新數據的適應能力,從而確保模型的實用性和可靠性。

選擇合適的驗證集

在實際應用中,選擇合適的驗證集是非常重要的。驗證集應該與訓練集獨立,並且來自相同的數據分佈。這樣可以確保模型在面對新數據時表現良好。驗證集的大小應該足夠大,以確保對模型性能的評估是有意義的。一般來說,驗證集的大小應該為訓練集的10%至30%。在時間序列數據中,驗證集應該從最近的數據中選取,以確保模型能夠從最新的數據中學習並更好地預測未來的數據。在分類問題中,驗證集應該包含各個類別的數據樣本,以確保模型能夠對各個類別都有很好的泛化能力。此外,可以考慮使用交叉驗證(Cross-validation)來更好地評估模型的性能。通過交叉驗證,可以使用多個驗證集來評估模型的性能,從而提高評估的可靠性。

需要注意的是,監督學習模型的準確性取決於數據的質量和數量,以及選擇的模型和算法的適合程度。此外,上面提到的過度擬合(Overfitting)也是一個常見的問題,這意味着模型在訓練數據上表現很好,但在新的數據上表現很差。為了避免過度擬合,還可以使用正則化(Regularization)等技術來限制模型的複雜度。

未來展望

最後,雖然監督學習為機器帶來了模仿人類智慧的能力,但也存在一定的局限性。要真正實現機器的智能,未來的發展方向在於結合監督學習和非監督學習,使機器能夠像人類學習般,既能從有標註的數據中取得知識,也能從沒有明確標註的大量數據中發掘模式。同時,經過不斷的訓練迭代,機器有望逐步突破人類專家的限制,達到真正的超人智能。但前提是我們要為機器提供更加開放的學習環境,允許其主動探索不同的可能性,而不是局限於人類預設的框架。如果能打破這些限制,AI的學習將更具創造力,並為人類社會發展帶來深遠的正面影響。