线性回归
问题描述
有一个函数
(可尝试一种或几种不同的基函数,如多项式、高斯或sigmoid基函数)
数据集
根据某种函数关系生成的train 和test 数据。
题目要求:
-
[ ] 按顺序完成
exercise-linear_regression.ipynb
中的填空- 先完成最小二乘法的优化 (参考书中第二章 2.3节中的公式)
- 附加题:实现“多项式基函数”以及“高斯基函数”(可参考PRML)
- 附加题:完成梯度下降的优化 (参考书中第二章 2.3节中的公式)
-
[ ] 参照
lienar_regression-tf2.0.ipnb
使用tensorflow2.0 使用梯度下降完成线性回归 -
[ ] 使用训练集train.txt 进行训练,使用测试集test.txt 进行评估(标准差),训练模型时请不要使用测试集。
exercise-linear_regression
import numpy as np
import matplotlib.pyplot as plt
def load_data(filename):
"""载入数据。"""
xys = []
with open(filename, 'r') as f:
for line in f:
xys.append(map(float, line.strip().split()))
xs, ys = zip(*xys)
return np.asarray(xs), np.asarray(ys)
不同的基函数 (basis function)的实现
def identity_basis(x):
ret = np.expand_dims(x, axis=1)
return ret
def multinomial_basis(x, feature_num=10):
x = np.expand_dims(x, axis=1) # shape(N, 1)
feat = [x]
for i in