【深度學習筆記】第 2 課:Logistic 多項式回歸法


 1 """Softmax."""
 2 scores = [3.0, 1.0, 0.2]
 3 
 4 import numpy as np
 5 
 6 def softmax(x):
 7     """Compute softmax values for x."""
 8     #pass # TODO:Compute and return softmax(x)
 9     return np.exp(x) / np.sum(np.exp(x), axis=0)
10 
11 #print(softmax(scores))
12 print (softmax(scores*10))
13 #print (softmax(scores / 10))

softmax模型可以用來給不同的對象分配概率。即使在之后,我們訓練更加精細的模型時,最后一步也需要用softmax來分配概率。

 

cross-entropy  交叉熵是度量這兩個向量距離的方法之一。我們將記它為D以表示距離。 labels標簽向量經過了one-hot編碼,所以會有很多的零,因而它不能作為對數的真數。

對於分布變量,它是由softmax方法計算得到的概率值。所以它總是會大於0, 也就是它可以被放在真數上。

 

對於一個給定的輸入  通過一個線性模型,它將被轉變為一個logit分數。這個運算很簡單,即輸入乘上一個矩陣w再加上一個偏置項b

接着  使用softmax方法,我們可以將logits分數轉化成概率值,接着我們通過交叉熵的方法計算概率向量與經過one-hot編碼的標簽向量的距離

我們稱這整個過程為Logistic 多項式回歸法

好了,現在我們對問題的各個方面有了一個大致的了解,這門課的任務 是教我們該如何確定權重項w和偏置項b的值

以使我們的分類器能夠完成我們所期望的工作。

也就是說 要使之對正確分類距離要足夠小 對錯誤分類的距離足夠大

 

 

可以選擇通過這樣的方式衡量,求出對所有訓練集樣本和所有類別的距離之和,也就是求出訓練罰函數(That's called the training loss.)

這個函數 求出了對於所有訓練集樣本的交叉熵的均值,是一個非常龐大的函數。

訓練集中的每個樣本 都將被乘上這個巨大的W矩陣,並且他們都將被加起來,得到這個巨大的求和。

我們希望每一個距離值都很小,也就是說分類器能夠 對訓練集中的每個樣本都能很好的分類,因而我們希望這個罰函數值很小。

罰函數是一個關於權重項w和偏差項b的函數,那么我們如何求罰函數的最小值

作為演示 考察某罰函數 只有兩個自變量,我們記為w1和w2。該函數的值在某些區域很大,在另一些區域很小。

我們的目標 是去尋找使得罰函數值最小的權重值w,因而我們將一個機器學習問題 轉化為了一個數值優化問題

而我們有許多的方法來解決這個數值優化的問題

最簡單的方法之一 也許你可能遇到過 是梯度下降法(gradient descent)

對罰函數的每一個變量求偏導數,並將每個變量值加上該偏導數值,直到你達到全局最小值

梯度下降法相對而言比較簡單,特別是你能夠幫你高效求出偏導數的數值工具的時候,這個只是演示了一個二元函數的偏導數求算過程,但對於一個一般的問題

我們可能面對的是一個有成百上千參數的函數。

在接下來的課程中 我們將會討論為你計算導數的工具,和梯度下降的一些優點和缺點,目前,我們將會假設我給你的優化程序是一個黑盒子,你可以簡單的使用

最后有兩個實用的東西阻擋在你訓練模型的路上,第一個是你怎么把圖像像素填充到分類器,第二個是在哪里初始化最優化過程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM