编程语言
首页 > 编程语言> > 神经网络与深度学习(邱锡鹏)编程练习 2 实验3 基函数回归(最小二乘法优化)

神经网络与深度学习(邱锡鹏)编程练习 2 实验3 基函数回归(最小二乘法优化)

作者:互联网

通过基函数对元素数据进行交换,从而将变量间的线性回归模型转换为非线性回归模型。

  1. 最小二乘法 + 多项式基函数
  2. 最小二乘法 + 高斯基函数
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