# <a class="pcalibre pcalibre1" id="_Toc446405726">第1</a>周
### <a class="pcalibre pcalibre1" id="_Toc446405727">一、引言(Introduction)</a>
參考視頻: 1 - 1 - Welcome (7 min).mkv
第一個視頻主要講了什么是機器學習,機器學習能做些什么事情。
機器學習是目前信息技術中最激動人心的方向之一。在這門課中,你將學習到這門技術的前沿,并可以自己實現學習機器學習的算法。
你或許每天都在不知不覺中使用了機器學習的算法每次,你打開谷歌、必應搜索到你需要的內容,正是因為他們有良好的學習算法。谷歌和微軟實現了學習算法來排行網頁每次,你用Facebook或蘋果的圖片分類程序他能認出你朋友的照片,這也是機器學習。每次您閱讀您的電子郵件垃圾郵件篩選器,可以幫你過濾大量的垃圾郵件這也是一種學習算法。對我來說,我感到激動的原因之一是有一天做出一個和人類一樣聰明的機器。實現這個想法任重而道遠,許多AI研究者認為,實現這個目標最好的方法是通過讓機器試著模仿人的大腦學習我會在這門課中介紹一點這方面的內容。
在這門課中,你還講學習到關于機器學習的前沿狀況。但事實上只了解算法、數學并不能解決你關心的實際的問題。所以,我們將花大量的時間做練習,從而你自己能實現每個這些算法,從而了解內部機理。
那么,為什么機器學習如此受歡迎呢?原因是,機器學習不只是用于人工智能領域。
我們創造智能的機器,有很多基礎的知識。比如,我們可以讓機器找到A與B之間的最短路徑,但我們仍然不知道怎么讓機器做更有趣的事情,如web 搜索、照片標記、反垃圾郵件。我們發現,唯一方法是讓機器自己學習怎么來解決問題。所以,機器學習已經成為計算機的一個能力。
現在它涉及到各個行業和基礎科學中。我從事于機器學習,但我每個星期都跟直升機飛行員、生物學家、很多計算機系統程序員交流(我在斯坦福大學的同事同時也是這樣)和平均每個星期會從硅谷收到兩、三個電子郵件,這些聯系我的人都對將學習算法應用于他們自己的問題感興趣。這表明機器學習涉及的問題非常廣泛。有機器人、計算生物學、硅谷中大量的問題都收到機器學習的影響。
這里有一些機器學習的案例。比如說,數據庫挖掘。機器學習被用于數據挖掘的原因之一是網絡和自動化技術的增長,這意味著,我們有史上最大的數據集比如說,大量的硅谷公司正在收集 web 上的單擊數據,也稱為點擊流數據,并嘗試使用機器學習算法來分析數據,更好的了解用戶,并為用戶提供更好的服務。這在硅谷有巨大的市場。再比如,醫療記錄。隨著自動化的出現,我們現在有了電子醫療記錄。如果我們可以把醫療記錄變成醫學知識,我們就可以更好地理解疾病。再如,計算生物學。還是因為自動化技術,生物學家們收集的大量基因數據序列、DNA序列和等等,機器運行算法讓我們更好地了解人類基因組,大家都知道這對人類意味著什么。再比如,工程方面,在工程的所有領域,我們有越來越大、越來越大的數據集,我們試圖使用學習算法,來理解這些數據。另外,在機械應用中,有些人不能直接操作。例如,我已經在無人直升機領域工作了許多年。我們不知道如何寫一段程序讓直升機自己飛。我們唯一能做的就是讓計算機自己學習如何駕駛直升機。
手寫識別:現在我們能夠非常便宜地把信寄到這個美國甚至全世界的原因之一就是當你寫一個像這樣的信封,一種學習算法已經學會如何讀你信封,它可以自動選擇路徑,所以我們只需要花幾個美分把這封信寄到數千英里外。
事實上,如果你看過自然語言處理或計算機視覺,這些語言理解或圖像理解都是屬于AI領域。大部分的自然語言處理和大部分的計算機視覺,都應用了機器學習。學習算法還廣泛用于自定制程序。每次你去亞馬遜或Netflix或iTunes Genius,它都會給出其他電影或產品或音樂的建議,這是一種學習算法。仔細想一想,他們有百萬的用戶;但他們沒有辦法為百萬用戶,編寫百萬個不同程序。軟件能給這些自定制的建議的唯一方法是通過學習你的行為,來為你定制服務。
最后學習算法被用來理解人類的學習和了解大腦。
我們將談論如何用這些推進我們的AI 夢想。幾個月前,一名學生給我一篇文章關于最頂尖的12個IT技能。擁有了這些技能HR絕對不會拒絕你。這是稍顯陳舊的文章,但在這個列表最頂部就是機器學習的技能。
在斯坦福大學,招聘人員聯系我,讓我推薦機器學習學生畢業的人遠遠多于機器學習的畢業生。所以我認為需求遠遠沒有被滿足現在學習“機器學習”非常好,在這門課中,我希望能告訴你們很多機器學習的知識。
在接下來的視頻中,我們將開始給更正式的定義,什么是機器學習。然后我們會開始學習機器學習的主要問題和算法你會了解一些主要的機器學習的術語,并開始了解不同的算法,用哪種算法更合適。
- 第1周
- 一、引言(Introduction)
- 1.1 歡迎
- 1.2 機器學習是什么?
- 1.3 監督學習
- 1.4 無監督學習
- 二、單變量線性回歸(Linear Regression with One Variable)
- 2.1模型表示
- 2.2 代價函數
- 2.3 代價函數的直觀理解I
- 2.4 代價函數的直觀理解II
- 2.5 梯度下降
- 2.6 梯度下降的直觀理解
- 2.7 梯度下降的線性回歸
- 2.8 接下來的內容
- 三、線性代數回顧(Linear Algebra Review)
- 3.1 矩陣和向量
- 3.2 加法和標量乘法
- 3.3 矩陣向量乘法
- 3.4 矩陣乘法
- 3.5 矩陣乘法的性質
- 3.6 逆、轉置
- 第2周
- 四、多變量線性回歸(Linear Regression with Multiple Variables)
- 4.1 多維特征
- 4.2 多變量梯度下降
- 4.3 梯度下降法實踐1-特征縮放
- 4.4 梯度下降法實踐2-學習率
- 4.5 特征和多項式回歸
- 4.6 正規方程
- 4.7 正規方程及不可逆性(可選)
- 五、Octave教程(Octave Tutorial)
- 5.1 基本操作
- 5.2 移動數據
- 5.3 計算數據
- 5.5 控制語句:for,while,if語句
- 5.6 向量化
- 5.7 工作和提交的編程練習
- 第3周
- 六、邏輯回歸(Logistic Regression)
- 6.1 分類問題
- 6.2 假說表示
- 6.3 判定邊界
- 6.4 代價函數
- 6.5 簡化的成本函數和梯度下降
- 6.6 高級優化
- 6.7 多類別分類:一對多
- 七、正則化(Regularization)
- 7.1 過擬合的問題
- 7.2 代價函數
- 7.3 正則化線性回歸
- 7.4 正則化的邏輯回歸模型
- 第4周
- 第八、神經網絡:表述(Neural Networks: Representation)
- 8.1 非線性假設
- 8.2 神經元和大腦
- 8.3模型表示1
- 8.4 模型表示2
- 8.5特征和直觀理解1
- 8.6 樣本和直觀理解II
- 8.7多類分類
- 第5周
- 九、神經網絡的學習(Neural Networks: Learning)
- 9.1 代價函數
- 9.2 反向傳播算法
- 9.3 反向傳播算法的直觀理解
- 9.4 實現注意:展開參數
- 9.5梯度檢驗
- 9.6 隨機初始化
- 9.7 綜合起來
- 9.8 自主駕駛
- 第6周
- 十、應用機器學習的建議(Advice for Applying Machine Learning)
- 10.1 決定下一步做什么
- 10.2 評估一個假設
- 10.3 模型選擇和交叉驗證集
- 10.4 診斷偏差和方差
- 10.5 歸一化和偏差/方差
- 10.6 學習曲線
- 10.7 決定下一步做什么
- 十一、機器學習系統的設計(Machine Learning System Design)
- 11.1 首先要做什么
- 11.2 誤差分析
- 11.3 類偏斜的誤差度量
- 11.4 查全率和查準率之間的權衡
- 11.5 機器學習的數據
- 第7周
- 十二、支持向量機(Support Vector Machines)
- 12.1 優化目標
- 12.2 大邊界的直觀理解
- 12.3 數學背后的大邊界分類(可選)
- 12.4 核函數1
- 12.5 核函數2
- 12.6 使用支持向量機
- 第8周
- 十三、聚類(Clustering)
- 13.1 無監督學習:簡介
- 13.2 K-均值算法
- 13.3 優化目標
- 13.4 隨機初始化
- 13.5 選擇聚類數
- 十四、降維(Dimensionality Reduction)
- 14.1 動機一:數據壓縮
- 14.2 動機二:數據可視化
- 14.3 主成分分析問題
- 14.4 主成分分析算法
- 14.5 選擇主成分的數量
- 14.6 重建的壓縮表示
- 14.7 主成分分析法的應用建議
- 第9周
- 十五、異常檢測(Anomaly Detection)
- 15.1 問題的動機
- 15.2 高斯分布
- 15.3 算法
- 15.4 開發和評價一個異常檢測系統
- 15.5 異常檢測與監督學習對比
- 15.6 選擇特征
- 15.7 多元高斯分布(可選)
- 15.8 使用多元高斯分布進行異常檢測(可選)
- 十六、推薦系統(Recommender Systems)
- 16.1 問題形式化
- 16.2 基于內容的推薦系統
- 16.3 協同過濾
- 16.4 協同過濾算法
- 16.5 矢量化:低秩矩陣分解
- 16.6 推行工作上的細節:均值歸一化
- 第10周
- 十七、大規模機器學習(Large Scale Machine Learning)
- 17.1 大型數據集的學習
- 17.2 隨機梯度下降法
- 17.3 小批量梯度下降
- 17.4 隨機梯度下降收斂
- 17.5 在線學習
- 17.6映射化簡和數據并行
- 十八、應用實例:圖片文字識別(Application Example: Photo OCR)
- 18.1 問題描述和流程圖
- 18.2 滑動窗口
- 18.3 獲取大量數據和人工數據
- 18.4 上限分析:哪部分管道的接下去做
- 十九、總結(Conclusion)
- 19.1 總結和致謝