一、機器學習和深度學習的介紹
1、定義:
機器學習:是一門多領域交叉學科,涉及概率論、統(tǒng)計學、逼近論、凸分析、算法復雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
深度學習:是機器學習的分支,是一種以人工神經網絡為架構,對數據進行特征學習的算法。
2、區(qū)別
項目 | 特征提取 | 數據量 |
---|---|---|
機器學習 | 人工進行提取 | 效果一般 |
深度學習 | 自動地進行特征抽取,如盲人摸象,將不同特征組合到一起,期望目標是一頭大象 | 效果更好 |
3、場景
深度學習目前更流行,我們玩他。
4、深度學習框架
TensorFlow、PyTorch、MXNet等等,我們這里玩的是PyTorch,沒有為什么,那么多框架,能玩一種就很開心了。
二、神經元和神經網絡的介紹
1、定義:
神經網絡:模仿生物神經網絡,如大腦結構,對函數進行估計或近似。
神經元:生物神經網絡中,每個神經元與其他神經元項鏈,就會向相連的神經元發(fā)送化學物質,從而改變這些神經元內點位。如果電位超過閾值,神經元就會被激活,向其他神經元發(fā)送化學物質。上述情景抽象成簡單模型,就是M-P神經元模型,它是神經網絡的基礎單元。如果他們以不同層次結構連接起來,就得到了一個神經網絡。一個神經元的功能是求得輸入向量與權向量的內積后,經一個非線性傳遞函數得到一個標量結果。
三、感知機和多層神經網絡的介紹
1、定義:
單層神經網絡:是最基本的神經元網絡形式(每一列為一層),所有輸入向量都是同一向量,由于每個神經元都會產生一個標量結果,所以單層神經元的輸出是一個向量,向量的維數等于神經元的數量。
感知機:由兩層神經網絡組成,輸入層接收外界的信號傳遞給輸出層,輸出層是MP-神經元模型。它的作用是把一個n維向量空間用一個超平面分割成兩部分,給定一個閾值,超平面可以判斷出這個向量位于平面的哪一邊。結構分為輸入層(接收大量輸入消息的神經元)、輸出層(輸出神經元鏈接中的分析、權衡后的結果)。
多層神經網絡:單層神經元網絡進行疊加后得到,結果分為輸入層、輸出層、隱藏層(可以有多層,每一層數量不定,但數目越多,非線性越顯著,決定了網絡深度)。
全連接層:第N層和第N-1層中,神經元兩兩之間都有鏈接,可用矩陣乘法來表示輸入的參數數量,進行的是Y = Wx+b
四、激活函數和神經網絡思想
1、定義:
激活函數:感知機能把一個平面分成兩部分,但因為是直線,并不完全能把數據準確分為兩部分。因此需要在感知機的基礎上,加上非線性的激活函數(如SigmoidthnhReLUELUMaxoutLeaky ReLU等等,需要注意范圍),這樣畫的是曲線,可以保證數據分為兩部分,使得結果更準確。作用:增加模型的非線性分割能力(數據分類更準確)、提高模型魯棒性(適應性更強)、緩解梯度消失問題、加速模型收斂(訓練時間更短)等
2、神經網絡思想:
女友判定機,隨著年齡的增長,判定機不斷變化:
15歲:顏值為標準
18歲:顏值、性格為標準
20歲:…
判定機:對不同的標準項進行加權,但還不好量化。于是將顏值分為身高、長相、皮膚等等繼續(xù)加權。類似于一張圖片,最終被分成像素點,不同像素點進行特征提取,最終組合成期望的結果。此時,自動更新了加權值這些參數,使其不斷趨于穩(wěn)定。