【1】機器學習概述

機器學習的應用場景,發展歷史什麼的都不再贅述了,這些東西在隨便一本和機器學習有關的書的開頭都能找到。在這就只講理論了。

1.什麼是機器學習

機器學習有很多定義,但是卻沒有一個統一的定義。

一些定義如下:
吳恩達:

Machine Learning is the science of getting computers to act without being
explicitly programmed. Machine learning is a technique of data science that
helps computers learn from existing data in order to forecast future behaviors, outcomes, and trends. -------- Andrew Ng

微軟:

Machine learning is a technique of data science that helps computers learn from existing data in order to forecast future behaviors, outcomes, and trends. ------ Microsoft

Mitchell:

利用經驗來改善計算機系統自身的性能

其他還有很多定義。但是,其核心思想基本上都是從已知的數據裏尋找一些知識來解決未知的問題。

吳恩達的定義說機器學習是一種數據科學的技術,機器學習需要數據來進行學習,但是並非我們蒐集到一堆數據扔給計算機就完事了。我們需要對數據進行加工,設定機器的學習規則(也就是算法),才能讓機器找到解決問題的方法。在某種程度上,機器學習和統計學密不可分,我們可以通過Excel表對一個數據進行各種統計,繪圖,計算,從而得出一些有用的結論,機器學習只不過是我們不再自己做決策,而是告訴機器怎麼找到正確的決策,找的過程讓他自己來。

2.人工智能,機器學習,深度學習的關係

在這裏插入圖片描述人工智能是一個大的概念,非常廣泛,機器學習只是其中的一個領域,機器學習又分爲很多種方法,其中深度學習是連接主義的一個領域,也是近年來發展最火的一個研究熱點。

深度學習的別名其實就是神經網絡。

x乎上經常有人會問:學習深度學習要不要先學習機器學習?

針對這個問題,不同的人有不同的看法,不同專業的人學習ml和dl的目的也不一樣,所以也不太好給出一個具體的建議。
個人覺得,深度學習入門簡單,傳統機器學習入門稍難。因爲傳統的機器學習算法大都需要比較多的數學,而深度學習在入門時需要的數學不是特別多。所以,對於以後沒有打算在這一行業深入研究、而只是因爲一些原因不得不學的人來說,傳統機器學習的很多算法的原理沒那麼重要,瞭解思想即可。而對於那些這個專業或者立志將來從事這一領域工作的人來說,機器學習一定是要學的。
至於開始深度學習之前,是否一定要先看完傳統機器學習,個人感覺大可不必。因爲即使是傳統機器學習內容還是很多的,即使你學了一遍,也不見得完全掌握。可以先了解一些基本算法,也可以學了一點深度學習之後再去學習傳統機器學習,對於理解也是有幫助的。

3.基本術語

  • 樣本 :數據中的一個例子。比如,樣本xi = {d1, d2, …, dn} ,樣本xi由n個特徵描述。一個完整的樣本xi還應有其對應的結果yi,可用(xi,yi)表示一個訓練樣本。
  • 特徵 : 描述樣本的屬性,比如描述一個人,可以用身高,體重,性別,年齡等等。身高,體重,這些就是特徵。
  • 特徵空間(樣本空間,輸入空間):由樣本的特徵張成的空間。特徵空間裏的一個點(一個示例)就是一個樣本。
  • 輸出空間:我們的結果輸出的取值範圍,比如我們區分男女,{男,女}就是輸出空間。
  • training set(訓練集):機器用來學習的樣本集合。
  • validation set(驗證集)在機器的學習過程中,用來指導其學習的樣本集合。相對於,機器學習一遍,給他打一個分,讓他知道自己的努力結果。
  • test set(測試集):用來測試機器學習效果好壞的集合。

還有很多知識點,一開始可能不太理解,隨着學習的過程,慢慢就會自動明白了。

訓練集,驗證集,測試集的關係:
訓練集是用來訓練算法的,驗證集是訓練過程中對算法進行評估的,測試集是最終算法要解決的問題,我們希望算法能夠在測試集上表現非常好。但是,驗證集和測試集有時候並不做區分,也就是,沒有驗證集也可以,只要訓練集和測試集。

舉個例子:你是一個老師,小明要參加高考(假設滿分100),你給他出1000道題讓他練習,這1000道題就是訓練集,小明把這1000道題寫了一遍,你想知道他學的怎麼樣,你出了100道題考他,這100道題當然不是那1000道題裏有的。這100道題就是驗證集。結果小明才考了20分,這還差得遠呢,於是你又讓他繼續做一遍1000道題,之後,再拿100道考他,結果,考了40分,還是不夠,讓他繼續寫。直到有一次,他考了95分,你覺得差不多了。讓他去參加高考,高考出的題又是不同的,可能都不是原題,然後他考了80分,還不錯。高考的題就是測試集

但是,如果你不想每次小明做完1000道題就給他來一個測試,而是一直讓他反覆做那1000道題,你可能會發現這1000道題他做的越來越好,但是你不知道他遇到新題會怎麼樣,不過你也不一定關心這個,到了高考,考多少你就知道他複習的怎麼樣了。這種情況就沒有驗證集,或者說驗證集和測試集是同一個。


4.機器學習三要素

  • 模型:解決具體任務所要使用的某一個基礎模型
  • 策略:獲得最優模型的準則。也即評價模型好壞的指標,通過減小指標,就達到優化模型的目的,神經網絡中就是損失函數。
  • 算法:優化模型的方法。神經網絡中可以選擇不同的梯度下降方法。

任何一個機器學習的完整模型都是由這三部分組成,確定一個初始的模型,這個模型可能效果很差,但是有多差必須要有一個評價的指標,可以是預測的結果和實際的結果的區別等等,知道了誤差,就是改怎麼去優化模型了。不同的教材或者老師可能對這三要素的叫法不同

5.學習的任務

  • 迴歸
  • 分類
  • 聚類
  • 強化學習
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章