機器學習筆記—再談廣義線性模型

前文從線性回歸和 Logistic 回歸引出廣義線性回歸的概念,很多人還是很困惑,不知道為什么突然來個廣義線性回歸,有什么用?只要知道連續值預測就用線性回歸、離散值預測就用 Logistic 回歸不就行了?還有一些概念之間的關系也沒理清,例如線性回歸和高斯分布、Logistic 回歸和伯努利分布、連接函數和響應函數。

這種困惑是可以理解的,前文為了引導快速入門,從實戰解題的角度推出了答案,但對其背后的概率假設解釋不足,雖然線性回歸專門開辟一節來介紹高斯分布假設,但很多人誤以為這一節的目的只是為了證明最小均方誤差的合理性,Logistic 回歸的伯努利分布假設也需做解釋。

線性回歸是建立在高斯分布的假設上,Logistic 回歸是建立在伯努利分布的假設上。如果不能從概率的角度理解線性回歸和 Logistic 回歸,就不能升一級去理解廣義線性回歸,而廣義線性模型就是要將其它的分布也包納進來,提取這些分布模型的共同點,成為一個模型,這樣再遇到其它分布,如多項式分布、泊松分布、伽馬分布、指數分布、貝塔分布和 Dirichlet 分布等,就可以按部就班地套模型進行計算了。

有些同學不明白的是,「當給定參數 θ?和 x 時,目標值 y 也服從正態分布」,這里 y 服從的是均值為 θTx?的正態分布,當我們訓練得到參數 θ 后,那么對于不同的 x 值,y 服從的就是不同均值的正態分布。伯努利分布也一樣。

要想掌握廣義線性模型,得親自動手做一個實例。

下面我們從概率的角度重新審視線性回歸、Logistic 回歸,來加深對廣義線性模型的理解。

先說線性回歸,假設是 y(i)|x(i);θ~N(θTx(i)2),因為 σ2?對 θ?值和 hθ(x) 值沒有影響,所以我們不妨設 σ2=1,那么

把該高斯分布寫成指數分布簇的形式:

?

可得:

根據廣義線性模型的假設,得:

其中 hθ(x)=η 就是響應函數,其反函數就是連接函數。

如果我們有 m 個例子的訓練集 {(x(i),y(i));i=1,...,m},想要學習這個模型的參數 θ,log 似然函數為:

然后最大化該函數即可得解。

再來看 Logistic 回歸,假設是給定 x 和 θ?后的 y 服從伯努利分布。

p(y;Φ)=Φy(1-Φ)1-y

把該伯努利分布寫成指數分布簇的形式:

可得:

根據廣義線性模型的假設,得:

其中 hθ(x)=1/(1+e) 就是響應函數,其反函數就是連接函數。

如果我們有 m 個例子的訓練集 {(x(i),y(i));i=1,...,m},想要學習這個模型的參數 θ,log 似然函數為:

然后同樣最大化該函數即可得解。

?

由此,大致可得使用廣義線性模型的步驟:

1、分析數據集,確定概率分布類型;

2、把概率寫成指數分布簇的形式,并找到對應的 T(y)、η、E(y;x) 等。

3、寫出 log 最大似然函數,不同的分布所使用的連接函數不一樣,并找到使該似然函數最大化的參數值。

?

參考資料:

1、http://cs229.stanford.edu/notes/cs229-notes1.pdf

轉載于:https://www.cnblogs.com/NaughtyBaby/p/5300831.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396562.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396562.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396562.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python連接access數據庫odbc_對Python通過pypyodbc訪問Access數據庫的方法詳解

看書上通過ODBC訪問數據庫的案例,想實踐一下在Python 3.6.1中實現access2003數據庫的鏈接,但是在導入odbc模塊的時候出現了問題,后來查了一些資料就嘗試著使用pypyodbc,最后成功了。操作步驟:①安裝pypyodbc目前Python…

mysql異機備份

xx.xx..4.43----xx.xx..4.51 1、配置client通過密鑰來連接server 43機器上: /root/.ssh 目錄下執行 ssh-keygen -t rsa ls /root/.ssh會發現在/root/.ssh下生成一對密鑰id_dsa和id_dsa.pub,將生成的公鑰id_dsa.pub拷貝到server的/root/.ssh目錄下&#…

周末想找個地方敲代碼_觀看我們的代碼游戲,全周末直播

周末想找個地方敲代碼by freeCodeCamp通過freeCodeCamp 觀看我們的代碼游戲,全周末直播 (Watch us Code Games Live All Weekend) Note: this was originally published on our now-defunct blog on July 15, 2015.注意:該文章最初于2015年7月15日發布在…

5.7和5.6的mysql_mysql5.6和5.7的區別

展開全部MySQL 5.7 已經開發兩年了。相比 MySQL 5.6,有特別多的改進。團隊主要關注速度,性能據報告是比之前62616964757a686964616fe4b893e5b19e31333365643661版本提升了 2 至 3 倍。新特性列表,主要改進:提升 MySQL 安全性改進了…

01:數制轉換

01:數制轉換 查看提交統計提問總時間限制: 1000ms內存限制: 65536kB描述求任意兩個不同進制非負整數的轉換(2進制~16進制),所給整數在long所能表達的范圍之內。不同進制的表示符號為(0,1,...&am…

局域網只能看到一部分電腦_win10 網上鄰居看不到其它電腦、共享不了文件

最近電腦遇到了局域網文件共享的問題,Win 10 系統在網絡和共享中心里無法看到其他電腦,只能看到本機。確認共享已經打開后,通過查找最終解決。下面是解決流程。1.進入:控制面板 – 網絡和共享中心 – 更改高級共享設置&#xff0c…

javascript 開發_25個新JavaScript開發人員的免費資源

javascript 開發by freeCodeCamp通過freeCodeCamp 25個新JavaScript開發人員的免費資源 (25 Free Resources for New JavaScript Developers) We asked our campers to share their favorite free resources for new JavaScript developers on Camper News. The list includes…

mysql數據庫語法_MySQL數據庫語法(一)

MySQL數據庫語法數據庫管理系統(DBMS)的概述什么是DBMS:數據的倉庫方便查詢可存儲的數據量大保證數據的完整、一致安全可靠DBMS的發展:今天主流數據庫為關系型數據庫管理系統(RDBMS 使用表格存儲數據)常見DBMS:Orcale、MySQL、SQL Server、DB…

作業1---四則運算

一.需求分析: 除了整數以外,還要支持真分數的四則運算,真分數的運算,例如:1/6 1/8 7/24 運算符為 , ?, , 并且要求能處理用戶的輸入,并判斷對錯,打分統計正確率。 要求能處理用戶輸入的真分…

python有序數組中刪除元素_python刷LeetCode:26. 刪除排序數組中的重復項

題目描述:給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。不要使用額外的數組空間,你必須在原地修改輸入數組并在使用 O(1) 額外空間的條件下完成。示例 1:給定數組…

mysql數據庫修改數據庫名稱_MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法...

本文主要向大家介紹了MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法 ,通過具體的內容向大家展現,希望對大家學習MySQL數據庫有所幫助。MySQL在5.1引入了一個rename database操作,但在MySQL5.1.23后又不支持這個命令。可以說是一個實驗性的…

Lesson 001 —— 數據

Lesson 001 —— 數據 數據(data)是事實或觀察的結果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經加工的原始素材。數據是信息的表現形式和載體,可以使符號、文字、數字、語音、圖像、視頻等。 進制 進制也就是進…

工作記錄四-etcd與flanneld

######################### etcd用來做flannld的數據中心,記錄flannld各主機子網的配置## flannld使各容器實例處于同一子網內,可以相互訪問####################### ### 一、etcd安裝及使用## 1. 下載編譯二進制包git clone https://github.com/coreos…

C#獲取剛插入的數據的id

在開發程序中我們經常會遇到兩個表或多個表關聯同時插入數據的需求。 那么我們剛給主表插入一條數據,接著給副表插入數據時其中一個字段要存儲與主表關聯的id,那么我們該怎么獲取剛插入的那條數據的id呢? insert infor values(,) ;SELECT Ide…

感謝您的提問_感謝您的反饋,我們正在改進的5種方法

感謝您的提問by freeCodeCamp通過freeCodeCamp 感謝您的反饋,我們正在改進的5種方法 (5 Ways We’re Improving Thanks to Your Feedback) This was originally published on our now-defunct blog on September 17, 2015.該文章最初于2015年9月17日發布在我們現已…

sql三個表join_「數據蔣堂」第 31 期:JOIN 簡化 – 維度對齊

【數據蔣堂】第 31 期:JOIN 簡化 – 維度對齊我們先把上一期中雙子表對齊例子的 SQL 寫出來:SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

radius

radius協議使用的是UDP傳輸協議,UDP協議相對于TCP更快速,無連接的不可靠。radius協議的包格式:0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1-----------…

apt-get常用命令及工作原理

https://blog.csdn.net/mosquito_zm/article/details/63684608轉載于:https://www.cnblogs.com/diyunpeng/p/9772866.html

day10_控制文件

---------------------驗證互為鏡像功能---------------------窗口1cd /oracle/app/oradata/ecomrm control03.ctl 窗口2SQL> startup force;ORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size …

堆疊自編碼器中的微調解釋_25種深刻漫畫中的編碼解釋

堆疊自編碼器中的微調解釋by freeCodeCamp通過freeCodeCamp 25種深刻漫畫中的編碼解釋 (Coding Explained in 25 Profound Comics) We asked our open source community to share the comics they found most profoundly described coding, via our news site. Here are their…