1. 程式人生 > 其它 >圖解機器學習總結——1、基本概念

圖解機器學習總結——1、基本概念

序言:近期主要幫同事講解《圖解機器學習》,剛拿到這本書覺得內容相比較平常使用的機器學習演算法,很多地方講解得比較奇怪,在認真的讀完後,覺得還是有很多重要的東西,因此讀了書就想把知識點整理出來,加上一些自己對各種演算法的認識,因此這個系列裡面有一些個人的理解,若有不對的地方,還請不吝指出,謝謝。

一、機器學習的概念

對於機器學習概念的理解,機器學習主要是從大量的資料中找到資料中潛在的模式或者規律,並利用這樣的模式或者規律作用於一些未知的資料。根據資料形式的不同,可以將機器學習分為:

  • 監督學習。
  • 無監督學習。
  • 強化學習。

1.1、監督學習

1.2、無監督學習

1.3、強化學習

強化學習的資料形式與監督學習一致,但是在學習的過程中,不要通過標籤評價學習的效果,而是通過自己對預測的結果進行評估。強化學習在機器人的自動控制、計算機遊戲中的人工智慧等方面有著廣泛的應用。

二、機器學習中的典型任務

在機器學習中,典型的任務包括

  • 迴歸
  • 分類
  • 異常檢測
  • 聚類
  • 降維

2.1、迴歸

2.2、分類

2.3、異常檢測

2.4、聚類

聚類也是一類無監督學習問題,是將樣本劃分到不同的類別中。

常用的聚類演算法有:K-Means,譜聚類等。

2.5、降維

降維,是指從高維資料中提取出關鍵的資訊,將其轉換為易於計算的低維問題,進而對其進行求解。降維可以分為無監督的降維和有監督的降維。

常用的降維演算法有:PCA,SVD等。

三、機器學習的方法

在機器學習中,對於分類問題,通常可以分為兩種不同的學習的方法,即:

  • 判別式分類
  • 生成式分類

3.1、判別式分類

3.2、生成式分類

四、機器學習中的各種模型

1、線性模型

2、核模型

'''
Date:20160409
@author: zhaozhiyong
'''
import matplotlib.pyplot as plt
import math

def cal_Gaussian(x, c=0, h=1):
    molecule = (x - c) * (x - c)
    denominator = 2 * h * h
    return math.exp(-molecule / denominator)

x = []

for i in xrange(-40,40):
    x.append(i * 0.5);

score_1 = []
score_2 = []
score_3 = []
score_4 = []

for i in x:
    score_1.append(cal_Gaussian(i,0,1))
    score_2.append(cal_Gaussian(i,5,1))
    score_3.append(cal_Gaussian(i,0,3))
    score_4.append(cal_Gaussian(i,5,3))

plt.plot(x, score_1, 'b--', label="c=0,h=1")
plt.plot(x, score_2, 'k--', label="c=5,h=1")
plt.plot(x, score_3, 'g--', label="c=0,h=3")
plt.plot(x, score_4, 'r--', label="c=5,h=3")

plt.legend(loc="upper right")
plt.xlabel(r"time(hour)")
plt.ylabel("score")
plt.show()

3、層級模型

與引數相關的非引數模型,稱為非線性模型。在非線性模型中,有一類是層級模型。層級模型中典型的是神經網路模型。