Java教程

神经网络与深度学习(邱锡鹏)编程练习 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

实验结果:

实验结果分析:

多项式回归(多项式基函数)比线性回归更好的拟合了数据

高斯基函数拟合效果比多项式基函数拟合效果更好

这篇关于神经网络与深度学习(邱锡鹏)编程练习 2 实验3 基函数回归(最小二乘法优化)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!