一文看懂邏輯回歸

2021-10-06 08:04:49 字數 2983 閱讀 2625

引數更新

總結多分類問題

現有20個學生投入0-6個小時學習課程的記錄,分析投入時間和是否通過考試的概率的關係。在這個問題中是否通過考試只有兩種結果:通過不通過。可以用虛擬變數10分別表示。我們用y代表已知的考試結果,x為已知的投入時間,發現其中還有乙個隱藏變數:知識掌握程度,可以先設為z,假設z(x)線性變化,當然z(x)的具體表示式暫時未知,需要通過學習來獲得。而對分類問題的**其本質是建立在z(x)的基礎上的。這一點很多文章並沒有講清楚,但對於演算法的理解至關重要。

他們之間的關係是z(x),y(z)。同時選用sigmoid 函式作為合理的y(z)的關係。

在介紹logistic regression之前我們先簡單說一下線性回歸,線性回歸的主要思想就是通過歷史資料擬合出一條直線,用這條直線對新的資料進行**,線性回歸可以參考我之前的一篇文章。

這裡直接給出公式(這裡簡短插一句,我覺得應該寫成x^t*theta的形式,因為theta才是主變數):

z (x

)=b+

wx=(

bw)(

1x)=

θtxp

r(y=

1∣x;

θ)=y

(z)=

hθ(z

)=11

+e−z

pr(y

=0∣x

;θ)=

1−hθ

(z)z(x)=b+wx= \begin b&w \end \begin 1\\ x \end=\theta^tx\\ {}\\ pr(y=1|x;\theta)=y(z)=h_(z)=\frac}\\ {}\\ pr(y=0|x;\theta)=1-h_(z)

z(x)=b

+wx=

(b​w

​)(1

x​)=

θtxp

r(y=

1∣x;

θ)=y

(z)=

hθ​(

z)=1

+e−z

1​pr

(y=0

∣x;θ

)=1−

hθ​(

z)直觀描述為:

sigmod函式的作用是將線性函式的結果對映到了[0,1]的範圍中,即可以用來表達分類的概率0-100%

y(z)<0.5 則**當前資料屬於0即未通過考試;

y(z)>0.5 則**當前資料屬於1即通過考試。

所以我們可以將sigmoid函式看成樣本資料的概率密度函式。

需要注意的是,這裡sigmod函式建立的前提是:z的分布已知,已知z=b+wx,其中未知數b決定了判斷及格的邊界(學多長時間有一半機率及格),未知數w決定了學習時間轉化為知識掌握程度的效率(每學單位時間,知識掌握能力的提公升量)。而相應的兩個限制條件為:

1.z=0時為邊界

2.在訓練集上準確率最優(何為最優?==》在損失函式上取值最小)

於是自然而然引出了損失函式的定義。

其中m為學生總數,y(i)=htheta(x(i))為每個學生的及格率

關於同一組事件x(1),x(2)…的兩個分布p,q,其交叉熵(cross-entropy)的定義如下:

h (p

,q)=

−∑i=

1npi

logq

ih(p,q)=-\sum_^np_ilogq_i

h(p,q)

=−i=

1∑n​

pi​l

ogqi

​當兩個分布完全相同時,交叉熵取最小值。

交叉熵可以衡量兩個分布之間的相似度,交叉熵越小兩個分布越相似。

例如演算法判定乙個學生100%通過考試(1,0),他也確實通過了考試,演算法的損失(即交叉熵)就為0,當它判定另乙個學生100%通過考試(1,0),該學生卻並未及格,則演算法完全錯誤,其損失(即交叉熵)用無限大表示。

於是有:

此時**第三個學生90%機率通過考試10%機率不通過(0.9,0.1),則此**中包含的損失為樣本標籤為1時10%**為沒通過+樣本標籤為0時90%**為通過,兩種情況發生機率為90%和10%

於是我們可以得出對於每個學生的**損失為

90% * -log90% + 10% * -log(1-90%)

全體樣本損失即

參考:有空再寫…

一文讀懂邏輯回歸 詳細回歸

對於一組特徵,使用線性方程來進行擬合,對結果進行 公式如下 線性回歸選取的損失函式是均方誤差,均方誤差表示所有樣本到該 函式的歐式距離最小,代價函式如下 對每乙個 進行求導,便可以求取 的值 更新 a.通常 取0.001,根據實驗結果依次增加三倍,比較實驗結果。0.001,0.003,0.01,0....

一文看懂kylin

kylin到底解決了什麼關鍵問題 要徹底的解決掉資料查詢時間隨著資料量的增長而成線性增長的規律 kylin適合哪類資料的處理 通常查詢資料,一般是統計結果,如果是統計結果,必然會按照維度來進行聚合,kylin的工作原理是多維立方體分析,適合需要從多個維度來觀察資料的查詢。維度,看資料的角度,比如地區...

一文看懂xml

先簡單介紹下html xml xpath 1.html 超文字語言,用來展示資料。2.xml 可擴充套件標記語言,用來傳輸資料。僅僅是純文字,標籤可自定義。3.xpath 專門在xml中查詢資訊的語言。xml 文件必須包含根元素。該元素是所有其他元素的父元素。xml 文件中的元素形成了一棵文件樹。這...