人工智慧,神經網路演算法,機器學習,深度學習三者關係
對於很多初入學習人工智慧的學習者來說,對人工智慧、機器學習、深度學習的概念和區別還不是很瞭解,有可能你每天都能聽到這個概念,也經常提這個概念,但是你真的懂它們之間的關係嗎?那麼接下來就給大家從概念和特點上進行闡述。先看下三者的關係。
人工智慧包括了機器學習和深度學習,機器學習包括了深度學習,他們是子類和父類的關係。
下面這張圖則更加細分。
2、什麼是人工智慧
人工智慧(ArtificialIntelligence),英文縮寫為AI。是電腦科學的一個分支。人工智慧是對人的意識、思維的資訊過程的模擬。人工智慧不是人的智慧,但能像人那樣思考、也可能超過人的智慧。數學常被認為是多種學科的基礎科學,數學也進入語言、思維領域,人工智慧學科也必須借用數學工具。
人工智慧實際應用:機器視覺,指紋識別,人臉識別,視網膜識別,虹膜識別,掌紋識別,專家系統,自動規劃,智慧搜尋,定理證明,博弈,自動程式設計,智慧控制,機器人學,語言和影象理解,遺傳程式設計等。人工智慧目前也分為:強人工智慧(BOTTOM-UPAI)和弱人工智慧(TOP-DOWNAI),有興趣大家可以自行檢視下區別。
3、什麼是機器學習
機器學習(MachineLearning,ML),是人工智慧的核心,屬於人工智慧的一個分支。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的演算法。機器學習演算法是一類從資料中自動分析獲得規律,並利用規律對未知資料進行預測的演算法。所以機器學習的核心就是資料,演算法(模型),算力(計算機運算能力)。機器學習應用領域十分廣泛,例如:資料探勘、資料分類、計算機視覺、自然語言處理(NLP)、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略遊戲和機器人運用等。
機器學習就是設計一個演算法模型來處理資料,輸出我們想要的結果,我們可以針對演算法模型進行不斷的調優,形成更準確的資料處理能力。但這種學習不會讓機器產生意識。
機器學習的工作方式
選擇資料:將你的資料分成三組:訓練資料、驗證資料和測試資料。
模型資料:使用訓練資料來構建使用相關特徵的模型。
驗證模型:使用你的驗證資料接入你的模型。
測試模型:使用你的測試資料檢查被驗證的模型的表現。
使用模型:使用完全訓練好的模型在新資料上做預測。
調優模型:使用更多資料、不同的特徵或調整過的引數來提升演算法的效能表現。
機器學習的分類
基於學習策略的分類
1、機械學習(Rotelearning)
2、示教學習(Learningfrominstruction或Learningbybeingtold)
3、演繹學習(Learningbydeduction)
4、類比學習(Learningbyanalogy)
5、基於解釋的學習(Explanation-basedlearning,EBL)
6、歸納學習(Learningfrominduction)
基於所獲取知識的表示形式分類
1、代數表示式引數
2、決策樹
3、形式文法
4、產生式規則
5、形式邏輯表示式
6、圖和網路
7、框架和模式(schema)
8、計算機程式和其它的過程編碼
9、神經網路
10、多種表示形式的組合
綜合分類
1、經驗性歸納學習(empiricalinductivelearning)
2、分析學習(analyticlearning)
3、類比學習
4、遺傳演算法(geneticalgorithm)
5、聯接學習
6、增強學習(reinforcementlearning)
學習形式分類
1、監督學習(supervisedlearning)
2、非監督學習(unsupervisedlearning)
注:細分的話還有半監督學習和強化學習。當然,後面的深度學習也有監督學習、半監督學習和非監督學習的區分。
4、機器學習之監督學習
監督學習(SupervisedLearning)是指利用一組已知類別的樣本調整分類器的引數,使其達到所要求效能的過程,也稱為監督訓練或有教師學習。也就是我們輸入的資料是有標籤的樣本資料(有一個明確的標識或結果、分類)。例如我們輸入了50000套房子的資料,這些資料都具有房價這個屬性標籤。
監督學習就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到一個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的)。再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的。就像我輸入了一個人的資訊,他是有性別屬性的。我們輸入我們的模型後,我們就明確的知道了輸出的結果,也可以驗證模型的對錯。
舉個例子,我們從小並不知道什麼是手機、電視、鳥、豬,那麼這些東西就是輸入資料,而家長會根據他的經驗指點告訴我們哪些是手機、電視、鳥、豬。這就是通過模型判斷分類。當我們掌握了這些資料分類模型,我們就可以對這些資料進行自己的判斷和分類了。
在監督式學習下,輸入資料被稱為“訓練資料”,每組訓練資料有一個明確的標識或結果,如對防垃圾郵件系統中“垃圾郵件”“非垃圾郵件”,對手寫數字識別中的“1“,”2“,”3“,”4“等。在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練資料”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。
監督式學習的常見應用場景如分類問題和迴歸問題。常見監督式學習演算法有決策樹(ID3,C4.5演算法等),樸素貝葉斯分類器,最小二乘法,邏輯迴歸(LogisticRegression),支援向量機(SVM),K最近鄰演算法(KNN,K-NearestNeighbor),線性迴歸(LR,LinearRegreesion),人工神經網路(ANN,ArtificialNeuralNetwork),整合學習以及反向傳遞神經網路(BackPropagationNeuralNetwork)等等。
下圖是幾種監督式學習演算法的比較:
5、機器學習之非監督學習
非監督學習(UnsupervisedLearing)是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。是否有監督(Supervised),就看輸入資料是否有標籤(Label)。輸入資料有標籤(即資料有標識分類),則為有監督學習,沒標籤則為無監督學習(非監督學習)。在很多實際應用中,並沒有大量的標識資料進行使用,並且標識資料需要大量的人工工作量,非常困難。我們就需要非監督學習根據資料的相似度,特徵及相關聯絡進行模糊判斷分類。
6、機器學習之半監督學習
半監督學習(Semi-supervisedLearning)是有標籤資料的標籤不是確定的,類似於:肯定不是某某某,很可能是某某某。是監督學習與無監督學習相結合的一種學習方法。半監督學習使用大量的未標記資料,以及同時使用標記資料,來進行模式識別工作。當使用半監督學習時,將會要求儘量少的人員來從事工作,同時,又能夠帶來比較高的準確性。
在此學習方式下,輸入資料部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是模型首先需要學習資料的內在結構以便合理的組織資料來進行預測。半監督學習有兩個樣本集,一個有標記,一個沒有標記。分別記作Lable={(xi,yi)},Unlabled={(xi)},並且數量,L<<U。
注:
單獨使用有標記樣本,我們能夠生成有監督分類演算法
單獨使用無標記樣本,我們能夠生成無監督聚類演算法
兩者都使用,我們希望在1中加入無標記樣本,增強有監督分類的效果;同樣的,我們希望在2中加入有標記樣本,增強無監督聚類的效果
一般而言,半監督學習側重於在有監督的分類演算法中加入無標記樣本來實現半監督分類,也就是在1中加入無標記樣本,增強分類效果。
應用場景包括分類和迴歸,演算法包括一些對常用監督式學習演算法的延伸,這些演算法首先試圖對未標識資料進行建模,在此基礎上再對標識的資料進行預測。如自訓練演算法(self-training)、多視角演算法(Multi-View)、生成模型(EnerativeModels)、圖論推理演算法(GraphInference)或者拉普拉斯支援向量機(LaplacianSVM)等。