1. 程式人生 > >PRML讀書筆記(一)

PRML讀書筆記(一)

從多項式擬合開始

機器學習中的有監督學習

機器學習中的有監督學習,是指訓練樣本包含輸入向量以及對應的目標向量。即(x,y),xy為向量。

對於向量y,若它由離散變數組成,則被稱為分類(classification)問題。如對數字識別,輸入x為包含數字的影象向量,y為對應的真實值類別0,1,2,,9;

y由連續變數組成,則被稱為迴歸(regression)問題。如多項式擬合問題;

多項式擬合例子

現在有函式t=sin(2πx),想用一種簡單的方式進行曲線擬合,如下函式:

y(x,w)=w0+w1x+w2x2++wMxM=j=0Mwjxj
M是多項式的階數,w是多項式的係數,現在我們想要確定的是多項式階數M和係數w

如何確定?

這裡就引入了誤差函式的概念。可以通過最小化誤差函式(error function)來實現。誤差函式是衡量真實值與預測值之間差距的函式。一種廣泛應用的誤差函式是每個資料點xn的預測值y(xn,w)和目標值tn的平方和,即最小化

E(w)=12n=1N{y(xn,w)(1)
其中,12是為了計算方便。由於(1)式是w的二次函式,因此它的最小值有唯一解,記作w,最終的多項式可以由y(x,w)給出。

我們可以通過給t=sin(2πx)加上一些隨機噪聲來產生資料,即t=sin(2πx)+δ

δ服從高斯分佈。取10組資料(x,t).

這裡寫圖片描述

根據不同的階數,可以擬合出不同的模型。取M=0,1,3,9

這裡寫圖片描述

從上圖可以看到,對於M=0或者M=1,多項式的擬合效果很差,很難識別出資料點中隱含的規律t=sin(2πx),對於M=3,多項式曲線能通過大部分的點,曲線的形狀也近似等於t=sin(2πx);對於M=9,多項式曲線通過了所有十個點,此時誤差函式E(w)=0,但它是我們想要的擬合多項式嗎?顯然不是,因為它的曲線形狀完全與t=sin(2πx)不符,這種現象叫做過擬合(overfitting)。

如何解決過擬合?

首先嚐試加大資料量。取N=100,做同樣的實驗。

這裡寫圖片描述

發現隨著N的增大,過擬合的現象在減少。

但若一定要在N=10的資料上使用該模型呢?通常的做法是給引數加一個正則項的約束防止過擬合,一個最常用的正則項是平方正則項,即控制所有引數的平方和大小:

E(w)=12n=1N{y(xn,w)+λ2w2

w2=wTw=w20+w21++w2M, λ是控制正則項和誤差項的相對重要性的引數。

這裡寫圖片描述

概率論

第一章介紹了概率論中的一些基本概念,sum rule和product rule,以及bayes公式,期望、方差、協方差等概念。重點記錄一下貝葉斯概率。

Bayes概率

對於一組模型引數w,假設服從先驗概率分佈p(w)

D{t1,t2,tn}是我們觀測到的一組資料,這組資料在引數 w下的條件概率分佈為p(D|w).

由Bayes公式知:

p(w|D)=p(D|w)p(w)p(D)

這樣我們就可以通過D來確定

相關推薦

PRML讀書筆記

從多項式擬合開始 機器學習中的有監督學習 機器學習中的有監督學習,是指訓練樣本包含輸入向量以及對應的目標向量。即(x,y),x和y為向量。 對於向量y,若它由離散變數組成,則被稱為分類(classification)問題。如對數字識別,輸入x為包含數字

《代碼閱讀》讀書筆記

需求 的人 一行 編碼 重要 流動 使用 分析 缺少 《代碼閱讀》讀書筆記(一) 《代碼閱讀》(《Code Reading The Open Source Perspective》)Diomidis Spinellis 著 ---------------------

SICP讀書筆記

自由 運用 實參 隱藏 更多 定義 並不是 謂詞 精確 第一章 構造過程抽象 計算過程是存在於計算機裏的一類抽象事物,它在演化過程中會去操作一些被稱為數據的抽象事物。我們通過創建被稱為程序的規則模式來指導這類過程的進行。程序由程序設計語言編排而成。 我們將要使用Lisp

崔華基於oracle的SQL優化讀書筆記如何得到真實的執行計劃

hash mes getting binary oracl only 中文 fun roc ---恢復內容開始--- 得到目標SQL的執行計劃,大致有以下四種方式: 1.explain plan 命令 2.DBMS_XPLAN包 3.SQLPLUS中的autotrace開關

《可愛的Python》讀書筆記

可愛的Python 閏年 素數 質數 Just use it! don't learn!——只用,不學!無意間了解到《可愛的Python》就被它的名字所吸引。查了書評得知這本書是有爭議的,有人覺得書中很多都是點到為止不適合新手入門,處處給讀者挖坑,結構混亂更不能作為參考書。有人認為此書

《Python網絡數據采集》讀書筆記

urllib BeautifulSoup 思考“網絡爬蟲”時通常的想法:? 通過網站域名獲取 HTML 數據? 根據目標信息解析數據? 存儲目標信息? 如果有必要,移動到另一個網頁重復這個過程當網絡瀏覽器遇到一個標簽時,比如<img src="cuteKitten.jpg"&

《用戶網絡行為畫像》讀書筆記

感覺 數據結構 定性 角度 筆記 穩定性 包括 習慣 收藏 推薦就是發掘用戶集合和對象集合的語義關系,為用戶提供語義最相關的 TOP-N 對象集合。 語義關系就是能讀懂用戶偏好興趣的核心。 推薦系統是面向具體業務的交叉研究,無業務講推薦系統,感覺言之無物;從技術來講,不同的

《編碼-隱匿在計算機背後的語言》 —— 讀書筆記:編碼

分享圖片 信號 組合 大小寫 不變 缺點 改變 有著 書寫 1. 至親密友 1) 什麽是編碼?編碼是一種用來在機器與人之間傳遞信息的方式,編碼就是交流。 2)莫爾斯電碼,只有點和劃(國際求救信號:SOS ...---...),缺點是不區分大小寫。

《軟件測試方法和技術》-讀書筆記

圖片 軟件工程 AI 開發 支持 ont 3年 發的 一次 軟件測試正反兩方面的爭辯 軟件測試領域先驅 Bill Hetzel 博士 1993年在美國的北卡羅來納大學組織了歷史上第一次正式的關於軟件測試的會議。從此以後,軟件測試開始頻繁出現在軟件工程的研究和實踐中,也可以認

《黑客與畫家》讀書筆記

能說 互聯 可能 研究 歷史 設計 職位 天下無敵 聯網 《黑客與畫家》讀書筆記(一) 黑客與畫家 黑客與畫家的共同之處,在於他們都是創作者,都試圖創作出優秀的作品。 他們本質上都不是在做研究,雖然過程中可能發現一些新技術。黑客的出發點是原創,最終得到一個優美的結果;科學家

深度探索C++對象模型讀書筆記

復雜 理解 image play 基礎上 isp 靜態 布局 bject 《深度探索C++對象模型》這本書也算是學習C++面向對象編程的必備書了,打算花上幾天先簡單的看一遍,這種書看上好幾遍也不一定能理解太多,慢慢積累一點一滴吃透就好。下面把我看書過程中覺得比較有意義的摘錄

《深入理解計算機系統》——讀書筆記

img 可執行 即將 簡單的 world std 加載 完整 .exe   這本書從一個簡單的C語言的HelloWorld程序講起...   這是這個小程序的生命周期的一個部分:   HellOWorld程序,從被創建(文本格式),到被執行(在屏幕上打印出來)。   其

遊戲人工智能 讀書筆記前言與介紹

style 簡單的 center 不同 可能性 傳統 lock 常見 symbol WeTest 導讀 自人工智能誕生之始,就和遊戲緊密的相結合在一起。因為人們通常認為,人類玩遊戲的過程是蘊含著人類的智能的。因此,當人們創造出一個能夠完成人類的某種遊戲的程序,我們認為這個程

C陷阱與缺陷讀書筆記

之間 之前 符號 雙引號 陷阱 數組 調用 筆記 如果 第一章 1.2 按位運算符:& 邏輯運算符:&& 1.3 單字符符號:只有一個字符長 多字符符號:含多個字符

《JavaScript高級程序設計》讀書筆記JavaScript簡介

範圍 應用程序編程接口 分辨率 移動 views 標記語言 語句 AMM mode 起於客戶端數據驗證特性----閉包----匿名函數----元編程等----等想要全面理解和掌握JavaScript----本質----歷史----局限性 ECMAScript 腳本語言標準

《C#從現象到本質》讀書筆記

托管代碼 操作 擁有 底層 不同 使用 子集 存在 基於 最近根據博客園大神的推薦,買了本《C#從現象到本質》。做一點讀書筆記。 由於不懂IL和ldsdm,winddg,太深奧,理解不了,就牛嚼草一樣,先總結第一遍讀書,自己總結的知識點了。不知道這樣會不會侵權,如果侵權了,

微觀經濟學讀書筆記

寫在前面:世界風起雲湧,不懂點經濟學感覺都看不懂啊。  Ref:微觀經濟學,薩繆爾森。 Chapter 1:內容要點提要 1. 投機:包括對有價值物品或商品的買和賣。是從市場價格的波動中獲取利益的一種活動。投機的初衷是低價買入高價賣出。投機的方式包括時間排程和空間排程。投機的最終結果

《數字影象處理》岡薩雷斯版 讀書筆記

      博主之前保研差一名,去考了個研,許久不更。本次考研準備三個月,三跨(跨學校跨地區跨專業),自學了一波數字影象處理,考完自知不妙,修身養性一個月(實習+打遊戲)。現在百無聊賴,正好來分享一下我考研專業課的學習筆記。     &nbs

《資料探勘導論》讀書筆記—— 緒論

書名:資料探勘導論(Introduction to Data Mining) 作者: Pang-Ning Tan / Michael Steinbach / Vipin Kumar 出版社: 人民郵電出版社 譯者: 範明 / 範巨集建 出版年: 2010-12-10 ISBN: 978711524100

python高階程式設計讀書筆記

python高階程式設計讀書筆記(一) python 高階程式設計讀書筆記,記錄一下基礎和高階用法 python2和python3相容處理 使用sys模組使程式python2和python3相容 import sysver=sys.version_info#(ma