文章目錄
-
- 什麼是機器學習?
- 機器學習的應用場景
- 實作機器學習的基本架構
- 機器學習的類别
-
- 監督式學習(Supervised Learning)
- 無監督式學習(Unsupervised Learning)
- 半監督式學習(Semi-supervised Learning)
- 強化學習(Reinforcement Learning)
- 學習方式的應用
- 什麼是回歸分析 (Regression Analysis) ?
- 線性回歸介紹
- 線性回歸問題求解
- 梯度下降法求解線性回歸
什麼是機器學習?
機器學習是一種實作人工智能的方法,從資料中尋找規律、建立關系,根據建立的關系去解決問題,從資料中進行經驗學習,實作自我優化與更新。
維基百科給出的定義:
- 機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特别是如何在經驗學習中改善具體算法的性能
- 機器學習是對能通過經驗自動改進的計算機算法的研究
- 機器學習是用資料或以往的經驗,以此優化計算機程式的性能标準
一種經常引用的英文定義是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
機器學習的應用場景
- 資料挖掘
- 計算機視覺
- 自然語言處理
- 證券分析
- 股票漲跌預測
- 電影票房預測
- 醫學診斷
- 機器人
- DNA測序
- ……
與人工智能比較,我們可以看到人工智能的主要應用場景也都是機器學習的應用場景,這就印證了之前所說,機器學習是實作人工智能的主流方法。
實作機器學習的基本架構
将訓練資料輸入到計算機,計算機自動求解資料關系,在新的資料上做出預測或給出建議。
機器學習的類别
監督式學習(Supervised Learning)
——訓練資料包括正确的結果(标簽-label)
對于監督式學習,我們在一開始給出的資料中就已經告訴計算機正确的結果标簽:紅色的圓對應類别1,藍色的叉對應類别2,綠色的星對應類别3。根據該結果,監督式學習就會自動地找出資料的邊界(圖中虛線部分),以後計算機再得到新的資料,不知道其是圓,叉或者星時,就會根據其所在的位置,自動将其劃分為對應的類别。
監督式學習包含
- 線性回歸
- 邏輯回歸
- 決策樹
- 神經網絡、卷積神經網絡、循環神經網絡
- ……
無監督式學習(Unsupervised Learning)
——訓練資料不包括正确的結果
對于無監督式學習,我們在一開始給出的資料中沒有告訴計算機正确的結果标簽,隻是要求計算機将資料分成3類,這樣處理資料時就找不出資料的邊界,但是卻能根據要求,将比較接近的資料劃分為一類,最終将所有資料分為3類。當得到新的資料後,将根據其與3類資料的接近程度自動劃分為其中一種。
無監督式學習包含
- 聚類算法
半監督式學習(Semi-supervised Learning)
——訓練資料包括少量正确的結果
對于半監督學習,給出的标簽資料相對較少一些,但也能根據這些标簽資料找到資料的邊界,将新資料劃分為其中一種。
強化學習(Reinforcement Learning)
——根據每次結果收獲的獎懲進行學習,實作優化
舉個例子,假設有個行走的機器人,它的前面有一面牆,直走的話會撞上去,機器人嘗試不同的走法,如上圖的行走政策,第一種通過了這面牆為GOOD,第二種撞上了這面牆為BAD
程式設計時設立獎懲規則,通過+3分,失敗-3分,規定機器人行走優化條件是分數越高越好,讓程式自動尋找獲得高分的方法。
學習方式的應用
什麼是回歸分析 (Regression Analysis) ?
回歸分析是根據資料,确定兩種或兩種以上變量間互相依賴的定量關系
函數表達式:
回歸分析的種類:
下邊将具體講解線性回歸技術
線性回歸介紹
回歸分析中,變量與因變量存線上性關系
函數表達式:y = ax + b
線性回歸問題求解
建立模型的步驟:
- 确定P、A間的定量關系
- 根據關系預測合理價格
- 做出判斷
将表中資料用散點圖表示出來
具有線性關系,建立線性模型:y = ax + b
現在我們隻需要找到合适的a和b,就能解決問題
途徑:假設x為變量,y為對應結果,y’為模型輸出結果,目标變為:y’盡可能接近y,如下圖(m為樣本數)
因為後邊要求導,為了約掉求導後得到的2m,這裡除以2m,變為:
即為該模型的損失函數J,其值越小越好
可以看出J的值是與a、b有關的,那如何找到這個極小值呢?
梯度下降法求解線性回歸
可以用梯度下降法進行求解,梯度下降法是尋找極小值的一種方法,通過向函數上目前點對應梯度(或者是近似梯度)的規定步長距離點進行疊代搜尋,直到在極小點收斂。
應用此方法求損失函數J的極小值時,首先建立臨時變量temp_a和temp_b,然後重複計算直到收斂,此時a與b的值就是要尋求的值
由此得到了線性模型的表達式:y = ax + b
将單因子變量x的值代入就能得到對應的因變量預測值,最後對預測結果做出判斷。