轉載請註明出處:http://www.cnblogs.com/ymingjingr/p/4271742.htmlhtml
先簡單介紹下這門課程,這門課是在著名的MOOC(Massive Online Open Course大型在線公開課)Coursera上的一門關於機器學習領域的課程,由國立臺灣大學的年輕老師林軒田講授。這門叫作機器學習基石的課程,共8周的課程爲整個機器學習課程的上半部分,更偏重於理論和思想而非算法,主要分爲四大部分來說授。 算法
When can Machine Learn?在什麼時候可使用機器學習?機器學習
Why can Machine Learn? 爲何機器能夠學習?函數
How can Machine Learn?機器能夠怎樣學習?學習
How can Machine Learn Better?怎樣能使機器學習更好?人工智能
每一大塊又分爲幾周來說授,每週的課時分爲兩個大課,每一個大課通常又分爲四個小塊來教學,一個小塊通常在十分鐘到二十分鐘之間。spa
以VC bound (VC限制)做爲總線將整個基礎課程貫通講解了包括PLA(Perceptron learning algorithm感知器)、pocket、二元分類、線性迴歸(linear regression)、logistic迴歸(logistic regression)等等。htm
如下不用大課小課來敘述了,寫起來感受怪怪的,就用章節來分別表明大課時和小課時。blog
機器學習問題。ci
課程簡介。
第一小節的內容就是課程簡介,如上已進行了詳細的介紹,這裏就很少贅述。
什麼是機器學習?
在搞清這個問題以前,先要搞清什麼是學習。
學習能夠是人或者動物經過觀察思考得到必定的技巧過程。
而機器學習與之相似,是計算機經過數據和計算得到必定技巧的過程。
注意這一對比,學習是經過觀察而機器學習是經過數據(是計算機的一種觀察)。
對比圖如圖1-1。(本筆記的圖和公式如不加說明皆是出自林老師的課件,下文不會對此在作說明)
圖1-1 學習與機器學習對比圖 a)學習 b)機器學習
那麼緊接着就是要解決上述中出現的一個新的名詞"技巧"(skill)。
什麼是技巧呢?技巧是一些能力表現的更加出色。
機器學習中的技巧如預測(prediction)、識別(recognition)。
來一個例子:從股票的數據中得到收益增多的這種技巧,這就是一種機器學習的例子。
那既然人也能夠經過觀察得到一個技巧,爲何還須要機器學習呢?
這就是爲何須要機器學習,簡單來講,就是兩大緣由:
一些數據或者信息,人來沒法獲取,多是一些人沒法識別的事物,或是數據信息量特別大;
另外一個緣由是人的處理知足不了需求,好比:定義不少不少的規則知足物體識別或者其餘需求;在短期內經過大量信息作出判斷等等。
上面說的是爲何使用機器學習,那麼什麼狀況下使用機器學習呢?是否是全部的狀況都使用機器學習呢?
這裏給出了三個ML(機器學習的英文縮寫)的關鍵要素:
一、存在一個模式或者說表現可讓咱們對它進行改進提升;
二、規則並不容易那麼定義;
三、須要有數據。
機器學習的應用。
這一小節主要介紹的就是機器學習能用在哪些方面。我的感受不是理論介紹的重點(不是說應用不重要,恰好相反,其實我的認爲機器學習甚至整個計算機學科最重要的仍是應用),就簡述下機器學習能夠應用在在衣食住行育樂,包含了人類生活的方方面面,因此機器學習的應用場景很普遍頗有市場。
機器學習的組成部分。
這一小節是第一章的重點,由於它將機器學習的理論應用符號及數學知識進行表示,而如下各章內容也都是在這小節內容的基礎上展開的。
從一個銀行是否會發信用卡給用戶的例子引出了機器學習能夠分爲哪幾個部分(組件)。
1.輸入(input):x∈X(表明銀行所掌握的用戶信息)
2.輸出(output):y∈Y (是否會發信用卡給用戶)
3.未知的函數,即目標函數(target function):f:X→Y(理想的信用卡發放公式)
4.數據或者叫作資料( data),即訓練樣本( training examples):D = {(), ( ), …, ( )}(銀行的歷史記錄)
5.假設(hypothesis),即前面提到的技能,可以具備更好地表現:g:X→Y (可以學習到的公式)
能夠經過一個簡單的流程圖表示,如圖1-2所示。
圖1-2 機器學習的簡單流程圖
從圖中能夠清楚機器學習就是從咱們未知可是卻存在的一個規則或者公式f中獲得大量的數據或者說資料(訓練樣本),在這些資料的基礎上獲得一個近似於未知規則g的過程。
這麼說仍是有點抽象,特別是目標函數f又是未知的,那爲何還能找到一個假設g可以接近f呢?
仍是以一個更加詳細的流程圖來講明這一問題,如圖1-3。
圖1-3 詳細的機器學習流程圖
這個流程圖和圖1-2有些不一樣,其中ML被更詳細的定義爲機器學習算法(learning algorithm)通常用A表示。還多出來一個新的項目,就是假設空間或者叫作假設集合(hypothesis set)通常用H表示,它是包含各類各樣的假設,其中包括好的假設和壞的假設,而這時A的做用就體現了,它能夠從H這個集合中挑選出它認爲最好的假設做爲g。
注:
一、這裏還要說明的是機器學習的輸入在這個流程圖中就變成了兩個部分,一個是訓練樣本集,而另外一個就是假設空間H。
二、還有一點須要注意的是,咱們所說的機器學習模型在這個流程圖中也不只僅是算法A,並且還包含了假設空間H。
三、要求得g來近似於未知目標函數f。
四、給出了機器學習的一個更準確點的定義,就是經過數據來計算獲得一個假設g使它接近未知目標函數。
圖1-3是仍是一個相對比較簡單的機器學習流程圖,在日後的章節中會不斷的根據新學的知識繼續擴展這幅圖的元素。
機器學習與其餘各個領域的關係。
機器學習與數據挖掘者叫知識發現(KDD Knowledge Discovery in Dataset)。
上一節中已經給出了機器學習的概念,所以只介紹下數據挖掘的概念,就是從大量的數據中找出有用的信息。
從定義出發,咱們能夠將二者之間的關係分爲3種。
總的來時,二者密不可分。
機器學習與人工智能。
人工智能的大概概念就是電腦可以表現出一些智慧行爲。
從定義能夠獲得,機器學習是實現人工智能的一種方式。
機器學習與統計。
統計也須要經過數據,來作一個未知的推論。
所以統計是一種實現機器學習的方法。
傳統的統計學習更關注與數學公式,而非計算自己。