# 機器學習基礎
* [第一部分 機器學習概述](#第一節)
* [第二部分 機器學習使用場景](#第二節)
* [第三部分 機器學習組成](#第三節)
* [3.1 主要任務](#3.1)
* [3.2 監督學習](#3.2)
* [3.3 非監督學習](#3.3)
* [3.4 訓練過程](#3.4)
* [3.5 算法匯總](#3.5)
* [第四部分 機器學習使用](#第四節)
* [第五部分 python語言優勢](#第五節)
<h5 id="第一節">第一部分:機器學習概述</h5>
       由于我們只是入門教程所以我們以實踐帶動學習并不深入的學習機器學習的數學理論。拋棄那些晦澀難懂的公式推導,我們以看的見得實踐結果來入門機器學習我認為是最好的方式。所以我們的概念也是一般指向應用的。<br />
       機器學習:是使用計算機來彰顯數據背后的真實意義,它為了把無序的數據轉換成有用的信息。
> 例如:識別動物貓
> 模式識別(官方標準):人們通過大量的經驗,得到結論,從而判斷它是貓。
> 機器學習(數據學習):人們通過閱讀進行學習,觀察它會叫、小眼睛、兩只耳朵、四條腿、一條尾巴,得到結論,從而判斷它就是貓。
> 深度學習(深入學習):人們通過深入了解它,發現它會'喵喵'的叫、與同類的貓科動物很類似,得到結論,從而判斷它就是貓。(深度學習常用領域:語音識別、圖像識別)
> 模式識別(pattern recognition): 模式識別是最古老的(作為一個術語而言,可以說是很過時的)。
我們把環境與客體統稱為“模式”,識別是對模式的一種認知,是如何讓一個計算機程序去做一些看起來很“智能”的事情。
通過融于智慧和直覺后,通過構建程序,識別一些事物,而不是人,例如: 識別數字。
> 機器學習(machine learning): 機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。
在90年代初,人們開始意識到一種可以更有效地構建模式識別算法的方法,那就是用數據(可以通過廉價勞動力采集獲得)去替換專家(具有很多圖像方面知識的人)。
“機器學習”強調的是,在給計算機程序(或者機器)輸入一些數據后,它必須做一些事情,那就是學習這些數據,而這個學習的步驟是明確的。
機器學習(Machine Learning)是一門專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身性能的學科。
> 深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。
* * * * *
<h5 id="第二節">第二部分:機器學習使用場景 </h5>
       機器學習已應用于多個領域,遠遠超出大多數人的想象,橫跨:計算機科學、工程技術和統計學等多個學科。<br />
* 搜索引擎:根據你的搜索點擊,優化你下次的搜索結果。
* 垃圾郵箱:會自動的過濾垃圾廣告郵件到垃圾箱內。
* 超市優惠券:你會發現,你在購買小孩子尿布的時候,售貨員會贈送你一張優惠券可以兌換6罐啤酒。
* 郵局郵寄:手寫軟件自動識別寄送賀卡的郵寄地址。
* 申請貸款:通過你最近的金融活動信息進行綜合評定,決定你是否有資格。
<h5 id="第三節">第三部分:機器學習組成 </h5>
<h5 id="3.1">主要任務 </h5>
1. 分類:將實例數據劃分到合適的類別中。<br/>
2. 回歸:主要用于預測數值型數據.(示例:股票價格波動的預測)
<hr>
<h5 id="3.2">監督學習 </h5>
* 必須確定目標變量的值,以便機器學習算法可以發現特征和目標變量之間的關系。(包括: 分類和回歸)<br>
* 樣本集:訓練數據和測試數據<br>
       訓練樣本 = 特征(feature) + 目標變量(label: 分類-離散值/回歸-連續值)<br>
       特征通常是訓練樣本集的列,它們是獨立測量得到的。<br>
       目標變量: 目標變量是機器學習預測算法的測試結果。<br>
              在分類算法中目標變量的類型通常是標稱型(如:真與假),而在回歸算法中通常是連續型(如:1~100)。<br>
* 知識表示:<br>
1. 可以采用規則集的形式【例如:數學成績大于90分為優秀】<br>
2. 可以采用概率分布的形式【例如:通過統計分布發現,90%的同學數學成績,在70分以下,那么大于70分定為優秀】<br>
3. 可以使用訓練樣本集中的一個實例【例如:通過樣本集合,我們訓練出一個模型實例,得出 年輕,數學成績中高等,談吐優雅,我們認為是優秀】
<hr>
<h5 id="3.3">非監督學習 </h5>
1. 數據沒有類別信息,也不會給定目標值。<br>
2. 聚類:在無監督學習中,將數據集分成由類似的對象組成多個類的過程稱為聚類。<br>
3. 密度估計:通過樣本分布的緊密程度,來估計與分組的相似性。<br>
4. 此外,無監督學習還可以減少數據特征的維度,以便我們可以使用二維或三維圖形更加直觀地展示數據信息。
<hr>
<h5 id="3.4">訓練過程 </h5>

<h5 id="3.5">算法匯總 </h5>

<h5 id="第四節">第四部分:機器學習使用 </h5>
> 選擇算法需要考慮的兩個問題
1. 算法場景
* 預測明天是否下雨,因為可以用歷史的天氣情況做預測,所以選擇監督學習算法
* 給一群陌生的人進行分組,但是我們并沒有這些人的類別信息,所以選擇無監督學習算法、通過他們身高、體重等特征進行處理。
2. 需要收集或分析的數據是什么
:-: 
> 機器學習 開發流程
> 1. 收集數據: 收集樣本數據
> 2.準備數據: 注意數據的格式
> 3.分析數據: 為了確保數據集中沒有垃圾數據;
如果是算法可以處理的數據格式或可信任的數據源,則可以跳過該步驟;
另外該步驟需要人工干預,會降低自動化系統的價值。
> 訓練算法: [機器學習算法核心]如果使用無監督學習算法,由于不存在目標變量值,則可以跳過該步驟
> 測試算法: [機器學習算法核心]評估算法效果
> 使用算法: 將機器學習算法轉為應用程序
>
<h5 id="第四節">第五部分 python語言優勢</h5>
1. 可執行偽代碼
2. Python比較流行:使用廣泛、代碼范例多、豐富模塊庫,開發周期短
3. Python語言的特色:清晰簡練、易于理解
4. Python語言的缺點:唯一不足的是性能問題
5. Python相關的庫
* 科學函數庫:SciPy、NumPy(底層語言:C和Fortran)
* 繪圖工具庫:Matplotlib
> 來源于 [ApacheCN](http://www.apachecn.org/)
- 序言
- 第一章 機器學習概述
- 第二章 機器學習環境搭建
- 環境搭建
- 第三章 機器學習之基礎算法
- 第一節:基礎知識
- 第二節:k近鄰算法
- 第三節:決策樹算法
- 第四節:樸素貝葉斯
- 第五節:邏輯斯蒂回歸
- 第六節:支持向量機
- 第四章 機器學習之深度學習算法
- 第一節: CNN
- 4.1.1 CNN介紹
- 4.1.2 CNN反向傳播
- 4.1.3 DNN實例
- 4.1.4 CNN實例
- 第五章 機器學習論文與實踐
- 第一節: 語義分割
- 5.1 FCN
- 5.1.1 FCN--------實現FCN16S
- 5.1.2 FCN--------優化FCN16S
- 5.2 DeepLab
- 5.2.1 DeepLabv2
- 第六章 機器學習在實際項目中的應用