天天看點

機器學習之有監督學習,無監督學習,半監督學習

大家好,又見面了,我是你們的朋友全棧君。

文章目錄
  • 前言
  • 有監督學習
  • 無監督學習
  • 半監督學習

前言

機器學習是資料分析和資料挖掘的一種比較常用,比較好的手段從有無監督的角度,可以分為三類:

  1. 有監督學習
  2. 無監督學習
  3. 半監督學習

有監督學習

用已知某種或某些特性的樣本作為訓練集,以建立一個數學模型,再用已建立的模型來預測未知樣本,此種方法被稱為有監督學習,是最常用的一種機器學習方法。是從标簽化訓練資料集中推斷出模型的機器學習任務

問:有監督學習的定義最關鍵的是什麼呢?

從标簽化的訓練資料集中推斷出模型機器學習任務

前面都是廢話,沒有用,最關鍵的要看的就是:從标簽化的訓練資料集中推斷出模型機器學習任務

問:什麼是标簽

比如說有一張貓的圖檔,我們都知道它是隻貓,但是計算機不知道它是隻貓,怎麼辦呢?給這張圖檔打上個标簽,然後計算機就知道它是隻貓了,後面計算機根據這個标簽對所有的貓進行學習就能通過這一隻貓認識所有的貓了。

給資料打标簽,其實就是告訴計算機,前面這麼多特征( x 1 x_1 x1​ ~ x n x_n xn​)到底描述的是什麼。很自然的就是Y,Y可以稱之為Label,也可以稱之為Target(我們的目标值)

我們接到一個任務或者說模型,首先要定義一個目标,這個目标對應的是誰?我們的目标要對這個任務進行合理的模組化和預測,也就是說我們的目标在進行預測的時候有一個對應的y的值的話,

x1第一個特征,xn第n個特征,矩陣一般是有m行n列的這樣一個矩陣,是以我們一般去寫的時候,這個資料集中一般會有m條觀測值以及n列的這樣一個特征。

然後最終會有一個目标值的y,如果有y,我們就稱之為有監督學習,我們就要使用有監督學習進行模型的建構,實際上我們在日常的業務當中能夠多使用有監督學習就多使用有監督學習,比如說在有 x 1 , x 2 , x 3 , ⋯   , x n x_1, x_2, x_3, \cdots, x_n x1​,x2​,x3​,⋯,xn​以及y的情況下就老老實實用有監督學習了,就别用無監督學習。

無監督學習

知道了有監督學習的定義了,無監督學習的定義也就出來了。在算法建構的過程中不考慮Y的值,隻通過特征資訊去歸納出一些新的規律出來,這個方法就稱之為無監督學習。

有監督學習和無監督學習的差別就是一個有y,一個沒有y。這是最簡單的記憶方式。

是以總結起來正式的說法是:無監督學習的訓練集中沒有人為的标注的結果,在非監督的學習過程中,資料并不被特别辨別,學習模型是為了推斷出資料的一些記憶體結構。

推斷出資料的一些内在結構這是無監督學習學習的作用

問:為什麼不建議使用無監督學習呢

無監督學習需要我們推斷一些結構,但是在推斷一些結構的時候可能會因為人為的主觀臆斷而出現一些偏差,這個就不是純數學能夠證明我是對的了,這個時候再進行無監督學習就是在瞎猜。

在沒有y值的情況怎麼辦?是不是隻能進行無監督學習了呢?

沒有Y值的時候,自己給資料打标簽,自己把Y做出來。然後進行有監督學習

很多情況下,在實際的工作業務中很多的工作量都是給資料打标簽,你可能花半個半個月的時間,五六個人就坐那兒天天打标簽,幾萬條資料坐那兒打标簽打個三四天很正常。

是以就需要注意了,如果說真的是說在沒有标簽的情況下,你看看有沒有合理的方式先把标簽擷取過來。 如果沒有合理的管道,就看看能不能進行人為地打标簽再進行有監督學習的學習,這樣做的結果會更好些。

半監督學習

看上面有監督學習和無監督學習的定義,就是一半有一半無呗

意思就是用少量的有标注的樣本和大量未标注的樣本進行訓練和分類,這樣是有監督學習和無監督學習的結合。

考慮如何利用少量的瓢樣本和大量的未瓢樣本進行訓練和分類的問題,

是有監督學習和無監督學習的結合。

這就是機器學習大緻的一個分類

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/140299.html原文連結:https://javaforall.cn