欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机器学习——原理篇

程序员文章站 2024-03-24 17:49:40
...

代码实现简单的机器学习

 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混合高斯模型