1. 程式人生 > >機器學習筆記(1)簡介

機器學習筆記(1)簡介

1、關於機器學習的概念

     1) 下面是由卡內基梅隆大學電腦科學學院機器學習系主任 Tom Mitchell給出的機器學習的定義

      “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."

                                                                                                                                                       —Tom Mitchell

      2)維基百科的定義

        機器學習是人工智慧的一個分支,主要關於構造和研究可以從資料中學習的系統。

2、機器學習的任務型別    

       機器學習的任務型別有以下幾種

            2.1 監督學習(Supervised Learning)

                    ----分類(Classification)

                    ----迴歸(Regression)

                    ----排序(Ranking)

            2.2 非監督學習(Unsupervised Learning)

                    ----聚類(Clustering)

                    ----降維(Dimensionality Reduction)

                    ----概率密度估計(density estimation)

            2.3 半監督學習(Semi-supervisedLearning)

            2.4 增強學習(Reinforcement Learning)

            2.5 遷移學習(TransferLearning)

2.1 監督學習(Supervised Learning)      

    監督學習下面又細分為分類迴歸排序三種類型。下面介紹什麼是監督學習並且使用數學公式解釋下背後的原理和例子。

    監督學習:學習到一個 x → y 的對映ƒ,從而對新輸入的 x 進行預測ƒ(x)。監督的意思是在我們的訓練資料集中,帶有標籤y(即在訓練資料中可以看到的變數,一般是資料集的第一列或者最後一列),如下關係:

                         

    我們舉個例子,比如 波士頓房價預測

        · 房價預測就是一個監督學習的任務:根據訓練資料   對房屋屬性和房屋價格之間的關係進行建模,在學習好的模型對新的房屋進行價格預測。

            – 訓練樣本數目N :506個樣本
            – 輸入房屋屬性x :13個特徵(CRIM、…、LSTAT)

            – 輸出房價y :MEDV

            

        1)分類(Classification):在監督學習的任務中,若輸出y為離散值,我們稱之為分類,標籤y的取值空間為:y={1,2,.....,C}。模型是學習從輸入x到輸出y的對映ƒ:

                                                      

             而學習的目標就是得到一個函式,使得訓練集上預測的值與真值之間的差值最小,那麼這樣得到的函式就是損失函式:

                                 

              因為是分類任務,所以上述公式是預測類別與真實類別是否相同,相同則損失為0,則說明樣本分對了。否則分錯了。至於如何計算得到損失最小,這個屬於優化問題,後面再提。

              · 例如:信用評分

                            -----輸入x : 客戶的存款(savings)和收入(income)

                            -----輸出y  :  客戶的風險等級(risk)(是高風險還是低風險)

                    根據上面,我們得到的樣本為 {(savings,income,risk)} 。預測模型為  risk=ƒ(savings,income) 。

        2)迴歸(Regression):在監督學習任務中,若輸出為連續值,則我們稱之為一個迴歸(Regression)任務,那麼迴歸的模型:

                                                                    

               而學習的目的也是得到一個函式,使得訓練集上預測值與真值之間的差異最小,這個函式就是損失函式:

                                                        

              但是我們的學習任務時一個迴歸問題,所以還有把所有測試的樣本得到的結果加起來才行,所以我們最終得到的

        目標函 數:

                                                        

                · 例如:上面的房價預測

        3)排序(Ranking):排序學習是推薦、搜尋、廣告的核心方法。

                以資訊檢索為例,訓練時我們給定文件集合  和 查詢-文件對(pair):查詢

                                                     

                排序學習根據訓練學習一個排序模型ƒ(q,d),然後利用該模型對新的查詢 ,給出每個文件的排序

        、......、

                一般監督學習直接給定訓練資料 不同,排序學習中需要首先根據查詢q及其文件d集合進行標註(data labeling)和提取特徵(featureextraction)才能得到。如下:

     

                因為原始輸入只有查詢q和文件d,為了得到標準的x,y,標註的目的是為了得到要y,特徵x是跟查詢q和文件d都有關係,所以通過特徵提取就可以得到對應的x了,這樣就可以得到資料集y=ƒ(x)的函式關係。

2.2 非監督學習(Unsupervised Learning)

            非監督學習,在資料集中沒有標籤y,並試圖通過x來進行學習找出其中的結構或者規律的模型;發現數據中的“有意義的模式”,亦被稱為知識發現。非監督學習細分下主要有聚類和降維
                    – 訓練資料不包含標籤
                    – 標籤在訓練資料中為隱含變數(在資料集中可能是有y的,只是隱藏了)

                                            

        1)聚類(Clustering):根據文字含義,聚類就是根據資料集找出同類的任務。比如人的"型別" 


    根據不同的身高和體重,我們可以分為兩類:紅色標記和藍色標記兩類,或者分為三類:黑色標記、藍色標記和紅色標記。具體分為多少類,一是根據我們自身的背景知識,二是根據資料的模型選擇方式,選擇最佳的K。K就是型別個數。

    那某個樣本是屬於哪個類呢?那就需要通過,看屬於那個概率最大,把隱含變數找出來,其中

        2)降維(Dimensionality Reduction):我們可以把降維歸到特徵提取那部分內容,因為我們的樣本x通常有多維特徵,而且有些特徵之間會相關而存在冗餘。比如影象中的資料,其背景大多數都是黑色的,也就是說相鄰畫素的值通常相同或者差異很小。實際我們手寫的數字中,畫素是可能是28*28=784維,而機器學習中,實際上使用不到那麼多維數就可以很好的識別了。所以我們就需要降維。

                                

         降維是一種將原高維空間中的資料點對映到低維度空間的技術。其本質是學習一個對映函式 ,其中x是原始

    資料點的表達,是資料點對映後的低維向量表達。在機器學習中特徵工程是非常重要的一部分,降維演算法也就成為了資料預處理的一部分,比如主成分分析(Principal Components Analysis, PCA)。

        3)概率密度估計(density estimation):只是對一兩維的資料起作用,更高維的資料就沒有辦法了,這裡我們不進行闡述了

2.3 半監督學習(Semi-supervisedLearning)

        鑑於監督學習和非監督學習之間,還有一個半監督學習。這個在我們實際應用中是極有可能存在的,比如醫療資料,只有少數帶有標籤的,因為如果請醫生將所有的資料都做標籤的話,是非常大的成本。所以在我們的學習中,可以根據少數帶標籤的資料和大量不帶標籤的資料,也可以得到很好的資料模型。


    比如上面左邊的圖,中間紅色標籤是一個類和外圍藍色的標籤是一個類,通過這種少量標籤,我們就可以通過學習得到圖右中,所有資料的最終分類了。

2.4 增強學習(Reinforcement Learning)

        當我們資料的x時,模型並不是馬上就得到y,而是有延遲,因為模型對環境做出相應的反應,那麼外界就會對其行為進行獎勵或者懲罰。即增強學習就是從行為的反饋(獎勵或懲罰)中學習。

        設計一個回報函式(reward function),如果learning agent(如機器人、回棋AI程式)在決定一步後,獲得了較好的結果,那麼我們給agent一些回報,比如回報函式結果為正就獎勵,得到較差的結果,那麼回報函式為負就懲罰。我們最終的目的,也就是增強學習的任務,就是找到一條回報值最大的路徑。著名的AlphaGo就是使用增強學習的

2.5 遷移學習(TransferLearning)

  顧名思義就是就是把已學訓練好的模型引數遷移到新的模型來幫助新模型訓練。考慮到大部分資料或任務是存在相關性的,所以通過遷移學習我們可以將已經學到的模型引數(也可理解為模型學到的知識)通過某種方式來分享給新模型從而加快並優化模型的學習效率不用像大多數網路那樣從零學習(starting from scratch,tabula rasa)

                                                                                                                                                AI五期 陸顯勝

相關推薦

機器學習筆記1簡介

1、關於機器學習的概念     1) 下面是由卡內基梅隆大學電腦科學學院機器學習系主任 Tom Mitchell給出的機器學習的定義      “A computer program is said to learn from experience E with respec

平衡樹學習筆記1-------簡介

平衡樹是一個很神奇的資料結構 noip前,學了其兩種實現方式,Splay和Treap,非常實用(雖然碼量有點。。) 每個平衡樹都是二叉查詢樹,保證\(左孩子 \leq 自己 \leq 右孩子\) 因此,平衡樹的中序遍歷就是插入節點的有序序列(理解一下) 平衡樹支援插入,刪除,以及各種查詢,以下面為例

機器學習筆記1監督學習和無監督學習

結果 關系 不同 情況 屬於 預測 數據 自己 復雜 監督學習 監督學習是指我們給予算法一個數據集,這個數據集可以是以往相同類型問題的結果,或者絕對正確的經驗答案的集合,也就是統計中常說的樣本,並且這些數據都是有其固有的“正確答案”,然後算法根據這個集合做出對當前相同類型的

機器學習筆記1 感知機演算法 之 實戰篇

我們在上篇筆記中介紹了感知機的理論知識,討論了感知機的由來、工作原理、求解策略、收斂性。這篇筆記中,我們親自動手寫程式碼,使用感知機演算法解決實際問題。 先從一個最簡單的問題開始,用感知機演算法解決OR邏輯的分類。 import numpy as np import matplotlib.pyplot as

【Java】「深入理解Java虛擬機器學習筆記1 - Java語言發展趨勢

這本書寫的比較早,現在這些功能都已經不同程度的實現了。 1、模組化     JDK9之前的版本都是一個整體,使用者可能只需要使用一個小功能,但他不得不下載整個JDK。不能滿足定製化需求,顯然Java語言的發展因此大大受限。   所以,Sun公司在OpenJDK建立了一個Jigsaw(拼圖)的專案來推動模

RocketMQ學習筆記1----RocketMQ的簡介

1. 什麼是RecketMQ?         是一個佇列模型的訊息中介軟體,具有高效能、高可靠、高實時、分散式特點。  Producer、Consumer、佇列都可以分散式。   Producer 吐一些佇列輪流収送訊息,佇列集合稱為Topic,Consumer 如果做廣播消費,則一個con

jvm學習筆記1——java虛擬機器記憶體區域

一、java記憶體區域:      1、程式計數器(執行緒私有):     記憶體中較小的記憶體空間,可以當做當前執行緒所執行位元組碼的行號指示器。如分支、迴圈、跳轉、異常處理、執行緒恢復都需要依賴這個計數器完成。 2、java虛擬機

RabbitMQ學習筆記1----RabbitMQ簡介與安裝

·1. 什麼是RabbitMQ?   RabbitMQ是流行的開源訊息佇列系統,用erlang語言開發。RabbitMQ是AMQP(高階訊息佇列協議)的標準實現。   而AMQP協議則是指:即Advanced Message Queuing Protocol,一個提供統一訊息服務的應用層標準高階訊息佇列協

Kafka學習筆記1----Kafka的簡介和Linux下單機安裝

1. Kafka簡介   Kafka is a distributed,partitioned,replicated commit logservice。它提供了類似於JMS的特性,但是在設計實現上完全不同,此外它並不是JMS規範的實現。kafka對訊息儲存時根據Topic進行歸類,傳送訊息者成為Produ

Redis學習筆記1—— Redis簡介

一、NoSQL概述 1.1 什麼是NoSQL   NoSQL(NoSQL = Not Only SQL),意指“不僅僅是SQL”,是一項全新的資料庫理念,泛指非關係型的資料庫。 1.2 為什麼需要NoSQL   隨著網際網路web2.0網站的興起,非關係型的資料庫成了一個極其熱門的新領域,非關係型資料

機器學習實戰》學習筆記1——k-近鄰演算法

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

HTML 學習筆記1 HTML簡介

轉載: HTML 簡介 HTML, XHTML簡介 HTML 超文字標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用於建立網頁的標準標記語言。 HTML 使用標記標籤來描述網頁。HTML文件也叫做 web 頁面 可以

嵌入式學習筆記1虛擬機器和主機相互ping通

嵌入式學習筆記(1)虛擬機器和主機相互ping通 目錄 嵌入式學習筆記(1)虛擬機器和主機相互ping通 概念 完整步驟 首先要安裝好虛擬機器和Linux作業系統 設定好虛擬機器的靜態IP地址 設定好宿

Facebook Surround360 學習筆記--1系統簡介

Facebook Surround 360是Facebook2016年7月釋出的開源360°三維全景視訊拍攝系統,主要功能是為VR拍攝3D全景視訊素材。它長這個樣子: 看起來酷炫的很,當然功能也很強大,後面會介紹。介紹surround360之前先看一下該領

TensorFlow學習筆記1--TensorFlow簡介,常用基本操作

要將深度學習更快且更便捷地應用於新的問題中,選擇一款深度學習工具是必不可少的步驟。 TensorFlow是谷歌於2015年11月9日正式開源的計算框架。TensorFlow計算框架可以很好地支援深度學習的各種演算法。 TensorFlow很好地相容了學術研究

機器學習西瓜書周志華學習筆記1-緒論

基本術語 資料集(data set):一組記錄的集合。例如:(色澤=青綠;根蒂=稍蜷;敲聲=沉悶)。 樣本(sample):資料集中的每條記錄,它是關於一個事件或物件的描述。又稱示例(instance)。例如:色澤=青綠。 屬性(attribute):反映事件或物件在某

機器學習基石學習筆記1-PLA

(☆:本文是筆者通過學習臺灣大學機器學習課程,記錄學習過程之筆記博文,博文中出現的各種非正統的機器學習語錄可能只是筆者腦洞大開之文段,敬請海涵) 0、寫在前面 在系列博文開始前,筆者簡單描述一下機器

機器學習筆記機器學習可行性分析

資料 表示 image 隨機 訓練樣本 -s mage 例如 lin 從大量數據中抽取出一些樣本,例如,從大量彈珠中隨機抽取出一些樣本,總的樣本中橘色彈珠的比例為,抽取出的樣本中橘色彈珠的比例為,這兩個比例的值相差很大的幾率很小,數學公式表示為: 用抽取到的樣本作為訓練

JAVA學習筆記1——a++與++a的區別

col int 演示 opera 解析 代碼 數據 ++i div 需求:此博客用於解釋i++與++i的區別。 過程: 1、名稱解釋 ++:自增,即在原有數據基礎上+1,再賦給原有數據。 2、程序演示 (1)代碼: 1 class OperateDemo 2 { 3

機器學習筆記邏輯回歸

邏輯回歸 alt 表示 結果 不變 改變 最小值 nbsp 可能性 一、邏輯回歸問題 二分類的問題為是否的問題,由算出的分數值,經過sign函數輸出的是(+1,-1),想要輸出的結果為一個幾率值,則需要改變函數模型 ,其中,, 則邏輯回歸的函數為 二、邏輯回歸錯誤評價 線性