1. 程式人生 > >【機器學習實戰】第1章 機器學習基礎

【機器學習實戰】第1章 機器學習基礎

第1章 機器學習基礎

機器學習基礎_首頁

機器學習 概述

機器學習就是把無序的資料轉換成有用的資訊。

  1. 獲取海量的資料
  2. 從海量資料中獲取有用的資訊

我們會利用計算機來彰顯資料背後的真實含義,這才是機器學習的意義。

機器學習 場景

例如:識別動物貓
模式識別(官方標準):人們通過大量的經驗,得到結論,從而判斷它就是貓。
機器學習(資料學習):人們通過閱讀進行學習,觀察它會叫、小眼睛、兩隻耳朵、四條腿、一條尾巴,得到結論,從而判斷它就是貓。
深度學習(深入資料):人們通過深入瞭解它,發現它會'喵喵'的叫、與同類的貓科動物很類似,得到結論,從而判斷它就是貓。(深度學習常用領域:語音識別、影象識別)

模式識別(pattern recognition): 模式識別是最古老的(作為一個術語而言,可以說是很過時的)。
    我們把環境與客體統稱為“模式”,識別是對模式的一種認知,是如何讓一個計算機程式去做一些看起來很“智慧”的事情。
    通過融於智慧和直覺後,通過構建程式,識別一些事物,而不是人,例如: 識別數字。
機器學習(machine learning): 機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。
    在90年代初,人們開始意識到一種可以更有效地構建模式識別演算法的方法,那就是用資料(可以通過廉價勞動力採集獲得)去替換專家(具有很多影象方面知識的人)。
    “機器學習”強調的是,在給計算機程式(或者機器)輸入一些資料後,它必須做一些事情,那就是學習這些資料,而這個學習的步驟是明確的。
    機器學習(Machine Learning)是一門專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身效能的學科。
深度學習(deep learning): 深度學習是非常嶄新和有影響力的前沿領域,我們甚至不會去思考-後深度學習時代。
    深度學習是機器學習研究中的一個新的領域,其動機在於建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋資料,例如影象,聲音和文字。

參考地址: 
http://www.csdn.net/article/2015-03-24/2824301
http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn0NxuAtEohbpey7LUa2zUQLJxvIKUx4bnrEfOmsWLKbDmvG1PCoRkJisMTQka6-QReTrIxdYY3v93f55q

機器學習已應用於多個領域,遠遠超出大多數人的想象,橫跨:電腦科學、工程技術和統計學等多個學科。

  • 搜尋引擎: 根據你的搜尋點選,優化你下次的搜尋結果。
  • 垃圾郵件: 會自動的過濾垃圾廣告郵件到垃圾箱內。
  • 超市優惠券: 你會發現,你在購買小孩子尿布的時候,售貨員會贈送你一張優惠券可以兌換6罐啤酒。
  • 郵局郵寄: 手寫軟體自動識別寄送賀卡的地址。
  • 申請貸款: 通過你最近的金融活動資訊進行綜合評定,決定你是否合格。

機器學習 組成

主要任務

  • 分類:將例項資料劃分到合適的類別中。
  • 迴歸:主要用於預測數值型資料。(示例:資料通過給定資料點來擬合最優曲線)

監督學習

  • 必須確定目標變數的值,以便機器學習演算法可以發現特徵和目標變數之間的關係。 (包括:分類和迴歸)
  • 樣本集:訓練資料 + 測試資料
    • 訓練樣本 = 特徵(feature) + 目標變數(label: 分類-離散值/迴歸-連續值)
    • 特徵通常是訓練樣本集的列,它們是獨立測量得到的。
    • 目標變數: 目標變數是機器學習預測演算法的測試結果。
      • 在分類演算法中目標變數的型別通常是標稱型(如:真與假),而在迴歸演算法中通常是連續型(如:1~100)。
  • 知識表示
    1. 可以採用規則集的形式【例如:數學成績大於90分為優秀】
    2. 可以採用概率分佈的形式【例如:通過統計分佈發現,90%的同學數學成績,在70分以下,那麼大於70分定為優秀】
    3. 可以使用訓練樣本集中的一個例項【例如:通過樣本集合,我們訓練出一個模型例項,得出 年輕,數學成績中高等,談吐優雅,我們認為是優秀】

非監督學習

  • 資料沒有類別資訊,也不會給定目標值。
  • 聚類:在無監督學習中,將資料集分成由類似的物件組成多個類的過程稱為聚類。
  • 密度估計:將尋找描述資料統計值的過程稱之為密度估計。【就是:根據訓練樣本確定x的概率分佈】
  • 此外,無監督學習還可以減少資料特徵的維度,以便我們可以使用二維或三維圖形更加直觀地展示資料資訊。

訓練過程

機器學習訓練過程圖

演算法彙總

演算法彙總

機器學習 使用

選擇演算法需要考慮的兩個問題

  1. 演算法場景
    • 預測明天是否下雨,因為可以用歷史的天氣情況做預測,所以選擇監督學習演算法
    • 給一群陌生的人進行分組,但是我們並沒有這些人的類別資訊,所以選擇無監督學習演算法、通過他們身高、體重等特徵進行處理。
  2. 需要收集或分析的資料是什麼

舉例

選擇演算法圖

機器學習 開發流程

* 收集資料: 收集樣本資料
* 準備資料: 注意資料的格式
* 分析資料: 為了確保資料集中沒有垃圾資料;
    如果是演算法可以處理的資料格式或可信任的資料來源,則可以跳過該步驟;
    另外該步驟需要人工干預,會降低自動化系統的價值。
* 訓練演算法: [機器學習演算法核心]如果使用無監督學習演算法,由於不存在目標變數值,則可以跳過該步驟
* 測試演算法: [機器學習演算法核心]評估演算法效果
* 使用演算法: 將機器學習演算法轉為應用程式

Python語言 優勢

  1. 可執行虛擬碼
  2. Python比較流行:使用廣泛、程式碼範例多、豐富模組庫,開發週期短
  3. Python語言的特色:清晰簡練、易於理解
  4. Python語言的缺點:唯一不足的是效能問題
  5. Python相關的庫
    • 科學函式庫:SciPyNumPy(底層語言:C和Fortran)
    • 繪圖工具庫:Matplotlib

相關推薦

機器學習實戰1 機器學習基礎

第1章 機器學習基礎機器學習 概述機器學習就是把無序的資料轉換成有用的資訊。獲取海量的資料從海量資料中獲取有用的資訊我們會利用計算機來彰顯資料背後的真實含義,這才是機器學習的意義。機器學習 場景例如:

機器學習實戰13 利用 PCA 來簡化數據

light nan 文本 com axis 均值 ... cati 二維空間 第13章 利用 PCA 來簡化數據 降維技術 場景 我們正通過電視觀看體育比賽,在電視的顯示器上有一個球。 顯示器大概包含了100萬像素點,而球則可能是由較少的像素點組成,例如說一千個像素

機器學習實戰2 K-近鄰演算法(k-NearestNeighbor,KNN)

第2章 k-近鄰演算法 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

機器學習實戰6 支援向量機(Support Vector Machine / SVM)

第6章 支援向量機 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

機器學習實戰3 決策樹

第3章 決策樹 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script> 決策

機器學習實戰10 K-Means(K-均值)聚類演算法

第 10章K-Means(K-均值)聚類演算法 K-Means 演算法 聚類是一種無監督的學習, 它將相似的物件歸到一個簇中, 將不相似物件歸到不同簇中. 相似這一概念取決於所選擇的相似度計算方法. K-Means 是發現給定資料集的 K 個簇的聚類演算法, 之

機器學習實戰6 支援向量機

def smoSimple(dataMatIn, classLabels, C, toler, maxIter): """smoSimple Args: dataMatIn 特徵集合 classLabels 類別標籤 C 鬆弛變數

機器學習理論1部分 機器學習基礎

對於機器學習演算法也使用了一段時間,現在進行一個系統的學習和總結,也給自己補缺補差,回頭來看,發現對於機器學習的理解更加的清晰,更加有條理,在整體的思路上的把握也更加的完善,所以建議對於機器學習的學習一定要多實踐,多回頭檢視、 【分類介紹】

HTTP權威指南1  HTTP 概述

1.4 狀態 1.8 網關 資源 ip 地址 gen 歷史 客戶端 1.1 HTTP——因特網的多媒體信使 ...................................................................................

構建之法1 概論

order ble 可見性 科學 行為 summary 模式 enter strong 1 公式 軟件 = 程序 + 軟件工程 軟件的質量 = 程序的質量 + 軟件工程的質量 程序 = 數據結構 + 算法 軟件企業 = 軟件 + 商業模式 2 軟件的特殊性 復

Linux學習筆記8 Linux shell基礎知識

linux centos shell 通配 8.1shell介紹shell是一個命令解釋器,提供人機交互。支持特定語法。每個用戶都可以有自己特定的shell(bash)。CentOS7默認bash(Bourne Agin Shell)。其他還有zsh、ksh等。 8.2命令歷史命令歷史存放於

機器學習實戰2閱讀筆記3 使用K近鄰演算法改進約會網站的配對效果—分步驟詳細講解1——資料準備:從文字檔案中解析資料(附詳細程式碼及註釋)

 本篇使用的資料存放在文字檔案datingTestSet2.txt中,每個樣本資料佔據一行,總共有1000行。 樣本主要包含以下3中特徵: (1)每年獲得飛行常客里程數 (2)玩視訊遊戲所耗時間百分比 (3)每週消費的冰淇淋公升數 在使用分類器之前,需要將處理的檔案格式

機器學習實戰2閱讀筆記1 K近鄰演算法概述

K近鄰演算法採用測量不同特徵值之間的距離方法進行分類。 K-近鄰演算法工作原理: 存在一個樣本資料集合,也稱作訓練樣本集,並且樣本集中的每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入每一標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,然後提取

深入理解JVM虛擬機器1 走進java

1.1Java技術體系 Sun 官方定義的Java技術體系包括以下幾個組成部分: Java 程式設計語言 各種硬體平臺上的 Java 虛擬機器 Class 檔案格式 Java API 類庫 第三方 Java 類庫 1.1.1 Java API 按照技術所服

機器學習實戰:Logistic迴歸(1)基本概念和簡單例項

最近感覺時間越來越寶貴,越來越不夠用。不過還是抽空看了點書,然後整理到部落格來。 加快點節奏,廢話少說。 Keep calm & carry on. ----------------------------------------------------------

機器學習實戰8 ValueError: Masked arrays must be 1-D

《機器學習實戰》第8章 預測數值型資料:迴歸  函式regression1方法中出錯 def regression1():     xArr, yArr = loadDataSet("./ex0.txt")     xMat = mat

吳恩達機器學習筆記:線性迴歸回顧

本章是對線性代數的一些簡單回顧,由於之前學過,所以這裡只是簡單的將課程中的一些例子粘過來 矩陣表示 矩陣加法和標量乘法 矩陣向量乘法 用矩陣向量乘法來同時計算多個預測值 矩陣乘法 用矩陣乘法同時計算多個迴歸

吳恩達機器學習筆記:多變數線性迴歸

目錄 多特徵下的目標函式 多元梯度下降法 多元梯度下降法中的方法 特徵縮放 選擇學習率 特徵和多項式迴歸 正規方程(區別於迭代法的直接解法) 正規方程在矩陣不可逆的情況下的解決方法

機器學習實戰:決策樹(1)基本概念

有半個月沒來了。 最近一段時間...大多在忙專案組的事(其實就是改一改現有程式碼的bug,不過也挺費勁的,畢竟程式碼不是自己寫的)。另外就是自己租了幾臺美帝的vps,搭了$-$的伺服器 ,效果還不錯。自己搭的話就不用去買別人的服務了,不過租vps畢竟還是要成本的,光用來番茄

機器學習實戰7的一處代碼錯誤

traceback com post cond 解決 elm back document image --------------------------------------------------------------------------- IndexError