機器學習(一):統計學習問題概述
學習:“如果一個系統能夠通過執行某個過程改進它的效能,這就是學習。”按照這一觀點,統計學習就是計算機系統通過運用資料及統計方法提供系統性能的機器學習。
機器學習的物件是資料,它從資料出發,提取資料特徵,抽象出資料模型,發現數據中的知識,又回到對資料的分析和預測中去。[機器學習關於資料的基本假設是:同類資料具有一定的統計規律性。由於它們具有統計規律性,所以可以用概率統計方法來處理。]
1. 何時使用機器學習?
根據機器學習的性質,我們可以得出:
- 存在“underlying pattern”需要我們學習,因為機器學習依靠的就是從資料中抽象模型。
- 沒有programmable(easy)definition。這可以類比於:程式設計方法是問題的精確解、規則化的解;而機器學習是概率統計上的解。那麼,可以用程式設計方式解決的問題,傳統程式設計方式自然是首選。
- 必須有data,因為機器學習的物件就是data。
2. 機器學習問題的形式化描述
2.1 機器學習形式化描述圖
幾個術語:[輸入輸出變數用大寫表示;輸入輸出變數所取的值用小寫表示]
- 輸入空間X:輸入x的所有可能取值的集合;
- 輸出空間Y:輸出y的所有可能取值集合;
- 訓練資料D;
- 未知的目標函式
- 假設空間H:由輸入空間到輸出空間的對映的集合。H的確定意味著學習範圍的確定
監督學習問題的文字描述:假設存在某目標函式
2.2 機器學習方法的步驟
根據上面的描述,我們可以得到實現機器學習方法的步驟:
1. 得到一個有限的訓練資料集合;
2. 確定包含所有可能的模型的假設空間,即學習模型的集合;
3. 確定模型選擇的準則,即學習的策略;
4. 確定求解最優模型的演算法,即學習的演算法;
5. 通過學習方法選擇最優模型;[3、4、5合起來就是學習演算法A]
6. 利用學習的最優模型對新資料進行預測和分析。
上述的6個步驟都很重要,我們會逐個講解,其中模型的假設空間、模型選擇的準則和魔性學習的演算法稱為機器學習演算法三要素,簡稱:模型(model)、策略(strategy)和演算法(algorithm)。
2.3 進階版機器學習形式化描述圖
這與之間的圖有兩點不同;
1. 之前的training data D的來源是:(x,f(x))。其中x從服從某一概率分佈P(x);現在我們假設D來源於(x,f(x)),其中x服從某一P(x),f(x)+Noise服從某一P(y);也即:X和Y服從某一聯合概率分佈P(x,y)。
2. 加入了error measure err和學習演算法A中的
根據上述的形式化描述,我們自然而然的產生如下問題:
3. Q1:學習策略是怎麼的?
也即給定假設空間H,按照什麼樣的準則學習或選擇出最優的模型g?
對於監督學習問題,假設從H中選擇了一個決策函式f,那麼f(X)與Y可能有差距,用一個損失函式(loss function)或代價函式(cost function)來度量預測錯誤的程度。
- 0-1損失函式
- 平方損失函式
- 絕對損失函式
- 對數損失函式
對於y={-1,1}的二分類問題有:
損失函式越小,模型就越好。損失函式的期望是:
問題是
根據大數定律,當N足夠大時,
至此,我們得出的結論是:
策略1:選擇假設空間H中使得經驗損失最小的函式作為最優模型g。
4. Q2:學習演算法A採用策略1是正確的嗎?
以二分類問題為例,我們來論述此問題,
那麼策略1就是:在假設空間H中選擇
我們的問題是:g是不是H中使得
在N非常大的情況下,根據大數定律,
4.1 在N有限的情況下
4.1.1 Hoeffding不定式
對於H中某一模型h,對於資料集D(size=N)必然有
也即:如果N足夠大,
4.1.2 學習演算法使用策略1的效果
橘色表示h預測錯誤的樣本,綠色表示h預測正確的樣本。罐子裡代表所有樣本,抓出來的代表訓練樣本。
那麼,按照策略1,學習演算法A就是在尋找
這是什麼意思呢?
對於A演算法選擇h過程,我們要考慮的問題是:h在D上的表現能不能代表h在整體上的表現。假設hypothesis set H無限多,那麼總有瞎貓碰上死耗子的可能性:有一個h在D上表現完美,而在整體上表現很差。也即問題是:h1,…,h5在D上的表現可以代表在整體上的表現,而h6在D上的表現不能代表其在整體上的表現。但是A選擇了h6,那麼結果就與我們的預期大相徑庭了。
於是,策略1的使用條件是:對於hypothesis set中的所有的h,h在D上的表現都能代表h在整體上的表現。
4.1.3 “H在D上的表現能代表H在整體上的表現”的概率
h在D上的表現都能代表h在整體上的表現我們稱為GOOD D for h。
假設對於D,根據Hoeffding定理,只有指定了
那麼對於某一個D,只有對於H中所有的h都是GOOD,才是對於H是GOOD
相關推薦
機器學習(一):統計學習問題概述
學習:“如果一個系統能夠通過執行某個過程改進它的效能,這就是學習。”按照這一觀點,統計學習就是計算機系統通過運用資料及統計方法提供系統性能的機器學習。 機器學習的物件是資料,它從資料出發,提取資料特徵,抽象出資料模型,發現數據中的知識,又回到對資料的分析和預測
李航-統計學習方法筆記(一):統計學習方法概論
對象 統計學 技術分享 精確 結束 人的 發生 abs 速度 本系列筆記,主要是整理統計學習方法的知識點和代碼實現各個方法,來加強筆者對各個模型的理解,為今年找到好工作來打下基礎。 計劃在一個月內更新完這本書的筆記,在此立一個flag: 從2019/2/17開始 到 20
用python來實現機器學習(一):線性迴歸(linear regression)
需要下載一個data:auto-mpg.data 第一步:顯示資料集圖 import pandas as pd import matplotlib.pyplot as plt columns = ["mpg","cylinders","displacement","horsepowe
機器學習(一): 主要術語
機器學習研究如何通過計算的方式,利用資料集來改善系統自身的效能。 而深度學習是屬於機器學習的一個子分支。 機器學習的通用的兩種型別: 無監督學習:事先並沒有任務訓練資料的樣本,需要直接對資料進行建模型。 監督學習:通過已經有的訓練樣本(即輸入資訊和對應的輸出)來訓練,
槓精的機器學習(一):線性迴歸
主要參考資料為《小象學院-機器學習IV》 打個廣告,這套視訊真的非常贊,建議大家看三遍以上,每一遍都有新的收穫,BiliBili上有免費資源,感謝鄒博!!! 前言:在實際應用中,迴歸是非常常見的一類問題,當然用於解決迴歸問題的方法也有很多,例如線性迴歸(
機器學習(一):快速入門線性分類器
定義 假設特徵與分類結果存線上性關係的模型,這個模型通過累加計算每個維度的特徵與各自權重的乘積來幫助類別決策。 線性關係公式 :f(w,x,b)=w^tx+b x=(x1,x2,…xn) 代表n維特徵列向量,w=(w1,w2,…wn)代表對應的權
機器學習(一): python三種特徵選擇方法
特徵選擇的三種方法介紹: 過濾型: 選擇與目標變數相關性較強的特徵。缺點:忽略了特徵之間的關聯性。 包裹型: 基於線性模型相關係數以及模型結果AUC逐步剔除特徵。如果剔除相關係數絕對值較小特徵後
模式識別與機器學習(一):概率論、決策論、資訊理論
本系列是經典書籍《Pattern Recognition and Machine Learning》的讀書筆記,正在研讀中,歡迎交流討論。 基本概念 1. 模式識別(Pattern Recognition):是指通過演算法自動發現數據的規律,並進行資料分類等任務。
MATLAB R2018a 統計和機器學習工具箱學習(一) 描述性統計與視覺化
MATLAB R2018a 統計和機器學習工具箱學習(一) 描述性統計與視覺化 該內容被分為三個部分: 一、資料管理(Managing Data); 二、描述性統計(Descriptive Statistics); 
機器學習(一):啟用函式(Activation Function)
0. 啟用函式 上圖為wiki上的定義:啟用函式定義了每個節點(神經元)的輸出和輸入關係的函式。 下表:常用啟用函式 編號 函數 公式 1) sigmoid(
機器學習(一):用sklearn進行資料預處理:缺失值處理、資料標準化、歸一化
在我們平時進行資料資料探勘建模時,一般首先得對資料進行預處理,其中就包括資料缺失值、異常值處理、資料的標準化、歸一化等等。 下面主要介紹如何對一個數據檔案進行資料的缺失值處理、標準化和歸一化 MID_SP MID_AC MID_R25 MID_COND LITHO1 55.
Java學習(4):統計一個文件中的英文,中文,數字,其他字符以及字符總數
port let args str reader 文件路徑 要求 cnblogs pub 要求:統計一個文件中的英文,中文,數字,其他字符以及字符總數(此隨筆以txt文件為例) import java.io.BufferedReader; import java.io.F
CSS3總結學習(一):CSS3用戶界面
interface 繪制 如果 位置 nbsp 瀏覽器 none ble adding 在CSS3中,新的用戶界面屬性有很多,本文重點介紹resize,box-sizing,offset。 瀏覽器支持,如下圖,圖片源於W3school 1.CSS Resizing 在cs
[linux][MongoDB] mongodb學習(一):MongoDB安裝、管理工具、
ole ont mon mkdir man 管理工具 tar end 認證 參考原文:http://www.cnblogs.com/kaituorensheng/p/5118226.html linux安裝完美實現! 1. mongoDB安裝、啟動、關閉 1.1
Unity3D學習(一):簡單梳理下Unity跨平臺的機制原理
12px get 一個 bsp 嵌入 ram 屬於 開源 runtime 前言 首先需要了解的是,Unity3D的C#基礎腳本模塊是通過Mono來實現的。 什麽是Mono? 參考下百度百科:Mono是一個由Novell公司(由Xamarin發起)主持的項目,並由Migu
tp5.0 學習(一):虛擬環境安裝
安裝php admin cat code logs exe erro ron log 一、文件目錄: application: 應用目錄,開發文件存放地 extend:擴展 public:入口文件 thinkphp:核心代碼 vendor:第三方類庫 二、域名Apache配
canvas學習(一):線條,圖像變換和狀態保存
itl height tar 默認 class limit 方法 星空 stop canvas學習(一):線條,圖像變換和狀態保存 一:繪制一條線段: var canvas = document.getElementById(‘canvas‘) var ctx = can
JavaAPI學習(一):API && String類 && Stringbuffer && StringBuilder
vax 編碼 長度 split() 無敵 esp ogr charat() ble 一、API 1、API:英文 Aplication Progrmmer Iteface 的縮寫,即應用編程接口 由官方或第三方提供的能實現特點功能的程序封裝包,包含各功能類,接口
前端學習(一):基本類型
關系 大小寫 變量 def 兩個 num eof 初始化 string類 ECMAScript中有5中基本數據類型:Undefined、Null、Boolean、Number、String。 Undefined類型:之所以會出現這個值,就是在當你聲明了一個變量時,並未對其賦
docker學習(一):docker安裝和架構
本筆記根據51CTO的CloudMan博主的部落格而記錄的。 本節主要學習 docker安裝和解除安裝 docker的架構 一、Docker的安裝和解除安裝 Docker的安裝 1、安裝之前,要先把舊版的Docker給解除安裝了,以下是Docker官網上的安裝前解除安裝Dock