為什麼我們要以迴歸
分析的方式來建立模型,其他方式可不可以?其實沒有說不行。
然而迴歸(Regression)
是ML入門相對好理解的手段或方法,也不是這個方法的品質和效果就一定比較差,模型的好壞取決於來源的資料和模型的細節,尤其資料
的重要程度,遠遠大於其他因素。
好的資料,假設在某個模型做出來,我們給它評價是80分,換成別的模型或方法去做,大概可能到85分,品質的好壞相差有限,要更好所需投入成本可能卻是指數成長。
但若好的資料,假設做出很差的資料,那絕大的可能是模型弄的部分不好,用到比較適用的函式出來的效果,可能就會大幅躍升。
重點在於資料的品質,太差的資料,即使改用類神經演算法(Deeping learning)去訓練模型,同樣難以取得可期待的結果。
我們先關心資料,再關心模型。
然而還是得稍微了解一下,模型的內容在做什麼,以及訓練出的結果代表的意思,以便知道該調整的是資料還是模型。
若把資料集轉換成一個平面座標,用「點」表示它們分佈的位置,假設這些點的分佈是基於有某種規則,那麼或許我們可以找到一條線,來表示它們的分佈狀況。
所謂的「線」是由無數點所組成,所以它本身意涵數值是連續型的資料,如果這條表示分佈的線可以無限延長,那麼只要你給出一個x,它必定能輸出一個y給你。
根據這條件,我們可以知道x(輸入)和y(輸出)彼此的關係,因此也可以丟入實務上還未出現的x,得到對應的y,得到預期值的目的。
然後事情往往沒那麼簡單,大多時候不容易用直線表示出我們輸入和輸出的關係,可能是需要一個複雜的曲線。
自變數的數量跟維度成正比,簡單講一個變數一個維度,轉換成平面座標是個很理想的作法,但實務上資料多半是多維的組成,一次處理多維難處理,所以我們需要數學轉換,用梯度下降的作法降維度的方式處理。
線的長度可能也沒有無限長,在資料處於某個範圍之下合用,但輸入的參數到了某種數值之外,或許整個模型有可能就不適用。
以上還不是最頭痛的部分。
最重要的部分,資料的分佈要有「規則」,才能訓練出一個模型,也可以說用ML訓練模型,其實是在幫我們找到資料集內隱藏的規則
。
若資料的分佈式自然機率隨機組成,譬如說丟擲一個公正的骰子,想要藉此找出出現的點數有沒有一個模型,或者威力彩開獎的號碼真的是隨機產出,那麼做模型去算下一次開獎號碼,基本上是無稽之談,因為沒有規則,就沒有模型,也就沒有意義。