機器學習——原理篇

代碼實現簡單的機器學習

 1 import numpy as np
 2 
 3 # 生成隨機權值(無先驗經驗時通常使用隨機權值)
 4 m = np.random.randint(100, size=10)
 5 # 訓練數據
 6 x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
 7 # 訓練數據對應的指望目標(學習目標) False爲奇數,True爲偶數
 8 y = np.array([False, True, False, True, False, True, False, True, False, True])
 9 # 閾值(自行設置)
10 thresh_hold = 52
11 # 學習率,即變化幅度
12 alpha = 5
13 
14 
15 #
16 def active():
17     print(m)
18     return m * x
19 
20 
21 def ajust_m(j):
22     err = 0
23     right = 0
24     o_new = active()
25     o_t = o_new > thresh_hold
26     for i in range(10):
27         if o_t[i] != y[i]:
28             err += 1
29             if o_t[i]:
30                 m[i] = m[i] - alpha
31             else:
32                 m[i] = m[i] - alpha
33         else:
34             right += 1
35     return right
36 
37 
38 def predict(a):
39     result = a * m[a - 1]
40     if result > thresh_hold:
41         return True
42     else:
43         return False
44 
45 
46 for j in range(100):
47     right = ajust_m(j)
48     if right == 10:
49         print('第{}次已經訓練成功,中止訓練'.format(j + 1))
50         break
51     if j == 99 and right != 10:
52         print('訓練了{}次,訓練失敗!!'.format(j + 1))
53 
54 print('', predict(8))

機器學習簡要概念

A,B代表兩個工做地點的收益,A一個小時50¥,B一個小時100¥
W1,W2是兩地工做時間,稱爲權重,機器學習中要調整的係數,[W1,W2]構成一個二維搜索空間
T = W1*A + W2*B 是咱們的評估函數
TMax = 650 是指望目標,也是咱們的學習目標
天天工做8小時,每地至少工做1小時,這是學習約束

delta = |T - TMax| 絕對值是咱們的評估函數,損失函數(cost,loss)
delta = 達到什麼結果搜索結束,由算法來設計,例如delta=1 搜索結束(搜索結束也稱爲函數收斂)

在搜索空間中嘗試搜索過程當中,對W1,W2改變的幅度稱爲學習率

機器學習詞彙

  • 節點
    • predicting a category:預測類別
    • predicting a quantity:預測數值
    • labeled data:是否數據打過標籤
  • 迴歸
    • SGD Regressor:隨機梯度降低迴歸
    • Lasso/ElasticNet Lasso:彈性網絡 迴歸
    • SVR (kernel='linear'):支持向量機迴歸使用線性函數做爲核函數
    • SVR (kernel='rbf'):支持向量機迴歸使用徑向基函數
    • RidgeRegressor:嶺迴歸
  • 分類
    • Linear SVC:線性支持向量機分類
    • Navie Bayes:樸素貝葉斯
    • KNeighbors Classifier:K近鄰分類器
    • SVC:支持向量機分類器
    • SGD Classifier:隨機梯度降低分類器
    • kernel approximation:核近似方法
  • 聚類
    • MiniBatch KMeans:最小族(束)KMeans
    • KMeans:傳統KMeans
    • Spectral Clustering:譜聚類
    • GMM:混合高斯模型
    • VBGMM:VB混合高斯模型
相關文章
相關標籤/搜索