1,機器學習概念
機器學習是從資料中自動分析獲得模型,並利用模型對未知資料進行**。
2.機器學習的工作流程
(1)獲取資料
(2)資料基本處理
(3)特徵工程
(4)機器學習(模型訓練)
(5)模型評估
3.對資料集的解釋
在資料集中:
一行資料稱為乙個樣本
一列資料稱為乙個特徵
有些資料有目標值(標籤值)有些沒有(下圖中電影型別即為目標值)
資料型別構成:
資料型別一: 特徵值+目標值(目標值分為i連續和離散的)
資料型別二:只有特徵值
資料分割:
機器學習一般的資料集會劃分成兩個部分:
(1)訓練資料:用於訓練,構建模型
(2)測試資料:用於評估模型是否有效
劃分比例:
(1)訓練集:70% 80% 75%
(2)測試集:30% 20% 25%
資料基本處理
對資料進行缺失值,去除異常值等處理
什麼是特徵工程
特徵工程是使用專業背景知識和技巧處理資料,使的特徵能在機器學習演算法上發揮更好的作用的過程。
會直接影響機器學習的效果。
為什麼需要特徵工程?
資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。
特徵工程包含哪些內容?
(1)特徵提取:(將任意資料(如文字或影象)轉換為可用於機器學習的數字特徵)
(2)特徵預處理:通過一些轉換函式將特徵資料轉換成更加適合演算法模型的特徵資料過程
(3)特徵降維:
指在某些限定條件下,降低隨機變數(特徵)個數,得到一組「不相關」主變數的過程
1 抽象成數學問題
明確問題是進行機器學習的第一步。機器學習的訓練過程通常都是一件非常耗時的事情,胡亂嘗試時間成本是非常高的。
這裡的抽象成數學問題,指的明確我們可以獲得什麼樣的資料,抽象出的問題,是乙個分類還是回歸或者是聚類的問題。
2 獲取資料
資料決定了機器學習結果的上限,而演算法只是盡可能逼近這個上限。
資料要有代表性,否則必然會過擬合。
而且對於分類問題,資料偏斜不能過於嚴重,不同類別的資料數量不要有數量級的差距。
而且還要對資料的量級有乙個評估,多少個樣本,多少個特徵,可以估算出其對記憶體的消耗程度,判斷訓練過程中記憶體是否能夠放得下。如果放不下就得考慮改進演算法或者使用一些降維的技巧了。如果資料量實在太大,那就要考慮分布式了。
3 特徵預處理與特徵選擇
良好的資料要能夠提取出良好的特徵才能真正發揮作用。
特徵預處理、資料清洗是很關鍵的步驟,往往能夠使得演算法的效果和效能得到顯著提高。歸一化、離散化、因子化、缺失值處理、去除共線性等,資料探勘過程中很多時間就花在它們上面。這些工作簡單可複製,收益穩定可預期,是機器學習的基礎必備步驟。
篩選出顯著特徵、摒棄非顯著特徵,需要機器學習工程師反覆理解業務。這對很多結果有決定性的影響。特徵選擇好了,非常簡單的演算法也能得出良好、穩定的結果。這需要運用特徵有效性分析的相關技術,如相關係數、卡方檢驗、平均互資訊、條件熵、後驗概率、邏輯回歸權重等方法。
4 訓練模型與調優
直到這一步才用到我們上面說的演算法進行訓練。現在很多演算法都能夠封裝成黑盒供人使用。但是真正考驗水平的是調整這些演算法的(超)引數,使得結果變得更加優良。這需要我們對演算法的原理有深入的理解。理解越深入,就越能發現問題的癥結,提出良好的調優方案。
5 模型診斷
如何確定模型調優的方向與思路呢?這就需要對模型進行診斷的技術。
過擬合、欠擬合 判斷是模型診斷中至關重要的一步。常見的方法如交叉驗證,繪製學習曲線等。過擬合的基本調優思路是增加資料量,降低模型複雜度。欠擬合的基本調優思路是提高特徵數量和質量,增加模型複雜度。
誤差分析 也是機器學習至關重要的步驟。通過觀察誤差樣本全面分析產生誤差的原因:是引數的問題還是演算法選擇的問題,是特徵的問題還是資料本身的問題……
診斷後的模型需要進行調優,調優後的新模型需要重新進行診斷,這是乙個反覆迭代不斷逼近的過程,需要不斷地嘗試, 進而達到最優狀態。
6 模型融合
一般來說,模型融合後都能使得效果有一定提公升。而且效果很好。
工程上,主要提公升演算法準確度的方法是分別在模型的前端(特徵清洗和預處理,不同的取樣模式)與後端(模型融合)上下功夫。因為他們比較標準可複製,效果比較穩定。而直接調參的工作不會很多,畢竟大量資料訓練起來太慢了,而且效果難以保證。
7 上線執行
這些工作流程主要是工程實踐上總結出的一些經驗。並不是每個專案都包含完整的乙個流程。這裡的部分只是乙個指導性的說明,只有大家自己多實踐,多積累專案經驗,才會有自己更深刻的認識。
機器學習筆記(二)
總結自 機器學習 周志華 模型評估與選擇 錯誤率 樣本總數 分類錯誤的樣本數 精度 1 錯誤率 誤差 實際 輸出與樣本真實輸出之間的差異 訓練誤差 學習器在訓練集上的誤差 泛化誤差 學習器在新樣本上的誤差 過擬合 學習能力過於強大,將訓練樣本本身的一些不太一般的特點當作所有潛在樣本的特點導致演算法泛...
筆記 機器學習入門(二)
第一周有三大節,第一節是introduction,簡單介紹了機器學習的分類,監督學習和非監督學習各自的特點和區別,殘念的是做了三次課後作業,都沒能全部做對,多選題對於英語差的我來說真的是太不友好了。第二節主要講述了單變數的線性回歸問題。模型表述 依舊是通過預估房價的例子來構建了模型,對於資料集的描述...
機器學習筆記 二 Regression回歸
這裡面,輸入變數x有兩個,乙個是居住面積 living area 乙個是房間數目 bedrooms 所以x 是乙個二維向量。我們假設輸入和輸出呈線性關係,那麼便有下面的公式。其中,其中右邊是線性代數中向量相乘的寫法。這樣一來,我們最終是要學習的就是parameters 也就是求 的值,使得h x 最...