本章從數學角度描述了卷積神經網絡(CNN)的工作原理。這一章是自成一體的,重點是讓初學者能夠理解CNN領域。
卷積神經網絡(CNN)在許多計算機視覺、機器學習和模式識別問題上表現出優異的性能。關于這個主題已經發表了許多可靠的論文,并且已經提供了許多高質量的開源CNN軟件包。
也有寫得很好的CNN教程或CNN軟件手冊。但是,我們認為,專門為初學者準備的介紹CNN的材料仍然是需要的。研究論文通常很簡潔,缺乏細節。對于初學者來說,閱讀這樣的論文可能是困難的。針對有經驗的研究人員的教程可能無法涵蓋理解CNN如何運行的所有必要細節。
本章試圖提出一個文檔:
自成一體。所有需要的數學背景知識都將在本章(或本書其他章節)中介紹;
有所有衍生的細節。這一章的目的是詳細解釋所有必要的數學。我們盡量不忽略推導過程中的任何重要步驟。因此,初學者應該能夠跟上(盡管專家可能會發現這一章有點重復);
忽略實現細節。目的是讓讀者了解CNN是如何在數學層面運作的。我們將忽略這些實現細節。在CNN中,對各種實現細節做出正確的選擇是其高準確性的關鍵之一(即“細節決定成敗”)。然而,我們有意省略了這一部分,以便讀者關注數學。在了解了數學原理和細節之后,通過親身體驗CNN編程來學習這些實現和設計細節會更有優勢。本章的練習問題提供了動手制作CNN編程的機會。
CNNs在很多應用中都很有用,特別是在與圖像相關的任務中。CNNs的應用包括圖像分類、圖像語義分割、圖像中的目標檢測等。在本章中,我們將重點討論圖像分類。在圖像分類中,每幅圖像都有一個主要的對象,占圖像的很大一部分。一個圖像根據其主要對象的身份被分類到其中一個類中。狗、飛機、鳥等。
有興趣的數據科學專業人士可以通過本書學習Scikit-Learn圖書館以及機器學習的基本知識。本書結合了Anaconda Python發行版和流行的Scikit-Learn庫,演示了廣泛的有監督和無監督機器學習算法。通過用Python編寫的清晰示例,您可以在家里自己的機器上試用和試驗機器學習的原理。
所有的應用數學和編程技能需要掌握的內容,在這本書中涵蓋。不需要深入的面向對象編程知識,因為工作和完整的例子被提供和解釋。必要時,編碼示例是深入和復雜的。它們也簡潔、準確、完整,補充了介紹的機器學習概念。使用示例有助于建立必要的技能,以理解和應用復雜的機器學習算法。
對于那些在機器學習方面追求職業生涯的人來說,Scikit-Learn機器學習應用手冊是一個很好的起點。學習這本書的學生將學習基本知識,這是勝任工作的先決條件。讀者將接觸到專門為數據科學專業人員設計的蟒蛇分布,并將在流行的Scikit-Learn庫中構建技能,該庫是Python世界中許多機器學習應用程序的基礎。
你將學習
這本書是給誰的
機器學習使用來自各種數學領域的工具。本文件試圖提供一個概括性的數學背景,需要在入門類的機器學習,這是在加州大學伯克利分校被稱為CS 189/289A。
//people.eecs.berkeley.edu/~jrs/189/
我們的假設是讀者已經熟悉多變量微積分和線性代數的基本概念(達到UCB數學53/54的水平)。我們強調,本文檔不是對必備類的替代。這里介紹的大多數主題涉及的很少;我們打算給出一個概述,并指出感興趣的讀者更全面的理解進一步的細節。
請注意,本文檔關注的是機器學習的數學背景,而不是機器學習本身。我們將不討論特定的機器學習模型或算法,除非可能順便強調一個數學概念的相關性。
這份文件的早期版本不包括校樣。我們已經開始在一些證據中加入一些比較簡短并且有助于理解的證據。這些證明不是cs189的必要背景,但可以用來加深讀者的理解。
課程目標 ?理解、記憶模式識別中的基本概念、步驟和方法 ?對重要方法,要能實際應用,并能理解其前提條件、 應用范圍、應用注意事項和方法原理及推導 ?對講授的其他方法,要能理解其含義和使用環境 ?要對模式識別的前沿領域有感性的認識 ?提高目標 ? 進一步能通過獨立閱讀和實踐掌握較深入的問題和方 法,并能應用到學習、研究中遇到的問題中去