线性模型
1.dataset 准备数据集
2.model 选择合适的模型 根据数据集的情况选择
3.training 训练
4.将模型里的权重确定下来 将来可应用 inferring推理
监督学习
kaggle网站
把拿到的数据集分为两部分 一部分叫training set 训练集(x,y) 另外一部分叫测试集
一般情况下我们是知道测试集的结果 但是需要通过训练的模型得到结果 作用是为了追求模型的准确率
y_hat=x*Ω(权重)
损失函数loss=(y_hat-y)的平方 找到一个权重将平均损失降到最低。均方误差MSE
穷举法
找Ω的是时候可以用到
点击查看代码
import numpy as np
import matplotlib.pyplot as plt #绘图的包 numpy 和matplotlib
x_data = [1.0, 2.0, 3.0]
y_data = [2.0, 4.0, 6.0] #数据集保存(x,y)=(1,2)(2,4)(3,6)
#定义了一个函数forward
def forward(x):
return x * w
#定义损失函数
def loss(x, y):
y_pred = forward(x)
return (y_pred - y) * (y_pred - y)
w_list = [] #定义权重列表
mse_list = []#定义损失权重列表
for w in np.arange(0.0, 4.1, 0.1): #循环 从0.0到4.1 间隔为0.1
print('w=', w)
l_sum = 0
for x_val, y_val in zip(x_data, y_data): #将x_data,y_data 拿出来作为本次测试的数据
y_pred_val = forward(x_val) #计算y_hat
loss_val = loss(x_val, y_val) #得出本次的损失
l_sum += loss_val #将损失进行求和
print('\t', x_val, y_val, y_pred_val, loss_val)
print('MSE=', l_sum / 3) #损失的均值mse
w_list.append(w)
mse_list.append(l_sum / 3)