1. 神經網路的優化
上節回顧:
介紹了神經元、神經網路
介紹了激活函數
提到了前向傳播概念
留下問題:用到的參數w和b是怎麼來的,是自己隨便設定的嗎
本節介紹:
神經網路、反向傳播的例子
損失函數和梯度下降法、學習率介紹
最重要的用途是分類
這種能自動對輸入的東西進行分類的機器,就叫做 分類器 。分類器的輸入是一個數值向量,叫做特徵(向量)。
第一個例子里,分類器的輸入是一堆0、1值,表示字典里的每一個詞是否在郵件中出現,比如向量(1,1,0,0,0......)就表示這封郵件里只出現了兩個詞abandon和abnormal;
第二個例子里,分類器的輸入是照片,假如每一張照片都是320x240像素的紅綠藍三通道彩色照片,那麼分類器的輸入就是一個長度為320x240x3=230400的向量。
分類器的輸出也是數值。
第一個例子中,輸出1表示郵件是垃圾郵件,輸出0則說明郵件是正常郵件;
第二個例子中,輸出0表示圖片中是狗,輸出1表示是貓。
分類器的目標就是讓正確分類的比例盡可能高。一般我們需要首先收集一些樣本, 人為標記上正確分類結果 ,然後用這些標記好的數據 訓練分類器 ,訓練好的分類器就可以 在新來的特徵向量上工作 了。
這就是BP神經網路(back propagation)。
旨在得到最優的全局參數矩陣,進而將多層神經網路應用到分類或者回歸任務中去。
前向傳播 輸入信號直至 輸出產生誤差 , 反向傳播 誤差信息 更新權重 矩陣。
這個地方提到的誤差這個概念,其實就是對應了損失函數,損失函數說白了就是計算誤差的函數。
舉例:線性回歸:尋找一條擬合圖中數據點最好的直線
把每條小豎線的長度加起來就等於我們現在通過這條直線預測出的值與實際值之間的差距
缺點:採用梯度下降法學習時,模型一開始訓練學習速率非常慢
對一個多元函數求偏導,會得到多個偏導函數.這些導函數組成的向量,就是梯度;一元函數的梯度是什麼?它的梯度可以理解為就是它的導數。
求解多元函數和一元函數的道理是一樣的,只不過函數是一元的時候,梯度中只有一個導函數,函數是多元的時候,梯度中有多個導函數.
當我們把梯度中的所有偏導函數都變為0的時候,就可以找到每個未知數的對應解。
梯度下降中求偏導數的未知數不是x和y,而是x的參數W。
梯度下降的方向:把這一點帶入到梯度函數中,結果為正,那我們就把這一點的值變小一些,同時就是讓梯度變小些;當這一點帶入梯度函數中的結果為負的時候,就給這一點的值增大一些。
在這個下降的過程中.因為我們並不知道哪一個點才是最低點,也沒有辦法來預測下降多少次才能到最低點.這里梯度下降給出的辦法是:
先隨便蒙一個點出來,然後根據這個點每次下降以丟丟.什麼時候下降得到的值(點帶入偏導函數得到的)和上一次的值基本一樣,也就是相差特別特別小的時候,我們認為就到了最低點。
讓點沿著梯度方向下降慢慢求得最優解的過程我們叫做 學習 ,學習率就是用來限制他每次學習別太過"用功"的。下左圖是我們所期望的,一個點按照梯度方向下降,慢慢逼近最低點,右圖中展示的這個梯度值過大的時候,點下降的step就過大了,一次性邁過了最低點,導致函數無法找到最優解。學習率就是用來限制這種情況的。
更新權重的演算法:每一個權重值都要減去它對應的導數和學習率的乘積
Lr 代表的是學習率
簡單舉例
2. 常見分類模型( svm,決策樹,貝葉斯等)的優缺點,適用場景以及如何選型
深入解析:svm、決策樹與貝葉斯分類模型的優劣、適用場景與選型策略
在數據科學的世界裡,各類分類模型猶如璀璨的繁星,其中svm、決策樹和貝葉斯等經典模型各有其獨特的魅力與局限。讓我們一起探索它們的內在特性,以及在實際應用中的最佳選擇。
首先,讓我們聚焦於svm,這位天生的結構風險優化者。它的穩定性與較小的過擬合風險使其在樣本量較少時大放異彩。然而,隨著樣本規模的增加,svm的計算復雜度會顯著提升,而這時神經網路的泛化能力就展現出了它的優勢。盡管如此,神經網路的靈活性使其在大規模數據和復雜模型設計中更具優勢,使得svm在某些場景下不再是最理想的選擇。
決策樹系列則憑借其資訊理論基礎,對離散特徵的處理游刃有餘。相較於其他模型需要對離散特徵進行編碼,決策樹直接計算信息增益,降低了復雜性。而且,集成樹模型如xgb的存在,通過快速穩定且並行化的特性,使得決策樹在處理大量離散特徵的場景中獨占鰲頭,尤其是在演算法競賽中。
最後,我們來看看貝葉斯分類器,它的計算效率是其一大優點。然而,貝葉斯模型對數據分布的假設較為嚴格,當這些假設與實際數據分布契合時,分類效果往往更佳。然而,如果數據分布偏離假設,貝葉斯分類器的表現可能會受到影響。
在實際選型中,你需要考慮數據的特性、模型的復雜度、計算資源以及性能需求。對於樣本量小且特徵結構簡單的場景,svm和決策樹可能是不錯的選擇。而當數據包含大量離散特徵,或追求高效的分類性能時,決策樹可能更勝一籌。貝葉斯分類器則適用於數據分布特徵明確且計算資源有限的情況。綜上所述,選擇哪種模型,關鍵在於理解你的數據特性和應用場景,做出最適合的決策。
3. 艾波-羅斯(一種基於神經網路的機器學習演算法)
艾波-羅斯:一種基於神經網路的機器學習演算法
什麼是艾波-羅斯演算法?
艾波-羅斯(AdaptiveBoosting,簡稱AdaBoost)是一種基於神經網路的機器學習演算法,用於分類問題。它是一種集成學習演算法,通過組合多個弱分類器來構建一個強分類器,提高分類准確率。
艾波-羅斯演算法的工作原理
艾波-羅斯演算法的工作原理可以分為以下幾個步驟:
1.初始化樣本權重:將每個樣本的權重初始化為相等值。
2.訓練弱分類器:使用當前樣本權重訓練一個弱分類器。
3.更新樣本權重:根據弱分類器的分類結果更新每個樣本的權重,分類錯誤的樣本權重會增加,分類正確的樣本權重會減少。
4.組合弱分類器:將多個弱分類器組合成一個強分類器,每個弱分類器的權重由其分類准確率決定。
艾波-羅斯演算法的優缺點
艾波-羅斯演算法的優點是:
1.可以處理高維度數據集。
2.不容易發生過擬合。
3.可以處理非線性關系。
艾波-羅斯演算法的缺點是:
1.對雜訊和異常值比較敏感。
2.訓練時間比較長。
3.對於不平衡數據集的處理效果不佳。
如何使用艾波-羅斯演算法?
使用艾波-羅斯演算法進行分類問題的解決,通常需要以下幾個步驟:
1.准備數據集:將數據集劃分為訓練集和測試集,並對數據進行預處理和特徵工程。
2.初始化樣本權重:將每個樣本的權重初始化為相等值。
3.訓練弱分類器:使用當前樣本權重訓練一個弱分類器。
4.更新樣本權重:根據弱分類器的分類結果更新每個樣本的權重,分類錯誤的樣本權重會增加,分類正確的樣本權重會減少。
5.組合弱分類器:將多個弱分類器組合成一個強分類器,每個弱分類器的權重由其分類准確率決定。
6.對測試集進行預測:使用訓練好的強分類器對測試集進行預測,並計算分類准確率。