分享

芬蘭國民AI-4.3Regression


在regression這個章節開始之前,我們先來釐清classification與regression:classification適用在可下文字內容的標籤,預測分類,linear regression適用在數字的預測,產出是數值,例如價格、距離、票房營收等。
用雜貨採購來了解linear regression到店你買的2kg馬鈴薯、1kg紅蘿蔔、2瓶牛奶,單價分別是2元/kg、4元/kg、3元/瓶,總計金額是15元(output),在這個linear regression中,數量待輸入(input),總計金額是數量和單價決定。在以上例子中,單價是coefficients或weights,linear regression是很直觀的,另外一個例子,以預期壽命為例,抽菸被認為是負的weights,可以解釋為每抽一根菸就會減少幾天的生命,導致預期壽命減少,而蔬菜攝取量被認為是正的weights,每天都吃青菜可讓預期壽命高於平均。
繼續以上的例子,在真實世界更加困難,實際上單價很可能是浮動的,即使我們知道總計金額(output),卻還是不能確定數量,我們無法確定納入所有的fnput,有太多不確定性或砸英都會干擾output的預測,使得output正確性受限。19世紀時已經解決為了使預測值和實際值接近,使用了找出 weights的演算法,不過這裡並不會討論這個演算法(例如classical least squares technique),我們接下來可以從練習了解(感覺)這段解決問題的過程。
再一個例子,員工每天可以寫出的code當作output,認為這可能與他們每天喝多少咖啡有關係,但可能還有許多咖啡之外的因素影響他們的output,只用咖啡來估算output很可能與實際值發生蠻大的偏差。把這些畫成散佈圖,這些點之間可以有一條線是關係或趨勢,從這條線可以看出關聯性,肉眼能得到概略的關聯性(the coefficient, or the weight),如每一杯咖啡可以使code可以使員工多生5行code,或者發現每天平均2杯咖啡可以產出20行code,如果喝到4杯可以產出30行。由圖中還可以發現,不喝咖啡的員工還會生出code,在圖上可以看到截距,就像前面預期壽命算是中也會有平均壽命當作截距。
linear regression在機器學習上的應用
  • 預測線上廣告點擊率
  • 預測零售需求
  • 預測電影票房
  • 預測軟體成本
  • 預測保險成本
  • 預測犯罪率
  • 預測房地產價格
是否能用regression來預測標籤?以可解釋性比較,regression的預測數值較預測標籤佳,regression較能夠解釋因素之間的關係,另外,我們也嘗試用Logistic regression來解決預測標籤通常很難解釋的這個問題。簡單地說,當regression得出數值,再用數字對應到的範圍做分類,譬如大於0貼上A標籤,小於等於0貼上B標籤;Logistic regression也常拿來表示不確定的程度,假如現在想預測的是消費者是否會在今年買手機,A客戶買的機率為90%,但較難預測的客戶,可能推測出不買手機的機率為55%(也就是買的機率45%),這比YES/NO答案更適合拿來應用在現實場景。
the nearest neighbor method、linear regression與logistic regression是機器學習的主要工具,除此之外還有許多種工具,但我們只要記得:這些都是為了從資料中提煉模式,或是更好地理解一個現象,讓未來能夠有更好的預測。雖然不常找到機器學習的完美方法,但不完美的方法也比什麼都沒有來得好,有時候用機器學習來得到預測結果,不只是因為更好,另外一個重要原因是因為可以更快,而且AI可以不斷理出偏好(或模式)的改變而不會累。
有些因素阻礙了我們得到更好的預測結果:
  • 辨認寫得很潦草的字跡,人和機器都難以辨認。
  • 有些方法處理特定任務時,表現較佳,對其他任務的表現就沒那麼好。
  • 訓練資料量受限,不一定可以得到一個很好的分類器(classifier)。
  • 資料品質。(訓練資料裡要有足夠多的訊息量,譬如給很多圖片去分辨圖上是貓或狗,但這個任務也只會分辨貓和狗)
分類:學習

評論
上一篇
  • 下一篇
  • 更多文章
    載入中... 沒有更多了