4.用資料拟合模型
基本概念:基于資料找到“最優”模型參數;選擇資料挖掘的目标;目标函數;損失函數
主要技巧:線性回歸;邏輯回歸;支援向量機(SVM)
用資料函數分類
線性判别方程
優化目标函數
從資料中挖掘線性判别式的一個例子
用線性判别方程給執行個體打分和排序
支援向量機簡介
通過數學方程回歸
類機率估計和邏輯“回歸”
*邏輯回歸:一些技術細節
例子:邏輯回歸VS樹歸納
非線性函數,支援向量機,和神經網絡
總結
第四章 将模型拟合到資料
基本概念:基于資料找到最優模型參數;找到資料挖掘的目标;目标函數;損失函數
基本技術:線性回歸;邏輯回歸;支援向量機
沒有參數的模型稱為裸模型。
與決策樹不同的是,決策樹的有用參數是建構中篩選出來的,而線性回歸中裸模型需要指定屬性,讓資料拟合包含這些屬性的模型,找到最佳參數。
為了讓我們本章讨論專注于參數模組化,先做三點簡化假設:
1.所有分類都是二分類。
2.因為我們要處理方程,是以假設所有的屬性都是數值屬性。有技巧可以把類别屬性變成數值屬性。
**
比如,pd.get_dummies()
**
3.我們忽視了對有些屬性的正則化和縮放,比如年齡和收入變化範圍過大。
盡管我們本章簡化了這些複雜性,但是這些東西對于資料挖掘都是非常重要的。
**
簡化!今天第二次看到這個主題。
上午看到一篇文章,簡介了一本資訊論之父克勞德.香農的自傳《克勞德.香農是如何創造資訊論的》。其中談到了他的習慣——習慣塑造人生——其中的第十二個重點,就是他關于簡化的看法:簡化和簡單不同。簡化是一種重要的思維方式,讓我們先解構複雜問題,抓住其重點,集中注意力解決其中最重要的部分,避免被細枝末節分心,這樣才能高效的解決問題。
萬事萬物都有聯系,拿破侖打仗的首要原則就是:集中優勢兵力解決最重要問題。
是以,要有意識的養成簡化和專注的思維習慣。
**
樣本空間的劃分——幾何解釋。
決策樹的幾何解釋,其實是用橫平豎直的線(決策邊界)将置于坐标系中的樣本空間進行劃分。
而參數模組化,其中的決策邊界不一定是橫平豎直的,甚至不一定是直線,
線性判别式
屬性值的權重和。
我們通過資料找到(學習)權重值,這些權重常常被解釋成為特征的重要性名額。
優化目标函數
目标函數通常由資料科學家的信念和經驗創造.(?)SVM是其中之一。
線性回歸,邏輯回歸和SVM基本技巧:拟合資料的幾個簡單執行個體,不同在于,它們有不同的目标函數。
一個從資料中挖掘線性判别式的例子
我很好奇邏輯回歸和SVM那兩條線是怎麼畫出來的。
用資料拟合模型,通過讓損失函數最小得到參數,然後就學習到了一個含參模型,對于隻含花萼寬度和滑闆寬度的鸢尾花資料,那就是一條直線,可通過matplotlib畫出。
用線性判别式函數給樣本評分和排序
很多情況下我們不需要确切的知道機率估計值是多少,我們給模型n個位置目标值的向量,隻需要知道它距離決策邊界多遠就可以給該向量評分和排序。
SVM簡介
為了獲得直覺上的了解。
不同于邏輯回歸将注意力放在樣本點上。SVM用樣本叢之間的邊際來确定最優決策邊界。找到可能的最寬的平行虛線之間的邊際線,決策邊界就是它們的中線。
在衡量模型能多大限度的拟合資料集的目标函數中,我們對分類錯誤的樣本點進行簡單的懲罰。如果樣本不能被線性分割,最好的拟合是盡量寬的邊際和最低總懲罰的平衡。對錯誤分類點其懲罰與它到決策便捷的距離成比例,這樣要保證SVM盡量範小錯誤。(在數學上,通過求目标函數的最大值,來獲得SVM)。技術上,這個誤差函數叫做合頁損失。
損失函數在DS中通常用于誤差懲罰。這上面的SVM中,損失函數基于錯誤分類點到分割線的距離。還可以有其它的計算損失的方法,這種選擇是主觀随意的。
比如上述合頁損失函數,因為其形狀像合頁,其懲罰與錯誤點距分界線的距離呈線性。。
還有0-1損失函數,正确分類損失為0,錯誤分類損失為1.
作為對比,還有平方誤差,其懲罰與錯誤點距分界線的距離呈二次關系。常用于回歸誤差中。
通過數學方程回歸
有許多裸模型(未經過資料拟合,沒有具體參數的模型範式)可供選擇。
一種最常用的:最小二乘誤差by Gauss。它給誤差平方使其變大。任何目标函數都有其優勢和缺陷。比如最小二乘,它對離群點特别敏感,幾個這樣的點就會讓結果模型大為相異。
對于很多商務問題,我們可能沒有資源在資料處理上花費很多時間,極端情況下,對于自動化的建造和應用系統來說,相對于手工分析,模型必須穩健。比如對于前種情況,我們可能要應用更為穩健的方法(比如用絕對距離誤差而非距離平方誤差)。
總之,在應用回歸方法是,我們心裡應該清楚必須選擇合适的目标函數!
類機率估計和邏輯回歸
對于分類問題,将其相應的機率預測放在心裡。
最常用的,不僅能夠預測類别,還能夠進行相應的機率估計的方法,就是邏輯回歸。
注意:
什麼是準确估計階級成員的機率是一個超出這本書範圍的争論主題。粗略地說,我們希望(i)機率估計被很好地校準,這意味着如果你取100個類成員機率估計為0.2的情況,那麼它們中大約有20個實際上屬于這個類。我們還希望(ii)機率估計是有差別的,因為如果可能的話,它們會對不同的例子給出有意義的不同的機率估計。後一種情況使我們不能簡單地将“基本比率”(人口的總體流行率)作為每個例子的預測。比如說,總人數中有0.5%存在欺詐行為。如果沒有條件(ii),我們可以簡單地預測每個賬戶0.5%的機率;這些估計會得到很好的校準——但完全沒有差別。
**
我了解就是整體樣本機率和單樣本機率。它們的計算和含義都是不同的。
**
首先我們思考一個問題:用基本線性模型預測分類機率有什麼問題。
因為f(x)值域範圍是無窮的,而分類機率是(0,1)
**
這一部分沒看懂,是給線性回歸做了一個代數變化嗎?勝率又怎麼來呢?
**
總之:
對于機率估計,邏輯回歸用了與線性回歸同樣的線性判别式。
邏輯回歸模型的結果被解釋為成員類的勝率對數(勝率哪來???)
錯誤命名:
邏輯回歸模型輸出的結果雖然是從0到1的數值,但是目标量卻是類别量。
*更多邏輯回歸的技術細節
p+(x)代表樣本向量x屬于類别+的機率
邏輯回歸在本質上就是對線性回歸的一個代數變換!找到對應預測值的預測機率,數學家發現了這個等式,并且能夠證明p+(x)确實是有實際意義的。
f(x)屬于無窮。
p+(x)屬于(0,1)。
**
!!!
這個作者不愧是教授,知道普通讀者會在哪裡出現了解困難,特意進行了說明。
這裡我看到了代數的應用。
但是我想和f(x)對應的代數變化使某個關于x的值屬于(0,1)不止此一家。這可能是一個猜想或數學證明,總之,它有實際意義。數學家真了不起。
**
例子:邏輯回歸VS 決策樹
雖然決策樹和邏輯回歸都用到了線性決策邊界,還是有2個重要不同:
1.前者的決策邊界是橫平豎直的,後者可以是任何方向,因為決策樹每次決策都選用一個變量屬性。
2.決策樹可以随心所欲的進行疊代(隻要需要),最後把樣本空間分割成小區域(其實要避免這樣)。線性分類放置單個決策面,這個決策面包括所有的變量。
很難提前就知道某個資料集适合什麼模型。那麼從實際上講兩者的結果有什麼不同?
當應用到商業問題時,對于不同背景的負責人有不同的了解。有統計背景的人更容易了解邏輯回歸。
非線性方程,SVM和神經網絡
SVM核函數:将原本特征值映射到新的特征空間。
将特征複雜化(線性,多項式化,比如乘方,相乘)或其他,變成新特征加入到特征空間中,可能會将線性方程變為非線性。但是基本概念都是通用的。
**
神經網絡這部分沒看懂,也沒仔細看,貌似是模型堆垛,而且從底層到頂層也有進化。
但是作者提到了,神經網絡曆史悠久,理論和應用範圍深而廣,值得注意。
**
總結