MachineLearning(2)

吳恩達的Note詳細筆記鏈接:

andrew Ng. lecture notes
http://www.stanford.edu/class/cs229/materials.html
machineLearning(機器學習)包含supervised Learning和unsupervised Learning,其中監督學習又包含線性迴歸(Regress)用來處理連續(continues)的線性問題。
分類問題(classification)主要用來處理離散的(discrete)的問題。
unsupervised Learning非監督的學習,主要包含聚類算法。
所要使用的工具有,Octave和Matlab這兩種工具。

在線性迴歸中使用假設函數:
使用一個CostFunctionJ(x,y)來評價假設函數中的參數是否合適,使用梯度遞減的方法來幫助找到使代價函數花費最小的,從而來確定假設函數中的參數。

多變量的線性迴歸問題,在計算參數的theta的時候有兩種方法,一種是使用梯度下降的方法,另一種是使用正規方程的方法(normal equation),如果在計算X的維度的時候小於10000的時候就使用正規方程的方法,否則就使用梯度遞減的方法。使用正規方程不用確定learning rate的問題。在使用梯度遞減的方法的時候有兩種優化梯度遞減函數的辦法,一種是通過特徵放縮的方法和mean malization的方法,另一種就是選這合適的學習率learningRate。

機器學習問題的十個實例

機器學習問題到處都是,它們組成了日常使用的網絡或桌面軟件的核心或困難部分。推特上“想來試試嗎”的建議和蘋果的Siri語音理解系統就是實例。

以下,是十個真正有關機器學習到底是什麼的的實例。

1:垃圾郵件檢測:根據郵箱中的郵件,識別哪些是垃圾郵件,哪些不是。這樣的模型,可以程序幫助歸類垃圾郵件和非垃圾郵件。這個例子,我們應該都不陌生。
2:信用卡欺詐檢測:根據用戶一個月內的信用卡交易,識別哪些交易是該用戶操作的,哪些不是。這樣的決策模型,可以幫助程序退還那些欺詐交易。
3:數字識別:根據信封上手寫的郵編,識別出每一個手寫字符所代表的數字。這樣的模型,可以幫助程序閱讀和理解手寫郵編,並根據地利位置分類信件。
4:語音識別:從一個用戶的話語,確定用戶提出的具體要求。這樣的模型,可以幫助程序能夠並嘗試自動填充用戶需求。帶有Siri系統的iPhone就有這種功能。
5:人臉識別:根據相冊中的衆多數碼照片,識別出那些包含某一個人的照片。這樣的決策模型,可以幫助程序根據人臉管理照片。某些相機或軟件,如iPhoto,就有這種功能。
6:產品推薦:根據一個用戶的購物記錄和冗長的收藏清單,識別出這其中哪些是該用戶真正感興趣,並且願意購買的產品。這樣的決策模型,可以幫助程序爲客戶提供建議並鼓勵產品消費。登錄Facebook或GooglePlus,它們就會推薦可能有關聯的用戶給你。
7:醫學分析:根據病人的症狀和一個匿名的病人資料數據庫,預測該病人可能患了什麼病。這樣的決策模型,可以程序爲專業醫療人士提供支持。
8:股票交易:根據一支股票現有的和以往的價格波動,判斷這支股票是該建倉、持倉還是減倉。這樣的決策模型,可以幫助程序爲金融分析提供支持。
9:客戶細分:根據用戶在試用期的的行爲模式和所有用戶過去的行爲,識別出哪些用戶會轉變成該產品的付款用戶,哪些不會。這樣的決策模型,可以幫助程序進行用戶干預,以說服用戶早些付款使用或更好的參與產品試用。
10:形狀鑑定:根據用戶在觸摸屏幕上的手繪和一個已知的形狀資料庫,判斷用戶想描繪的形狀。這樣的決策模型,可以幫助程序顯示該形狀的理想版本,以繪製清晰的圖像。iPhone應用Instaviz就能做到這樣。
這十個實例展示了一個機器學習問題是什麼樣的很好的理念。有一個專門的文集記錄那些有着歷史意義的例子。其中一個例子是,一個需要建模的決策,爲該決策有效地的自動建模爲某一行業或者說領域帶來了利益。

有些問題是人工智能中,如自然語言處理和機器視覺(處理人們很容易處理的問題),最困難的問題。其他一些也很困難,但它們同時是很經典的機器學習問題,如垃圾郵件檢測和信用卡欺詐檢測。

想想你在過去的一週中跟線上或線下的軟件之間的交互。你肯定能很輕易的推測出十或二十個直接或間接使用的機器學習實例。

機器學習問題的類型

通過上述的機器學習問題的實例,你一定已經意識到一些相似性之處。這種技能很有價值,因爲擅長從現象看本質,使得你可以高效的思考需要的數據和可嘗試的算法類型。

關於機器學習,有一些常見的分類。以下這些分類,是我們在研究機器學習時碰到的大多問題都會參考的典型。

分類:標記數據,也就是將它歸入某一類,如垃圾/非垃圾(郵件)或欺詐/非欺詐(信用卡交易)。決策建模是爲了標記新的未標記的數據項。這可以看做是辨別問題,爲小組之間的差異性或相似性建模。
迴歸:數據被標記以真實的值(如浮點數)而不是一個標籤。簡單易懂的例子如時序數據,如隨着時間波動的股票價格。這個建模的的決策是爲新的未預測的數據估計值。
?聚類:不標記數據,但是可根據相似性,以及其他的對數據中自然結構的衡量對數據進行分組。可以從以上十個例子清單中舉出一例:根據人臉,而不是名字,來管理照片。這樣,用戶就不得不爲分組命名,如Mac上的iPhoto。
規則提取:數據被用作對提議規則(前提/結果,又名如果)進行提取的基礎。這些規則,可能但不都是有指向的,意思是說,這些方法可以找出數據的屬性之間在統計學上有說服力的關係,但不都是必要的涉及到需要預測的東西。有一個找出買啤酒還是買尿布之間關係的例子,(這是數據挖掘的民間條例,真實與否,都闡述了期望和機會)。
當你認爲一個問題是機器學習問題時(如需要從數據中建模的決策問題),接着思考下什麼問題類型可以直接借用,或者,用戶或需求期待什麼樣的結果,反過來也這樣做。

發佈了50 篇原創文章 · 獲贊 16 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章