周志華《機器學習》課後習題解答系列(四):Ch3 - 線性模型
本章概要
本章開始涉及程式設計練習,這裡採用Python-sklearn的方式,環境搭建可參考 資料探勘入門:Python開發環境搭建(eclipse-pydev模式).
相關答案和原始碼託管在我的Github上:PY131/Machine-Learning_ZhouZhihua.
本章講述線性模型(linear model),相關內容包括:
- 線性迴歸(linear regression)
序關係(order)、均方差(square error)最小化、歐式距離(Euclidean distance)、最小二乘法(least square method)、引數估計(parameter estimation)、多元線性迴歸(multivariate linear regression)、廣義線性迴歸(generalized linear model)、對數線性迴歸(log-linear regression);
- 對數機率迴歸(邏輯迴歸)(logistic regression)
分類、Sigmoid函式、對數機率(log odds / logit)、極大似然法(maximum likelihood method);
- 線性判別分析(linear discriminant analysis - LDA)
類內散度(within-class scatter)、類間散度(between-class scatter);
- 多分類學習(multi-classifier)
拆解法,一對一(One vs One - OvO)、一對其餘(OvR)、多對多(MvM)、糾錯輸出碼(ECOC)、編碼矩陣(coding matrix)、二元碼、多標記學習(multi-label learning);
- 類別不平衡(class-imbalance)
再縮放(rescaling)、欠取樣(undersampling)、過取樣(oversampling)、閾值移動(threshold-moving);
習題解答
3.1 線性迴歸模型偏置項
偏置項b在數值上代表了自變數取0時,因變數的取值;
1.當討論變數x對結果y的影響,不用考慮b;
2.可以用變數歸一化(max-min或z-score)來消除偏置。
3.2 證明對數似然函式是凸函式(引數存在最優解)
直接給出證明結果如下圖:
3.3 程式設計實現對率迴歸
所使用的資料集如下:
本題是本書的第一個程式設計練習,採用了自己程式設計實現和呼叫sklearn庫函式兩種不同的方式(檢視完整程式碼):
具體的實現過程見:周志華《機器學習》課後習題解答系列(四):Ch3.3 - 程式設計實現對率迴歸
3.4 比較k折交叉驗證法與留一法
本題採用UCI中的Iris data set 和 Blood Transfusion Service Center data set 資料集,藉助sklearn實現(檢視完整程式碼)。
具體的實現過程見:周志華《機器學習》課後習題解答系列(四):Ch3 - 3.4.交叉驗證法練習
3.5 程式設計實現線性判別分析
本題採用題3.3的西瓜資料集,採用基於sklearn實現和自己獨立程式設計實現兩種方式(檢視完整程式碼)。
具體的實現過程見:周志華《機器學習》課後習題解答系列(四):Ch3 - 3.5.程式設計實現線性判別分析
3.6 線性判別分析的非線性擴充思考
給出兩種思路:
- 參考書p57,採用廣義線性模型,如 y-> ln(y)。
- 參考書p137,採用核方法將非線性特徵空間隱式對映到線性空間,得到KLDA(核線性判別分析)。
3.7 最優ECOC編碼方式
參考書p65,對於同等長度的編碼,理論上來說,任意兩個類別間的編碼距離越遠,糾錯能力越強。那麼如何實現呢,可參考文獻Error-Correcting Output Codes。下圖是擷取文中的關於在較少類時採用exhaustive codes來生成最優ECOC二元碼的過程:
採用文中方法,每兩類的Hamming Distance均達到了碼長的一半,這也是最優的編碼方式之一。
3.9 多分類到二分類分解、類別不平衡
參考書p66,對OvR、MvM來說,由於對每類進行了相同的處理,其拆解出的二分類任務中類別不平衡的影響會相互抵銷,因此通常不需專門處理。
以OvR(一對其餘)為例,由於其每次以一個類為正其餘為反(參考書p63),共訓練出N個分類器,在這一過程中,類別不平衡由O的遍歷而抵消掉。
相關文章
- 周志華西瓜書《機器學習》第三章線性模型機器學習模型
- 機器學習-周志華機器學習
- 周志華西瓜書《機器學習》機器學習
- 機器學習定義及基本術語(根據周志華的《機器學習》概括)機器學習
- 重磅!周志華《機器學習》手推筆記來了!機器學習筆記
- 《機器學習_05_線性模型_最大熵模型》機器學習模型熵
- 機器學習 第6篇:線性模型概述機器學習模型
- 周志華西瓜書《機器學習筆記》學習筆記第二章《模型的評估與選擇》機器學習筆記模型
- 機器學習之支援向量機(線性模型)的最佳化問題機器學習模型
- 機器學習導圖系列(5):機器學習模型及神經網路模型機器學習模型神經網路
- 機器學習:線性迴歸機器學習
- 模式識別與機器學習——迴歸的線性模型模式機器學習模型
- 機器學習演算法筆記之3:線性模型機器學習演算法筆記模型
- 機器學習之線性迴歸機器學習
- 機器學習:線性迴歸(下)機器學習
- 機器學習整理(線性迴歸)機器學習
- 機器學習模型機器學習模型
- 機器學習 | 吳恩達機器學習第九周學習筆記機器學習吳恩達筆記
- 機器學習(課堂筆記)Day04:線性迴歸法機器學習筆記
- 北大張志華:機器學習就是現代統計學機器學習
- 機器學習進階 第一節 第四課機器學習
- 從線性模型(linear model)衍生出的機器學習分類器(classifier)模型機器學習
- 手擼機器學習演算法 - 非線性問題機器學習演算法
- python第四章課後習題Python
- 周志華《機器學習》西瓜書精煉版筆記來了!16 章完整版機器學習筆記
- 【機器學習】線性迴歸預測機器學習
- 機器學習5-線性迴歸機器學習
- 機器學習筆試精選題(四)機器學習筆試
- [DataAnalysis]機器學習演算法——線性模型(邏輯迴歸+LDA)機器學習演算法模型邏輯迴歸LDA
- 《C和指標》第三章課後習題解答指標
- 吳恩達機器學習系列1——單變數線性迴歸吳恩達機器學習變數
- 機器學習Sklearn系列:(四)樸素貝葉斯機器學習
- 如何解決機器學習樹整合模型的解釋性問題機器學習模型
- 【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?機器學習模型
- 機器學習之學習曲線機器學習
- ch3被動掃描學習
- 機器學習-習題(二)機器學習
- 機器學習-習題(一)機器學習
- 談談機器學習模型的可解釋性機器學習模型