吴恩达机器学习笔记一
目錄:
1.機器學習含義
機器學習(Machine Learning)是研究計算機怎樣模擬或實現人類的學習行為,以獲取新的
知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
目標“讓機器自己學習怎么來解決問題”
由Tom Mitchell定義的機器學習是,
一個好的學習問題或一個程序 認為能從經驗E中學習,解決任務T,達到性能度量值P,當且僅當有了經驗E后,經過P評判,程序在處理T時的性能有所提升。
經驗E 就是程序上萬次自我練習的經驗而任務 T 就是下棋。性能度量值 P ,就是它在與一
些新的對手比賽時,贏得比賽的概率。
2.主要內容
3 監督學習
監督學習指我們給學習算法一個由“正確答案”組成的數據集。
橫軸表示房子的面積,單位是平方英尺,縱軸表示房價,單位是
千美元。那基于這組數據,假如你有一個朋友,他有一套 750 平方英尺房子,現在他希望把
房子賣掉,想知道這房子能賣多少錢?
擬合一條直線推測出房子可賣$150000
二次方程擬合 房子能賣出接近$200000 ,顯然二次方程更好些!
在這個例子中,我們給了一系列房子的數據,我們給定數據集中每個樣本的正確價格,
即它們實際的售價然后運用學習算法,算出更多的正確答案。比如那個新房子的價格。
用術語來講,這叫做回歸問題。我們試著推測出一個連續值的結果,即房子的價格。
假設說你想通過查看病歷來推測乳腺癌良性與否,
這個數據集中,橫軸表示腫瘤的大小,縱軸上,標出 1 和 0 表示是或者不是惡性腫瘤。我們之前見過的腫瘤,如果是惡性則記為 1,不是惡性,或者說良性記為 0。
或者用不同的符號表示良性和惡性腫瘤,良性的腫瘤改成用 O 表示,惡性的繼續用 X 表示,來預測腫瘤的惡性與否。
分類指的是,我們試著推測出離散的輸出值: 0 或 1 良性或惡性,
監督學習的基本思想是:數據集中的每個樣本都有 “正確答案”,再根據這些樣本做出預測。
就像房子和腫瘤的例子那樣,用回歸來推出連續的輸出,分類的目標是推出一組離散的結果。
4 無監督學習
無監督學習中沒有任何標簽 或者是相同的標簽 或者是沒有標簽。 已知數據集,卻不知如何處理,也未告知每個數據點是什么, 就是一個數據集。
其實,他就是學習策略,交給算法大量的數據,并讓算法為我們從數據中找出某種結構。
無監督學習可用于組織大型計算機集群、社交網絡分析、新聞事件分類、垃圾郵件問題等。
5 單變量線性回歸
以房屋交易問題為例,假使我們回歸問題的訓練集如下表所示:
這就是一個監督學習算法的工作方式,我們可以看到這里有我們的訓練集里房屋價格
我們把它喂給我們的學習算法,學習算法的工作了,然后輸出一個函數,通常表示為小寫 ?
表示。 ? 代表 hypothesis(假設), ?表示一個函數,輸入是房屋尺寸大小,就像你朋友想出售
的房屋,因此 ? 根據輸入的 𝑥值來得出 𝑦 值, 𝑦 值對應房子的價格 因此, ? 是一個從𝑥
到 𝑦 的函數映射。
我將選擇最初的使用規則?代表 hypothesis,因而,要解決房價預測問題,我們實際上
是要將訓練集“喂”給我們的學習算法, 進而學習得到一個假設?,然后將我們要預測的房屋
的尺寸作為輸入變量輸入給?,預測出該房屋的交易價格作為輸出變量輸出為結果。那么,
對于我們的房價預測問題,我們該如何表達 ??
一種可能的表達方式為: ?𝜃(𝑥) = 𝜃0 + 𝜃1𝑥,因為只含有一個特征/輸入變量,因此這樣
的問題叫作單變量線性回歸問題。
6 代價函數
這個問題中,每次擬合出不同的直線,就會有一個代價函數值,
我們的目標就是找出滿足代價函數值最小的 θ0和θ1值。
7 梯度下降
梯度下降是一個用來求函數最小值的算法,我們可使用梯度下降自動找出代價函數J最小值。
通俗的理解:
想象一下你正站立在山的這一點上,站立在你想象的公園這座紅色山上,在梯度下降算
法中,我們要做的就是旋轉 360 度,看看我們的周圍,并問自己要在某個方向上,用小碎步
盡快下山。這些小碎步需要朝什么方向?如果我們站在山坡上的這一點,你看一下周圍,你
會發現最佳的下山方向,你再看看周圍,然后再一次想想,我應該從什么方向邁著小碎步下
山?然后你按照自己的判斷又邁出一步,重復上面的步驟,從這個新的點,你環顧四周,并
決定從什么方向將會最快下山,然后又邁進了一小步,并依此類推,直到你接近局部最低點
的位置。
其中𝑎是學習率( learning rate),它決定了我們沿著能讓代價函數下降程度最大的方向
向下邁出的步子有多大,在批量梯度下降中,我們每一次都同時讓所有的參數減去學習速率
乘以代價函數的導數。
它的關鍵是同時更新θ0,θ1
像這樣:
注意: α太小,每次會一點點挪動,需要很多不才能到達全局最低點。
α太大,可能會越過最低點,甚至可能無法收斂,一次次越過最低點,直到越來越遠,甚至發散。
假如 θ1在一個局部最低點,那么它的導數等于0,并且θ1不再改變,此時對其更新等于什么都沒做,不會改變參數的值。并且θ1越接近最低點,每次移動步伐越小,直至最后不在改變。
8. 梯度下降的線性回歸
有時也稱為批量梯度下降, 指的是在梯度下降的每一步中, 我們都用到了
所有的訓練樣本,在梯度下降中,在計算微分求導項時,我們需要進行求和運算,所以,在
每一個單獨的梯度下降中,我們最終都要計算這樣一個東西,這個項需要對所有𝑚個訓練樣
本求和。 批量梯度下降說明了我們需要考慮所有這一批訓練樣本,每次只關注訓練集中的一些小的子集。
之前的線性回歸問題運用梯度下降,關鍵在于求出代價函數的導數。
更多內容參見:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
總結
以上是生活随笔為你收集整理的吴恩达机器学习笔记一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Salmon构建索引的时间效率和计算效率
- 下一篇: Linux /dev目录详解