Machine Learning 學習筆記1 - 基本概念以及各分類

?

?What is machine learning?

并沒有廣泛認可的定義來準確定義機器學習。以下定義均為譯文,若以后有時間,將補充原英文......

定義1、來自Arthur Samuel(上世紀50年代、西洋棋程序)

    在進行特定編程的情況下給予計算機學習能力的領域。

定義2、來自Tom Mitchell(卡內基梅隆大學)

    一個好的學習問題定義如下:一個程序被認為能從經驗E中學習,解決任務T,達到性能度量值P

    當且僅當,有了經驗E后,經過P評判,程序在處理T時的性能有所提升。

?

機器學習分類   

  • 監督學習(Supervised Learning)
    • 常見算法:邏輯回歸(Logistic Regression)和反向傳遞神經網絡(Back Propagation Neural Network)
  • 無監督學習(Unsupervised Learning)
    • 常見算法:Apriori算法以及k-Means算法。
  • 強化學習(Reinforcement Learning)
    • 常見算法包括Q-Learning以及時間差學習(Temporal difference learning)
  • 半監督學習(Semi-supervised Learning)
    • 圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)
  • 深度學習(Deep Learning)

?

監督學習(Supervised Learning)

在監督學習中,給定一組數據,我們知道正確的輸出結果應該是什么樣子,并且知道在輸入和輸出之間有著一個特定的關系。

監督學習的分類:

  1. 回歸(Regression)
  2. 分類(Classification)

在回歸問題中,我們會預測一個連續值。也就是說我們試圖將輸入變量和輸出用一個連續函數對應起來;而在分類問題中,我們會預測一個離散值,我們試圖將輸入變量與離散的類別對應起來。

?

監督學習舉例:

回歸問題:

通過房地產市場的數據,預測一個給定面積的房屋的價格就是一個回歸問題。這里我們可以把價格看成是面積的函數,它是一個連續的輸出值。 但是,當把上面的問題改為“預測一個給定面積的房屋的價格是否比一個特定的價格高或者低”的時候,這就變成了一個分類問題, 因為此時的輸出是‘高’或者‘低’兩個離散的值。

?

分類問題:

給定醫學數據,通過腫瘤的大小來預測該腫瘤是惡性瘤還是良性瘤(課程中給的是乳腺癌的例子),這就是一個分類問題,它的輸出是0或者1兩個離散的值。(0代表良性,1代表惡性)。

分類問題的輸出可以多于兩個,比如在該例子中可以有{0,1,2,3}四種輸出,分別對應{良性, 第一類腫瘤, 第二類腫瘤, 第三類腫瘤}。

下圖中上下兩個圖只是兩種畫法。第一個是有兩個軸,Y軸表示是否是惡性瘤,X軸表示瘤的大小; 第二個是只用一個軸,但是用了不同的標記,用O表示良性瘤,X表示惡性瘤。

在這個例子中特征只有一個,那就是瘤的大小。 有時候也有兩個或者多個特征, 例如下圖, 有“年齡”和“腫瘤大小”兩個特征。(還可以有其他許多特征,如下圖右側所示)

?無監督學習(Unsupervised Learning)

?在無監督學習中,我們基本上不知道結果會是什么樣子,但我們可以通過聚類的方式從數據中提取一個特殊的結構。在無監督學習中給定的數據是和監督學習中給定的數據是不一樣的。在無監督學習中給定的數據沒有任何標簽或者說只有同一種標簽。如下圖所示:

如下圖所示,在無監督學習中,我們只是給定了一組數據,我們的目標是發現這組數據中的特殊結構。例如我們使用無監督學習算法會將這組數據分成兩個不同的簇,,這樣的算法就叫聚類算法。

?

?無監督學習舉例:

例1、新聞分類

第一個例子舉的是Google News的例子。Google News搜集網上的新聞,并且根據新聞的主題將新聞分成許多簇, 然后將在同一個簇的新聞放在一起。如圖中紅圈部分都是關于BP Oil Well各種新聞的鏈接,當打開各個新聞鏈接的時候,展現的都是關于BP Oil Well的新聞。

例2、根據給定基因將人群分類

如圖是DNA數據,對于一組不同的人我們測量他們DNA中對于一個特定基因的表達程度。然后根據測量結果可以用聚類算法將他們分成不同的類型。這就是一種無監督學習, 因為我們只是給定了一些數據,而并不知道哪些是第一種類型的人,哪些是第二種類型的人等等。

?

?半監督學習(Semi-supervised Learning):

在此學習方式下,輸入數據部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是模型首先需要學習數據的內在結構以便合理的組織數據來進行預測。應用場景包括分類和回歸,算法包括一些對常用監督式學習算法的延伸,這些算法首先試圖對未標識數據進行建模,在此基礎上再對標識的數據進行預測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。

強化學習(Reinforcement Learning)

?

在這種學習模式下,輸入數據作為對模型的反饋,不像監督模型那樣,輸入數據僅僅是作為一個檢查模型對錯的方式,在強化學習下,輸入數據直接反饋到模型,模型必須對此立刻作出調整。常見的應用場景包括動態系統以及機器人控制等。常見算法包括Q-Learning以及時間差學習(Temporal difference learning)

?

遺傳算法(GENETIC ALGORITHIM):

和強化學期類似,? ? ? 淘汰弱者、試著生存的原則,通過這種淘汰機制去選擇最優的設計或模型

?

深度學習(Deep Learning):

深度學習算法是對人工神經網絡的發展。 在近期贏得了很多關注, 特別是百度也開始發力深度學習后, 更是在國內引起了很多關注。?? 在計算能力變得日益廉價的今天,深度學習試圖建立大得多也復雜得多的神經網絡。很多深度學習的算法是半監督式學習算法,用來處理存在少量未標識數據的大數據集。常見的深度學習算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網絡(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。

?

?總結:

有數據和標簽的監督學習、只有數據沒有標簽的非監督學習、結合了監督學習和非監督學習的半監督學習(少量有標簽、大量無標簽)、從經驗中總結提升的強化學習(機器人投籃)、有著適者生存不適者被淘汰準則的遺傳算法、對人工神經網絡的發展的深度學習。

?

企業數據應用的場景下, 人們最常用的可能就是監督式學習和非監督式學習的模型。 在圖像識別等領域,由于存在大量的非標識的數據和少量的可標識數據, 目前半監督式學習是一個很熱的話題。 而強化學習更多的應用在機器人控制及其他需要進行系統控制的領域

?

?

參考課程地址:Supervised Learning & Unsupervised Learning

      https://www.bilibili.com/video/av9912938/index_8.html#page=1

參考文章鏈接:https://www.jianshu.com/p/7bae1ead174e

       https://www.ctocio.com/hotnews/15919.html

?

轉載于:https://www.cnblogs.com/tanrong/p/8471119.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453418.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453418.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453418.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

值傳遞與地址傳遞

值傳遞與地址傳遞的區別:兩者其實傳遞的都是一個內存單元的內容。不同的是,值傳遞傳遞的內容是一個變量的值,得到這個值后,對這個值的修改不能改變原變量的值;而地址傳遞傳遞的是一個變量的地址,得到傳遞的…

蒙特 卡羅方法matlab,蒙特·卡羅方法中的數學之美,你一定不想錯過

原標題:蒙特卡羅方法中的數學之美,你一定不想錯過有方教育——我們致力于為中學生提供學界和業界前沿的學術科研教育內容,幫助學生參加海外科研項目,在提升申請競爭力的同時,獲得領跑優勢。一、概述蒙特卡羅方法(Monte…

【 CDN 最佳實踐】CDN 命中率優化思路

CDN 在靜態資源的加速場景中是將靜態資源緩存在距離客戶端較近的CDN 節點上,然后客戶端訪問該資源即可通過較短的鏈路直接從緩存中獲取資源,而避免再通過較長的鏈路回源獲取靜態資源。因此 CDN的緩存命中率的高低直接影響客戶體驗,而保證較高…

職場新人的入門法則:少想、多做、立即執行!

對于剛進入職場的新人來說,要想在工作中快速獲得成長,唯一辦法就是:“少想,多做,立即執行!”。 少想不等于盲目,在保證工作思路絕對清晰的同時,執行力越高,執行速度越快…

Python基礎-time and datetime

一、在Python中,通常有這幾種方式來表示時間: 時間戳格式化的時間字符串元組(struct_time)共九個元素。由于Python的time模塊實現主要調用C庫,所以各個平臺可能有所不同。1.時間戳(timestamp)的…

實際應用中帶頭節點的線性鏈表

/*帶頭節點的線性鏈表類型*/ typedef char ElemType//結點類型 typedef struct LNode {char data;struct LNode *next; }*Link,*Position;//鏈表類型 typedef struct {Link head,tail;int len; }LinkList;/**/ /*一些在其他函數定義中會調用的函數*/ /**//*---compare---比較兩…

matlab中歐姆如何表示,在excel中歐姆符號怎么打

在excel中歐姆符號怎么打,相信對于好多熟練用excel的朋友來說,是很簡單不過的,但是對于有些初學者來說,就是菜鳥啦,就有點懵懵懂懂的感覺了,畢竟剛接觸的東西還沒用過嘛。但是,沒關系今天筆者就…

原生js系列之DOM工廠模式

寫在前面 如今,在項目中使用React、Vue等框架作為技術棧已成為一種常態,在享受帶來便利性的同時,也許我們漸漸地遺忘原生js的寫法。 現在,是時候回歸本源,響應原始的召喚了。本文將一步一步帶領大家封裝一套屬于自己的…

武術與軟件設計 - 簡單即是最好

偶然間在公車上看見一個講中國功夫的特輯,說道香港武打片的發展歷程,當然就不得不提起李小龍先生,我們知道他截拳道的威力,這時候我記得在看李小龍傳奇時他所說的一些話,當他和美國一個高手比武后他輸了,最…

matlab的概述,Matlab概述

MATLAB(矩陣實驗室)是數字計算,可視化和編程的第四代高級編程語言和交互式環境。MATLAB是由MathWorks開發的。它允許矩陣操縱,繪制功能和數據; 實現算法; 創建用戶界面; 與其他語言編寫的程序(包括C語言,C,Java和FORTRAN)進行交互…

形參和實參

形參:全稱為“形式參數”是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參…

sizeof和strlen的區別

strlen——get the length of a string.size_t strlen(const char *string);Each ofthese functions returns the number of characters instring, notincluding the terminating null character.//函數返回string里的字符數,不包括終止字符\0sizeofThe sizeof keyw…

位置參數及操作符號

特殊字符對應的處理參數: 參數說明$0當前執行的腳本文件名,若全路徑執行,則顯示腳本路徑$n當前執行腳本的第n個參數值,若n>9,則需寫成${10}$#當前傳參總個數$$腳本運行的當前進程ID號,用例:當一個進程重…

python變量命名可以有特殊符號嗎,和孩子一起學習python之變量命名規則

下面是關于變量名(也稱為標識符)的一些規則必須以一個字母或一個下劃線字符開頭。后面可以使用一個字母、數字或下劃線字符的序列,長度不限。字母可以是大寫或小寫,大小寫是不同的。也就是說,Ax不同于aX。數字可以是從0到9(包括0到9)的任意數…

C語言中*和

(一) 在定義時,* 是一個標識符,聲明該變量是一個指針,比如說int *p; 那p就是一個指向int型的指針; 在調用時, (1)*p是指指針p指向的那個變量,比如說之前有int a5;int …

IT人的好習慣和不良習慣總結

好習慣: 細節一:在電腦旁放上幾盆植物,傳說仙人掌可以有效地吸收輻射,但是會扎到人,而且有沒效果也沒科學根據,不推薦;其實只要是綠色植物就可以,植物可以讓你多點氧氣,保…

【BZOJ 3326】[Scoi2013]數數 數位dp+矩陣乘法優化

挺好的數位dp……先說一下我個人的做法:經過觀察,發現這題按照以往的思路從后往前遞增,不怎么好推,然后我就大膽猜想,從前往后推,發現很好推啊,維護四個變量,從開始位置到現在有了i個數 f[i]:所有數的所有未包含最后一位的子串的和 s[i]:所有數的所有后綴子串的和 c[i]:所有數的…

zookeeper偽集群(在一臺機器上集群)

2019獨角獸企業重金招聘Python工程師標準>>> 創建一下的目錄結構zookeeper-3.4.10是你下載的zookeeper的解壓包 /zookeeper_cluster----/server_one|---/data|myid(文件)|---/datalog|---/zookeeper-3.4.10|---/bin|---/conf|---zoo.cfg|---..... |---/....----/ser…

mongo的php查詢,使用PHP進行簡單查詢的mongo查詢速度慢

我有一個非常簡單的使用PHP執行的Mongo Query。我相信查詢執行得非常快,因為當我在終端上運行它時,它幾乎可以立即完成,并且當我解釋()時,它表明它正在1-2ms內執行。但是,當我去迭代游標并將內容放入數組時&#xff0c…

順序存儲結構和鏈式存儲結構的優缺點

(一)順序存儲結構和鏈式存儲結構的優缺點比較,以及使用情況。 1 優缺點 ① 順序存儲時,相鄰數據元素的存放地址也相鄰(邏輯與物理統一);要求內存中可用存儲單元的地址必須是連續的。 優點&…