機器學習與回歸類算法


一、分類問題(監督學習,選擇題)

  1.根據數據樣本上抽出的特征,判別其屬於有限個類別中的哪一個

  2.垃圾郵件識別(結果類別:1、垃圾郵件;2、正常郵件)

  3.文本情感褒貶分析(結果類別:1、褒;2、貶)

  4.圖像內容識別(選擇題:結果類別:1、喵星人;2、汪星人;3、人類;4、草擬馬;5、都不是)

  

二、回歸問題(監督學習,得分)

  1.根據數據樣本上抽取出的特征,預測連續值的結果

  2.《芳華》票房值

  3.魔都放假具體值

  4.劉德華和吳彥祖的具體顏值得分

  

三、聚類問題(無監督學習)

  1.根據數據樣本上抽取出的特征,挖掘數據的關聯模式

  2.相似用戶挖掘/社區發現

  3.新聞聚類

四、強化問題:

  1.研究如何基於環境而行動,以取得最大的預期利益

  2.游戲最高得分

  3.機器人完成的任務

五.下圖來自周志華老師西瓜書

  上圖是一個監督學習。我們需要根據西瓜的色澤、根蒂和敲聲來判斷到底是一個好瓜還是一個壞瓜,最后的結果是兩種情況,要么這個西瓜是一個好瓜,要么是一個壞瓜,依據是前面的三列。在上表中,每一行是一個西瓜樣本每一列是一個屬性、特征,如西瓜的顏色、敲聲和根蒂都是一個特征。即每一行是一個樣本,每一列是一個特征。最后一列是我們的標記空間或者輸出空間。最后學習到的是一個從x到y的映射,每一種模型只是映射不一樣。

六、線性回歸

  1.何為線性回歸

    (1)有監督學習=>學習樣本為

    (2)輸出/預測的結果yi為連續值變量(連續紙是一個回歸問題)

    (3)需要學習映射f:x->y(對於輸入的x,可以輸出連續值y)

    (4)假定輸入x和輸出y之間有線性相關關系

    (5)線性回歸:准備了數據集(x,y),用線性表示完成x到y之間的映射f,目的是學習出這樣的一個映射,

  2.測試/預測階段

    (1)對於給定的x,預測其輸出

  3.例子

  (1)你讓一個六年級的孩子在不同同學具體體重多少的情況下,把班上的同學按照體重從輕到重排隊。這個孩子會怎么做呢?她可能會通過觀察大家的身高和體重來排隊

  我們有一個樣本,我們把身高和體重以橫縱坐標的形式標到二維坐標系中,藍色的坐標點是一個樣本點,線性回歸是根據圖中隨着身高增大,體重在不斷增大的趨勢,可以表示為下面一個簡單的線性表達方式,用一條直線來擬合出一種變換,最終的線性回歸如下圖。

 

    (2)房價預測:

  

  (1)通過y=ax+b來進行數據的擬合,得到下面的圖:

 

  (2)當我們考慮多個變量的 時候,比如房屋面積,卧室個數的時候,擬合的直線就從二維中的直線成為了高維中的平面或者超平面,能得到下面的式子:

  

 

  這個地方可以將 寫成向量的表達形式,

  這個地方θ和x都是一個列向量,然后將θ做轉置操作,就成為了行向量,

  

  上面的θ轉置和x做內積,最后的形式就是這種形式

  (3)在大量的樣本訓練集中,總結出來的規律f用在這次未知的房價預估上,預估拿到結果

  

  如上圖,我們需要學習這里的訓練集,得到一個x到y的映射f,這個f可以有各種形態,在線性回歸中,我們給出了一個最簡單的線性組合的形態,f(x)=,對於這種形態,可以寫成向量化的表達形式,在特征x中加一維X0=1來表示截距,

 

 4.機器學習所有的方法都是:數據驅動=數據+模型(算法)

  (1)模型=假設函數f(可能是一種計算的模型,可能是一種規則,可能是一種任何其他的東西)+優化(讓θ一步步讓模型朝着擬合更好擬合更准放入方向走),不要把每個模型當做孤立的模型來看待。這些模型能不能用好,取決於能不能在大的架子下,在給你的學習方法的基礎上完成優化。如何讓θ朝着 讓模型變得更好,擬合更准的方向去走,這部分叫做優化。

5.線性回歸損失函數(loss function)

  (0)在監督學習中,優化=loss function(損失函數,cost function代價函數)+optimizy優化算法

  (1)找到最好的權重/參數[θ0,θ1,....θn]=θ

  (2)怎么去衡量“最好”?

    我們把x到y的映射函數f記為θ的函數hθ(x)

    定義損失函數為:通過模型預估的結果是hθ(x),真實值是y,是數據的標簽。將預估的結果減去真實的結果,結果可正可負。平方就是數據之間的差值,除以m是數據的平均差距,這里的m是m個樣本數,這里除以2是為了后面做數學優化的時候優化方便,沒有過多的原因。這里x和y都是知道的只有θ是未知的

    

   J(θ)是用來衡量模型好壞的量,不同的θ有不同的偏離量,我們要找到θ,使得Jθ是最小值,使得預估值和標准值之間的差值是最小值。如下圖,當θ在不斷變大的時候,就成為了右邊圖描述的變化,下圖中凸函數的最低點是我們想要找到的最低點。當找到這個點的時候,就可以說明模擬效果很好。

    

    對於多元情況,J(θ)的變化情況是下圖的形式。目標數找到最小值,找到的是局部最低點。這個圖是每取定一個θ,和標准答案差異的取值。

    

    在計算機中,我們使用迭代法計算,優化=損失函數+優化算法,損失函數最小化的算法,我們使用梯度下降。

    (3)梯度下降GD

      逐步最小化損失函數的過程。如同下山,找准方向(斜率),每次邁出一小步,直至山底。

      在起始位置開始,找到一個方向,會順着方向向下滑動一段,然后再順着方向再向下走,每一次都是這樣的迭代,猶如一個下山的過程,找到最陡的方向往前邁出一步

      對於二元的情況,下面是一個碗,放一個球,讓其滾動,一層一層的截,就是等高線,球是垂直於等高線的方向向里面走動。

    (4)多元梯度下降。下面的α是一個超參數,在模型學習之前需要敲定,需要自己選定。

      

      這里如果α過大,會直接跳過最低點,如果α非常大,

六、回歸與欠/過擬合

  

    0.通過多項式回歸完成一個連續值的預估,標記了很多的樣本點,最終的效果如上圖。第一個線性模型不能夠擬合好所有的樣本,擬合能力很差,以至於不能擬合好所有的樣本點。第二個拋物線可以穿過所有的點,而且離所有的點都比較近,第三圖高次曲線能夠很好的穿過所有的點,

    1.比較模型的好壞,就是比較誰的模型泛化能力更好,學習到的模式會更通用一點。

  2.過擬合問題:如果我們有非常多的特征/模型很復雜,我們的假設函數曲線可以對原始數據擬合非常好,但是喪失了一般性,從而導致對新給的待預測樣本,預測效果差。

  3.所有的模型都有可能存在過擬合的風險,意味着有更強的能力,但也更可能無法無天,眼見不一定為實,你看到的內容不一定為全部真實的數據分布,死記硬背不太好。

  4.正則化。

    (0)在這之前的損失函數長成這個樣子。只要模型擬合的很好就可以,但是抖動非常大,就說明非常的不平穩,等到新的樣本來的時候,模型就掛掉了。

      

    (1)控制參數幅度,不能讓模型“無法無天”

    (2)限制參數搜索空間,下式中,后面加的一項是θ的幅度,人是超參數,給后面這個幅度加多大的懲罰。這里誤差項樣本要加到m是因為有m個樣本,懲罰項加到n是因為有n個θ,即有n個特征

    

七、邏輯斯蒂回歸

  1.解決分類問題。

    (1)線性回歸+閾值。下圖中橫坐標是腫瘤的大小,縱坐標是是否是一個惡性腫瘤,現在腫瘤大小在0.5左側就是良性腫瘤,在0.5右側就是惡性腫瘤。

    

    但是上面的這個方法並不是一個很好的方法,如果來了兩個異常值,腫瘤大小非常大,在這種情形下顯然是惡性腫瘤,再去做線性回歸會發現這條直線被拉偏了,因為它要兼顧到所有的樣本,拉偏之后再取0.5做閾值,就發現有兩個樣本被錯誤的划分,健壯性不夠,對噪聲不太敏感。

    (2)sigmoid函數,數學特性很好。

    

   (3)g(x)的導函數:如果需要求導,可以一步求出來。

    g`(x)=g(x)[1-g(x)]

   (4)所有的分類問題,本質上式在空間中找到一個決策邊界,完成這里的決策。如下圖可以將樣本點進行划分。

  

  

    (5)線性判定邊界。如何由線性回歸得到擬合的直線或者曲線變成這樣的一條決策邊界

    直線上方的點 代進去會大於0,

     (6)非線性判定邊界。對於這個圖,圓外的點是大於0的,圓內的點是小於0的,對應於sigmoid函數,圓外的是大於0.5的,圓內的點是小於0.5的

  損失函數:的數學特性不好,如下

  

  有很多最低點,損失函數凹凸不平,特性不好。我們使用下面的損失函數,

    

  hθ是屬於正樣本的概率p,hθ(x)=p,我們希望概率p越大越好,logp越大越好,-logp越小越好,損失函數如下。

  

  當它是負樣本的時候,希望log(1-p)越大越好,-log(1-p)越小越好。同理如果是正樣本的時候,我們希望log(1-p)越大越好。一個0到1之間的數,越乘越小,我們將其變為加法。於是就得到下面的損失函數(二院交叉熵損失):

  

  加上正則化項如下: 

  2.多分類:

    (1) one vs one 用二分類來解決多分類,在任意兩個人類之間構建分類器,

    

     構建多個二分類器和構建一個多分類器,

    (2) one vs rest,同樣會構建三個分類,是不是小三角形,是不是小叉叉,是不是小方塊,在取得了三個分類器之后,會取得最大的概率p

     

八、LR應用經驗

  1.LR<SVM/GBDT/RandomForest>

  (1)模型沒有好壞之分

      LR能以概率的形式輸出結果,而非只有0,1判定

      LR可解釋性強,可控度高

      訓練快,feature engineering之后效果贊

      因為結果是概率,可以做ranking model

      添加feature太簡單

  (2)應用

      CRT預估/推薦系統的learning to rank/各種分類場景

      某搜索引擎廠的廣告CTR預估基線版是LR

      某電商搜索排序/廣告CTR預估基線版是LR

      某電商的購物搭配推薦使用了大量的LR

      某現在一天廣告賺1000w+的新聞app排序基線是LR  

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM