《美團機器學習實踐》第1章 問題建模
1.1 評估指標
評估指標用於反映模型效果。在預測問題中,要評估模型的效果,就需要將模型的預測結果和真實標註進行比較,評估指標定義為和的函式。
通常,線下使用的是機器學習評估指標,而線上使用的是業務指標(比如,線上支付的風控模型,線下使用的是風險交易筆數的準召率,而線上使用的業務指標卻是資損率,這就會導致線上、線下的不一致)。所以,在模型訓練的階段,要設法找到與線上業務指標相一致的線下指標,“一致”的意思是指標的變化趨勢一樣。
評估指標根據任務型別的不同,可以分為分類指標、迴歸指標、聚類指標和排序指標等。
1.1.1 分類指標
1)精確率和召回率
精確率和召回率用於二分類問題,結合混淆矩陣
精確率和召回率的定義為
精確率和召回率是此消彼長的(事實上,並不是嚴格的“此消彼長”。閾值越小,召回率越高,但是精確率卻未必越低,但是大多數時候精確率是越低的,因為閾值越小,雖然TP和FP都會變大,但是對FP的影響往往要大於對TP的影響,即FP變大的更多,從而導致精確率下降。),計算精確率和召回率的前提是設定一個閾值,將預測概率大於閾值的樣本歸為正樣本,預測概率小於閾值的樣本歸為負樣本。實際中,精確率和召回率重要性不同,有時候精確率更重要,比如風控模型(誤殺太多會帶來糟糕的使用者體驗),有時候召回率更重要,比如推薦模型。
以召回率為橫軸,以精確率為縱軸可以畫P-R曲線。P-R曲線越靠近右上角越好。如果預測的結果,正樣本的預測概率均大於負樣本的預測概率,那麼P-R曲線將變成一條折線。
P-R曲線下的面積叫AP分數(Average Precision Score,平均精確率分數)。
AP分數能在一定程度上反映模型的精確率和召回率都高的比例。但計算起來並不方便,為此人們提出了一些其他的綜合考慮精確率和召回率的指標。
值是常用的指標,其是精確率和召回率的調和平均值
值可以泛化為精確率和召回率不同權重進行加權調和:
此外,準確率和錯誤率也是常用的評估指標
準確率(accuracy) =
錯誤率(error rate) =
精確率和準確率是有區別的,精確率是一個二分類指標,而準確率能應用於多分類。
2)ROC與AUC
用準確率、召回率對模型的效果進行評價時,需要對預測概率設定一個閾值,這樣就會額外引入一個超引數,並且這個超引數會影響模型的泛化能力。
ROC(Receiver Operating Characteristic)曲線不需要設定這樣的閾值。ROC曲線的縱座標是真正率,而橫座標是假正率。公式是
真正率(TPR) =
假正率(FPR) =
真正率與假正率變化趨勢是一致的。所以FPR-TPR是一條遞增的曲線。ROC曲線的繪製很簡單,只需要按模型的預測概率排序,然後以每一個樣本的預測概率為閾值,計算該閾值下的TPR、FPR,就可以獲得大量離散的點(FPR,TPR),將這些離散的點連起來,就成了一條接近連續的曲線。
ROC越靠近左上角越好,最好的情況就是ROC曲線變成了一條與座標軸重合的折線,什麼時候ROC會是這樣的折線呢?就是當模型對正樣本的預測概率值都大於對負樣本的預測概率值。
AUC即ROC曲線下的面積,取值越大說明模型越可能將正樣本排在負樣本之前。統計學意義上,AUC等於隨機挑選一個正樣本和一個負樣本時,分類器將正樣本排前面的概率。當ROC曲線為折線時,AUC取得最大值1,此時模型將全部的正樣本排在了負樣本前面(按預測概率)。
AUC的計算方法有多種,物理意義上,AUC是ROC曲線下的面積,那麼利用微元法,曲線下的面積,就是眾多的小梯形面積之和。
概率意義上,AUC衡量的是排序質量,
這裡排序問題的AUC範圍是(0,1),它對排序敏感,而對具體的預測概率不很敏感(改變預測概率,但不改變排序結果,ROC曲線形狀不會變)
3)對數損失
對數損失,即對數似然損失(Log-likelihood Loss),也就是交叉熵損失(cross-entropy Loss)
log loss =
對於二分類問題,對數損失為
log loss =
其中,為第個樣本預測為1的概率。
多分類任務中的對數損失為
log loss =
其中,為樣本數,為類別數,是一個二值指標,表示第個樣本的類別為,為第個樣本類別的概率。中只有一個取1,其餘全部取0,假設第個樣本屬於類別,那麼,預測概率越接近1越好(loss越小)。
log loss衡量的是預測概率分佈與真實概率分佈的差異性,取值越小越好。與AUC不同,log loss對預測概率敏感。
1.1.2 迴歸指標
1)平均絕對誤差
平均絕對誤差(Mean Absolute Error, MAE),也叫L1範數損失
2)平均絕對百分誤差(MAPE)
如果MAPE=10,這表明預測平均偏離真實值10%。MAPE是一個無量綱的量,所以在特定場景下不同問題具有一定可比性。
3)均方根誤差
RMSE對離群點敏感,健壯性不如MAE。模型使用RMSE作為損失函式是對資料分佈的平均值進行擬合。
1.1.3 排序指標
1)平均準確率均值(Mean Average Precision,MAP)
(沒看懂)
2)NDCG
1.1 評估指標
評估指標用於反映模型效果。在預測問題中,要評估模型的效果,就需要將模型的預測結果f(X)f(X)f(X)和真實標註YYY進行比較,評估指標定義為f(X)f(X)f(X)和YYY的函式。
通常,線下使用的是機器學習評估指標,而線上使用的是業務指標
第一章 問題建模
第二章 特徵工程
第三章 常用模型
第四章 模型融合
第五章 使用者畫像
第六章 POI實體連結
第七章 評論挖掘
第八章 O2O場景下的查詢理解和使用者引導
第九章 O2O場景下排序的特點
第十章 推薦
計算給定資料集的夏農熵from math import log
import operator
def calcShannonEnt(dataSet):
numEntries = len(dat
美團的作品《美團機器學習實戰》,是工程領域非常好的一本書。也是難得的國內的人工智慧領域比較實用的作品,豆瓣評分大於7.5,這個評分在計算機領域算是不錯的書了。
但是為什麼選材如此好的作品未到8分呢,最近剛開始讀,說說從第一節公式介紹看到的問題。
1、學習人工智慧大家都知道最令人懼
如圖中梯度上升法給出的函式程式碼。 假設函式為: 1、梯度上升演算法(引數極大似然估計值): 通過檢視《統計學習方法》中的模型引數估計,分類結果為類別0和類別1的概率分別為: 則似然函式為: 對數似然函式為: 最大似然估計求使得對數似然函式取最大值時的引數
由於此書不配程式碼,以下程式碼都是本寶寶在ipynb測試過的,執行環境為hdp2.6.2和Anaconda2。完整ipynb和py程式碼地址:https://gitee.com/iscas/deep_spark_ml/tree/master11.3 資料載入刪除標題sed 1
支援向量機簡要介紹
一些概念:
1.分隔超平面:在二維中直觀來說就是將資料集分隔開來的直線,三維中則是一個平面。觸類旁通。
2.超平面:分類的決策邊界,分佈在超平面一側的所有資料都屬於某個類別,另一側屬於另一個。
3.支援向量:離分隔超平面最近的那些 神經網路與機器學習第3版學習筆記
-初學者的筆記,記錄花時間思考的各種疑惑
第一章 Rosenblatt感知器
1、第32頁
1.1 為什麼如果第n次迭代時的內積存在符號錯誤,第n+1次迭代內積的符號就會正確?
已知 $ 分類問題 子集 觀察 組成 cas 普通 重復 1.0 需要 《機器學習》第三章 決策樹學習
決策樹學習方法搜索一個完整表示的假設空間,從而避免了受限假設空間的不足。決策樹學習的歸納偏置是優越選擇較小的樹。
3.1.簡介
決策樹學習是一種逼近離散值目標函數的方法,在這種方法 表示 article err () tail mat cycle col transpose
def gradAscent(dataMatIn, classLabels):
dataMatrix = mat(dataMatIn) #co nes 重要性 function mine spl 技術 可能 copy elar 將不同的分類器組合起來,這種組合結果被稱為集成方法或元算法(meta-algorithm)。
使用集成方法時會有多種形式:(1)可以是不同算法的集成(2)可以是同一種算法在不同設置下的集成 矩陣 向量 from his sca ima 用戶 targe 不可 1.簡單的線性回歸
假定輸入數據存放在矩陣X中,而回歸系數存放在向量W中,則對於給定的數據X1,預測結果將會是
這裏的向量都默認為列向量
現在的問題是手裏有一些x
一、優化目標
邏輯迴歸中的代價函式:
畫出兩種情況下的函式影象可得:
y=1: 我們找一條折線來近似表示這個函式影象
y=0:
我們用這兩條折線來近似表示原來的曲線函式可得新的代價函式(假設-log(h(x))為,-log(1
一、簡介
我們在執行梯度下降的時候,需要求得J(θ)的導數,反向傳播演算法就是求該導數的方法。正向傳播,是從輸入層從左向右傳播至輸出層;反向傳播就是從輸出層,算出誤差從右向左逐層計算誤差,注意:第一層不計算,因為第一層是輸入層,沒有誤差。
二、如何計算
設為第l層,第j個的誤差。
神經網路是非線性的分類演算法。模擬人類的神經系統進行計算。
1、原因
當特徵數很大的時候(比如100個),那麼在假設函式的時候要考慮太多項,包含x1x2,x1x3,x2x3等等,不能僅僅單個考慮x1,x2等,這樣一來,在擬合過程中的計算量就會非常大。
2、基本概念
其中,藍色的
在我們擬合的時候,根據我們選擇函式的不同可能會出現欠擬合,擬合程度較好,過擬合。
1.欠擬合和過擬合
欠擬合,上面第一張圖就是欠擬合情況,欠擬合表現為所選的函式沒有很好的擬合所給的資料,從影象上看就是很多資料都不在函式上,偏
一、邏輯迴歸
邏輯迴歸通俗的理解就是,對已知類別的資料進行學習之後,對新得到的資料判斷其是屬於哪一類的。
eg:對垃圾郵件和非垃圾郵件進行分類,腫瘤是惡性還是良性等等。
1.為什麼要用邏輯迴歸:
對於腫瘤的例子:
在外面不考慮最右邊的樣本的時候我們擬合的線性迴歸
一、特徵縮放
----(1)
對於我們假設的式子(1),可能存在這樣一種情況就是有些資料遠大於另一些資料(eg:x_1>>x_2)
比如房子價格的例子:
房子的面積要遠大於房子的層數和房間數。在這種情況下可以看下圖,所產生的等高線的圈會很窄,在做梯度下降
資料在機器學習中起著重要的作用。
在談論資料時,理解和使用正確的術語非常重要。 你如何看待資料?想想電子表格吧,有列、行和單元格。
從統計視角而言,機器學習的任務是在假設函式( f )的上下文中構建資料。這些假設函式由機器學習演算法通過學習建立。給定一些輸入變數( Input ),該函式回答 1.1 抽象過程
面向物件思想的實質:程式可以通過新增新型別的物件使自身適用於某個特定問題。
面向物件思想的五個基本特徵:
1)萬物皆物件
2)程式是物件的集合
3)每個物件都有自己的由其他物件所構成的儲存
4)每個物件都有其型別
5)某一特定型別的所有物件都可以接收同樣的訊息
物件具有行為、
先引入一個概念,相關等級。如在網頁搜尋場景中,輸入一個詞,搜尋引擎會返回若干網頁,每一個返回的網頁和搜尋關鍵詞的相關性是不一樣的,可以用一些數值來表示相關性大小,2表示非常相關,1表示相關,0表示無關,-1表示垃圾檔案。
用rel來表示相關等級,我們可以計算前個位置累計得到的收益(可以理解為對返回的前個網頁好壞的衡量結果)為
DCG (Discounted Cumulative Gain)
在CG中的計算沒有考慮到位置資訊,比如檢索到了三個文件相關度一次為(3,-1,1)和(-1,1,3),顯然前面的排序好一點,但是兩個排名的CG值是相同的,所以要在CG運算中中加入位置資訊的計算。假設每個位置按照從小到大排序,它們的價值依次遞減,如假設第個位置的價值為,那麼DCG的公式即為
另一種比較常用的,用來增加相關度影響比重的DCG計算方式是:
IDCG是理想狀態下的DCG,即DCG取得最大值的情況。公式為:
其中|REL|表示文件按照相關性從大到小的順序排序,取前p個文件組成的集合。
NDCG (Normalize DCG)
由於每個查詢語句所能檢索到的結果文件集合長度不一,p值的不同會對DCG的計算有較大的影響。所以不能對不同查詢語句的DCG進行求平均,需要進行歸一化處理。NDCG就是用IDCG進行歸一化處理,表示當前DCG比IDCG還差多大的距離。公式如下:
相關推薦
《美團機器學習實踐》第1章 問題建模
《美團機器學習實踐》—— 讀後總結
機器學習實踐-第三章 決策樹
簡易說人工智慧(三) 細數《美團機器學習實戰》裡的錯誤 1:開篇詞
機器學習實戰—第5章:Logistic迴歸中程式清單5-1中的數學推導
《深度實踐Spark機器學習 》第11章 pyspark決策樹模型
機器學習實戰第六章支援向量機照葫蘆畫瓢演算法實踐
神經網路與機器學習第3版學習筆記-第1章 Rosenblatt感知器
《機器學習》第三章 決策樹學習 筆記加總結
機器學習實戰第五章Logistic回歸
機器學習實戰第7章——利用AdaBoost元算法提高分類性能
機器學習實戰第8章預測數值型數據:回歸
吳恩達機器學習(第十三章)---支援向量機SVM
吳恩達機器學習(第十章)---神經網路的反向傳播演算法
吳恩達機器學習(第九章)---神經網路
吳恩達機器學習(第八章)---正則化
吳恩達機器學習(第七章)---邏輯迴歸
吳恩達機器學習(第五章)--特徵縮放和學習率
機器學習筆記 第1課:機器學習中的資料
java程式設計思想學習筆記——第1章 物件導論