假設現在有兩種類別的樣本,其類別分別為\(C_1\)和\(C_2\),而擁有的樣本數分別為\(N_1\)和\(N_2\),那么假設每個樣本都是從其類別對應的高斯分布中取出來的,那么則可以進行如下推導:

那么就可以得到《統計學習方法》中第六章的邏輯回歸對于兩類概率的定義(解決了我的疑惑)

那么邏輯回歸就是如何找到式子中的引數\(\omega\)和b,
假設\(f_{\omega,b}(x)=P(C_1 \mid x)\),可以將該模型用神經網路結點的形式來表達,如下圖所示,可以更直觀地理解,

那么可以將樣本出現的概率寫成這樣的運算式:

因此求解目標即為:
\[\omega*,b*=arg max_{w,b} L(w,b)\\=arg min_{w,b} (-lnL(w,b)) \]但是由于不同類別的概率運算式不同,因此加上對數函式會很復雜,因此需要進行符號上的轉換:

因此總概率函式就可以寫成:

就可以代入具體的y來對運算式進行化簡,或者寫成求和的形式也很方便、即:
\[\omega*,b*=arg min_{w,b} (-lnL(w,b))\\=\sum_{n} -[\hat{y}^nlnf_{w,b}(x^n)+(1-\hat{y}^n)ln(1-f_{w,b}(x^n))] \]實際上是交叉熵的形式(將y和f(x)都當成一個伯努利分布):

那么對比一下邏輯回歸和線性回歸:

下面就是求解引數了,同樣可以采用梯度下降的方法:



因此我們可以得到邏輯回歸和線性回歸的引數更新公式是一樣的:

需要討論的另一個問題時為什么邏輯回歸的損失函式不可以采用和線性回歸一樣的平方誤差呢?,來看下圖;

可以看到邏輯回顧如果采用平方誤差將會造成很大的偏差!!!,這會造成什么呢?來看下圖:

采用交叉熵的話,當距離目標處較遠時仍然有較大的梯度因此更新引數的速度較快,而如果是平方誤差那么其遠處的損失也很平坦,這非常不利于梯度下降,
那么回到最開始的推導,我們在邏輯回歸中是對\(P(C_1 \mid x)\)直接求\(\omega\)和b,在前面的推導中呢是先求兩個高斯分布的引數然后再來求\(\omega\)和b,即:

那么重點就在于雖然共用同一個模型,但是求解出來的引數是不一樣的,因此邏輯回歸就直接求引數,而另外一個是假設在高斯分布的前提下來求解的,而實際上在很多文獻中都說判別式模型比生成式模型更好,我理解是判別式模型因為沒有假設,因此它的函式集合會更大,找到更好的函式的可能性也就更大,
對比一下生成式模型和判別式模型:
- 因為生成式模型具有一定的假設,因此在資料量比較少的時候,它有時候不會因為資料量的偏差而受到太大的影響,它會遵循自己內心的假設,而判別式模型就是完全靠資料來運作,因此在資料量少的時候有可能生成式模型是優于判別式模型的
邏輯回歸的思想同樣可以用到多分類問題上:

這部分同樣的如果從高斯分布的模型推導最大概率可以推匯出Sofrmax的模型,如果從最大熵(統計學習方法)的角度也可以推匯出這個公式,
具體的流程如下圖:(可以認為\(y\)和\(\hat{y}\)都是一個概率分布,那么兩個概率分布的相似度就可以通過交叉熵來求解),

但是邏輯回歸也有一定的局限性,例如下圖這樣的例子邏輯回歸就無法用一條直線(邏輯回歸的分界面是直線)將它們完全分開:

那么這其實有一種解決辦法,就是將\(x_1\quad x_2\)的坐標進行轉換(相當于是轉換到新的坐標軸使得能夠進行劃分),例如我們用\(x_1`\)表示每個點到[0,0]的距離,用\(x_2`\)表示每個點到[1,1]的距離,那么就可以畫出下圖:

也就可將兩類點劃分了,但能否讓機器來為我們選擇最好的坐標轉換方式呢?,有!用另外的邏輯回歸來對坐標進行轉換!,如下圖:

因此在無論在多復雜的模型中,都可以用這種方法,每個邏輯回歸的輸入可以是其他邏輯回歸的輸出,因此就引出了神經網路:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/540030.html
標籤:其他
