機器學習與神經網絡概念學習

神經網絡是進行機器學習的方式之一,也是目前使用最廣泛的方式。
機器學習的目的是根據已有的數據來預測未知的結果。
通過已有的數據建立模型,在模型下進行預測,模型的可靠性決定預測結果的準確率。

如何建立更優的模型,是機器學習主要關注的問題。
神經網絡模擬人腦處理數據的過程,將數據作爲輸入,每一層對數據的處理類比爲神經元之間信息的加工傳遞。

當使用機器學習來解決具體任務時,機器並不瞭解原始數據的哪幾項特徵對於預測有效。一般需要對數據預處理,將干擾信息除去;提取有效特徵;對特徵進行再加工,降維或升維。

對於不同特徵,它對於結果的影響有大有小,用權重w表示。
對於一組特徵值的輸入,其結果是否有效,需要一個統一標準來衡量;舉個例子:a認爲70分是優秀,而b認爲70分是良好,需要統一標準來衡量判斷標準70分。這在神經網絡中用偏差值b來表示,反應了閾值高低。
預測結果與真實值存在差異,差異的大小用損失函數來進行計算。基本的損失函數有0-1函數(即非黑即白);也有平方損失函數,對兩者差值進行計算。無論何種損失函數,其目的都是用來衡量模型與真實值的差異。
參數:參數是模型定義的變量,體現爲模型使用的標準。比如,參數規定幾個數據分爲一組;規定迭代次數;規定每次移動的步長等等。
超參數:可以理解爲參數的參數,控制模型參數分佈的參數。

通過機器學習獲得的模型,是在訓練數據中最優解的一組解。在尋找最優解的過程中,有許多算法。比如基於貪心的梯度下降法(每次向最快下降的方向移動)

偏差:是指一個模型總體和最優的差異。(大方向準不準)
方差: 是指不同訓練集間的差異,可以用來衡量一個模型是否容易過擬合(小部隊齊不齊)
當偏差較大時,是模型出了問題,可以增加特徵,提高複雜度修改模型
當方差較大時,是擬合出了問題,可以降低模型複雜度

機器學習算法:

監督式學習:
每個樣本都有標籤,說明了特徵與結果的關係
無監督學習:
沒有標籤,自動學習有效信息
強化學習:
交互式進行學習,不需要對輸入輸出明顯規定

激活函數:
不使用激活下,比如y=aw+b 其結果是線性的,在二維表示中爲一條直線
激活函數對於輸出結果進行處理。
對於線性計算的結果,通過激活函數將其映射到對應點,在二維中表示爲一條曲線。可以理解爲將直線進行扭曲。

梯度與方向導數:
方向導數:函數沿某一方向的變化快慢
梯度:一個向量,其方向上的方向導數最大,某一點梯度的模等於該點的最大方向導數

正向模式與反向模式:
優化算法中,尋求最優解需要計算梯度,一般採用鏈式求導法則進行計算,
正向傳播自下向上進行計算,即先計算第一層再計算第二層,再計算第三層,最後得到結果。
反向模式:先通過正向遍歷計算圖求出每個節點的值,然後通過反向遍歷整個圖,計算出每個節點的偏導

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章