神经网络与深度学习(邱锡鹏)编程练习 2 实验3 基函数回归(最小二乘法优化)
作者:互联网
通过基函数对元素数据进行交换,从而将变量间的线性回归模型转换为非线性回归模型。
- 最小二乘法 + 多项式基函数
- 最小二乘法 + 高斯基函数
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 range(2, feature_num+1):
feat.append(x**i)
ret = np.concatenate(feat, axis=1)
return ret
def gaussian_basis(x, feature_num=10):
centers = np.linspace(0, 25, feature_num)
width = 1.0 * (centers[1] - centers[0])
x = np.expand_dims(x, axis=1)
x = np.concatenate([x]*feature_num, axis=1)
out = (x-centers)/width
ret = np.exp(-0.5 * out ** 2)
return ret
实验结果:
实验结果分析:
多项式回归(多项式基函数)比线性回归更好的拟合了数据
高斯基函数拟合效果比多项式基函数拟合效果更好
标签:函数,编程,feature,ret,神经网络,num,np,邱锡鹏,axis 来源: https://www.cnblogs.com/hbuwyg/p/16327226.html