Ng第一課:引言(Introduction)
Machine Learning(機器學習)是研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演譯。
在過去的十年中,機器學習幫助我們自動駕駛汽車,有效的語音識別,有效的網絡搜索,並極大地提高了人類基因組的認識。
在本課中,您將學習最有效的機器學習技術,並獲得實踐,讓它們為自己的工作。更重要的是,你會不僅得到理論基礎的學習,而且獲得那些需要快速和強大的應用技術解決問題的實用技術。最後,你會學到一些矽谷利用機器學習和人工智能的最佳實踐創新。
本課程提供了一個廣泛的介紹機器學習、數據挖掘、統計模式識別的課程。主題包括:
(一)監督學習(參數/非參數算法,支持向量機,核函數,神經網絡)
(二)無監督學習(聚類,降維,推薦系統,深入學習推薦)
(三)在機器學習的最佳實踐(偏差/方差理 論;在機器學習和人工智能創新過程)
本課程還將使用大量的案例研究,您還將學習如何 運用學習算法構建智能機器人(感知,控制),文本的理解(Web搜索,反垃圾郵件),計算機視覺,醫療信息,音頻,數據挖掘,和其他領域。
第一課、 引言(Introduction)
1.1 歡迎
1.2 機器學習是什麽?
1.3 監督學習
1.4 無監督學習
1.2 機器學習是什麽?
機器學習得兩種定義:
-
在進行特定編程的情況下,給予計算機學習能力的領域。(古老、非正式)
- 一個程序被認為能從經驗 E 中學習,解決任務 T,達到性能度量值 P,當且僅當,有了經驗 E 後,經過 P 評判,程序在處理 T 時的性能有所提升。(Tom Mitchell of CMU)
機器學習目前存在幾種不同類型的學習算法,諸如強化學習和 推薦系統等各種術語都是機器學習算法的一員,但學習算法最常用兩個類型就是監督學習、無監督學習。監督學習這個想法是指,我們將教計算機如何去完成任務, 而在無監督學習中,我們打算讓它自己進行學習。
1.3 監督學習
監督學習:對於數據集中的每個數據,都有相應的正確答案(訓練集),算法就是基於這些來做出預測。
監督學習分為“回歸”和“分類”問題:
回歸這個詞的意思是,我們試著推測出(根據以前的數據集)一個連續函數值的輸出(比如房價)。
分類指的是,我們試著推測出(根據特征)離散的輸出值(比如腫瘤0 或 1 良性或惡性)
在一些機器學習問題中,可能會遇到不止一種特征。如果想用無限多種特征,好讓你的算法可以利用大量的特征來做推測,以後會講一個算法,叫支持向量機,裏面有一個巧妙的數學技巧,能讓計算機處理無限多個特征。
1.4 無監督學習
無監督學習中的數據沒有任何的標簽或者是有相同的標簽,卻能找到其中得某種結構。
無監督學習有“聚類算法”和“雞尾酒算法”
聚類算法:沒有提前告知這個算法怎麽分類,只是告訴算法這兒有一堆不知道什麽的數據,不知道裏面都有哪些類型 ,但是請問可以自動的找到這些數據中的類型嗎? 然後自動的按得到的類型把這些個體分類。應用例如谷歌新聞、基因芯片等等。
雞尾酒算法:在混沌的環境中發現結構類型。例如把兩個錄音輸入這種算法中,這個算法能找出其中蘊含的分類,然後分離出這兩個被疊加到一起的音頻源。
完成這個音頻處理應用似乎需要你去寫大量的代碼或鏈接一堆的合成器 JAVA 庫,處理音頻的庫,看上去絕對是個復雜的程序。事實上,這個算法對應你剛才知道的那個問題(雞尾酒宴問題)的算法可以就用一行代碼來完成。
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x‘)
不是說這個是簡單的問題,研究人員花費了大量時間才最終實現這行代碼。但它說明了當你使用正確的編程環境,許多學習算法是相當短的程序。我們打算使用 Octave 編程環境,Octave是免費的開源軟件,許多學習算法變得只有幾行代碼就可實現。
你也可以用 Matlab。事實上,在矽谷裏,對大量機器學習算法,我們第一步就是建原型,在 Octave 建軟件原型,因為軟件在 Octave 中可以令人難以置信地、快速地實現這些學習算法。這裏的這些函數比如 SVM(支持向量機)函數, 奇異值分解,Octave 裏已經建好了。如果你試圖完成這個工作,但借助 C++或 JAVA 的話, 你會需要很多很多行的代碼,並鏈接復雜的 C++或 Java 庫。
在下一個視頻中,我們將深入探究特定的學習算法,開始介紹這些算法是如何工作的,和如何來實現它們。
Ng第一課:引言(Introduction)