Coursera機器學習筆記(一) - 監督學習vs無監督學習

轉載?http://daniellaah.github.io/2016/Machine-Learning-Andrew-Ng-My-Notes-Week-1-Introduction.html

一. 監督學習

什么是監督學習? 我們來看看維基百科中給出的定義:

監督式學習(英語:Supervised learning),是一個機器學習中的方法,可以由訓練資料中學到或建立一個模式(函數 / learning model),并依此模式推測新的實例。訓練資料是由輸入物件(通常是向量)和預期輸出所組成。函數的輸出可以是一個連續的值(稱為回歸分析),或是預測一個分類標簽(稱作分類)

從數據的角度來講, 監督學習和無監督學習的區別就在于監督學習的數據不僅僅有特征組成, 即每一個數據樣本都包含一個準確的輸出值. 在房價預測的問題中, 數據由特征+房價組成.

1.1 監督學習的分類

在監督學習中, 我們的預測結果可以是連續值, 也可以是離散值. 我們根據這樣的屬性將監督學習氛圍回歸問題和分類問題.


下面我們分別舉一個例子來看看, 學完這兩個例子之后, 我們就會對監督學習, 回歸以及分類有比較清晰地認識了.

1.2 監督學習舉例

1.2.1 回歸問題

我們現在有這么一個問題, 我們想通過給定的一個房子的面積來預測這個房子在市場中的價格. 這里的房子的面積就是特征, 房子的價格就是一個輸出值. 為了解決這個問題, 我們獲取了大量的房地產數據, 每一條數據都包含房子的面積及其對應價格. 第一, 我們的數據不僅包含房屋的面積, 還包含其對應的價格, 而我們的目標就是通過面積預測房價. 所以這應該是一個監督學習; 其次, 我們的輸出數據房價可以看做是連續的值, 所以這個問題是一個回歸問題. 至于如何通過數據得到可以使用的模型, 后面的幾節課我們再做討論.

思考: 如果對于同樣的數據, 但是我們的目標是預測這個房子的房價是大于100w還是小于100w, 那么這個時候是什么哪一類問題?

1.2.2 分類問題

我們再來看一個分類問題, 從名字上來講, 分類問題還是比較好理解的, 我們的目標應該是要對數據進行分類. 現在我們的數據是有關乳腺癌的醫學數據, 它包含了腫瘤的大小以及該腫瘤是良性的還是惡性的. 我們的目標是給定一個腫瘤的大小來預測它是良性還是惡性. 我們可以用0代表良性,1代表惡性. 這就是一個分類問題, 因為我們要預測的是一個離散值. 當然, 在這個例子中, 我們的離散值可以去’良性’或者’惡性’. 在其他分類問題中, 離散值可能會大于兩個.例如在該例子中可以有{0,1,2,3}四種輸出,分別對應{良性, 第一類腫瘤, 第二類腫瘤, 第三類腫瘤}。

在這個例子中特征只有一個即瘤的大小。 對于大多數機器學習的問題, 特征往往有多個(上面的房價問題也是, 實際中特征不止是房子的面積). 例如下圖, 有“年齡”和“腫瘤大小”兩個特征。(還可以有其他許多特征,如下圖右側所示)

二. 無監督學習

在監督學習中我們也提到了它與無監督學習的區別. 在無監督學習中, 我們的數據并沒有給出特定的標簽, 例如上面例子中的房價或者是良性還是惡性. 我們目標也從預測某個值或者某個分類便成了尋找數據集中特殊的或者對我們來說有價值結構. 如下圖所示, 我們可以直觀的感受到監督學習和無監督學習在數據集上的區別.

我們也可以從圖中看到, 大概可以將數據及分成兩個簇. 將數據集分成不同簇的無監督學習算法也被稱為聚類算法.

2.1 無監督學習舉例

想要了解這些例子更詳細的內容可以看 https://study.163.com/course/courseLearn.htm?courseId=1004570029#/learn/video?lessonId=1049049771&courseId=1004570029

2.1.1 新聞分類

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

2.1.2 根據給定基因將人群分類

如圖是DNA數據,對于一組不同的人我們測量他們DNA中對于一個特定基因的表達程度。然后根據測量結果可以用聚類算法將他們分成不同的類型。

2.1.3 雞尾酒派對效應

詳見課程:?https://study.163.com/course/courseLearn.htm?courseId=1004570029#/learn/video?lessonId=1049049771&courseId=1004570029

2.1.4 其他

這里又舉了其他幾個例子,有組織計算機集群,社交網絡分析,市場劃分,天文數據分析等。具體可以看一下視頻:https://study.163.com/course/courseLearn.htm?courseId=1004570029#/learn/video?lessonId=1049049771&courseId=1004570029

?

轉載于:https://www.cnblogs.com/nangua19/p/10868190.html

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

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

相關文章

基于OpenCL的mean filter性能

1.對于一個標準的3*3 均值濾波,kernel代碼如下: 使用buffer/image緩沖對象 __kernel void filter(__global uchar4* inputImage, __global uchar4* outputImage, uint N) {int x get_global_id(0);int y get_global_id(1);int width get_global_size(…

Docker 實戰:編寫 Dockerfile

一、編譯鏡像 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 編譯鏡像 Dockerfile類似于Makfile,用戶使用docker build就可以編譯鏡像,使用該命令可以設置編譯…

dubbo-環境搭建,實現一個簡單地dubbo實例(附github地址)

一、建立maven模塊和provider、consumer、service子模塊,其中service是開發接口的模塊 建立一個maven模塊,不選擇樣板,直接next知道完成,建立三個子模塊,建立完后發現各個模塊的java目錄不是源目錄 右鍵——>make Directory as…

static 二次理解

當api底層用到static修飾的話,因為是類的,此容器中只有一份轉載于:https://blog.51cto.com/jiaxiaoxu/2394844

AMD 5XXX 系列顯卡的 peak bandwidth計算

在ATI Stream Computing Programming Guide中,例舉了AMD 5系列顯卡的參數信息。 我比較關注其中Peak bandwidths的計算,以便在opencl程序測試bandwidth利用率。 下面,我以5870為例,探討一下如何計算得到這些結果: L1 c…

Docker : Dockerfile 定制鏡像

使用 Dockerfile 定制鏡像 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 鏡像的定制實際上就是定制每一層所添加的配置、文件。如果我們可以把每一層修改、安裝、構建、操作的命令都寫…

動態規劃 最長上升子序列

題意:給出一個序列,求它的最長上升子序列的長度 題目鏈接:https://ac.nowcoder.com/acm/problem/26156 輸入:n代表長度,然后是一個字符串 分析:用dp[i]表示長度為i1的上升子序列末尾元素的最小值(一開始初始…

解說redis中如何實現高可用

redis中為了實現高可用(High Availability,簡稱HA),采用了如下兩個方式:主從復制數據。采用哨兵監控數據節點的運行情況,一旦主節點出現問題由從節點頂上繼續進行服務。主從復制redis中主從節點復制數據有全…

OpenCL memory object 之 Global memory (1)

這篇日志是學習AMD OpenCL文檔時候的總結。 OpenCL用memory object在host和device之間傳輸數據,memory object由runtime(運行庫,driver的一部分)來管理。 OpenCL中的內存對象包括buffer以及image,buffer是一維數據元素…

Docker: dockerfile 使用介紹

Docker簡介 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Docker項目提供了構建在Linux內核功能之上,協同在一起的的高級工具。其目標是幫助開發和運維人員更容易地跨系統跨…

【Hello CSS】第六章-文檔流與排版

作者:陳大魚頭github: KRISACHAN正常流 什么是“正常流”? 其實就是我們日常所說的“文檔流”。 在W3C官方文檔里對應的是“normal flow”。 正常流的盒子屬于格式化上下文(FC),在CSS2.2中可以是表格、塊或內聯。 在CSS3中引入了f…

創建型模式---工廠模式

工廠模式 在工廠設計模式中,客戶端可以請求一個對象,而無需要知道這個對象來自哪里,也就是使用哪個類來生成這個對象。工廠背后的思想是簡化對象的創建。與客戶端自己基于類實例化直接創建對象相比,基于一個中心化函數來實現&…

OpenCL memory object 之 Global memory (2)

當我們用clCreateBuffer, clCreateImage創建OpenCL memory object時候,我們需要輸入一個flag參數,這個參數決定memory object的位置。 cl_mem clCreateBuffer (cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errc…

數據結構進階篇-跳表

大家想必都知道,數組和鏈表的搜索操作的時間復雜度都是O(N)的,在數據量大的時候是非常耗時的。對于數組來說,我們可以先排序,然后使用二分搜索,就能夠將時間復雜度降低到O(logN),但是有序數組的插入是一個O…

查看本機ssh公鑰,生成公鑰

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 查看ssh公鑰方法: 1.通過命令窗口:打開你的git bash 窗口,進入.ssh目錄:cd ~/.ssh&…

如何實現動態水球圖 --》 echars結合echarts-liquidfill實現

1)項目中作為項目依賴,安裝到項目當中(注意必須要結合echars) npm install echarts vue-echarts --save npm install echarts-liquidfill --save 2)在需要使用水晶球的組件里引入liquidFill.js import echarts-liquidfill/src/liquidFill.js;…

OpenCL memory object 之選擇傳輸path

對應用程序來說,選擇合適的memory object傳輸path可以有效提高程序性能。 下面先看一寫buffer bandwidth的例子: 1. clEnqueueWriteBuffer()以及clEnqueueReadBuffer() 如果應用程序已經通過malloc 或者mmap分配內存,CL_MEM_USE_HOST_PTR是個…

struts入門超詳細

https://blog.csdn.net/yerenyuan_pku/article/details/52652262轉載于:https://www.cnblogs.com/liuna369-4369/p/10870873.html

RabbitMQ 從入門到精通 (一)

目錄 1. 初識RabbitMQ2. AMQP3.RabbitMQ的極速入門4. Exchange(交換機)詳解4.1 Direct Exchange4.2 Topic Exchange4.3 Fanout Exchange5. Message 消息1. 初識RabbitMQ RabbitMQ 是一個開源的消息代理和隊列服務器,用來通過普通協議在完全不同的應用之間共享數據&a…

接收并解析消息體傳參、解析 json 參數

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.場景:postman 發送了一個 post 請求,如下: 2. 解析方式為用一個 vo 對象來接收 json。把 json 中的…