如何搭建拟合曲线模型
目的:
神经网络是如何通过简单的形式将一群数据用一条线条来表示. 或者说, 是如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条
在研究过程中,我们会得到大量的数据,这些数据之间有着紧密的联系,最简单的我们做重力和质量关系的试验时,我们改变试验物体的质量,其重力也跟着改变,于是我们获得重力与质量的比值,建立了G=mg的关系式。当然,在研究复杂问题的时候,可能会有多个自变量,甚至有多个因变量(多个输出),这时候我们要搭建合适的模型来拟合实际结果,能帮助我们认识新的问题。
今天我们拟合二次曲线开始,首先我们要建立一些数据
x=torch.linspace(-1,1,100).reshape(100,1)
//建立从-1到1之间一百个点并且改变他的阶数(从【1,100】变到【100,1】)
y=x.pow(2)
//建立x与y之间的关系y=x^2
y_real=torch.normal(y,0.05)
//在实际过程中由于不可避免的因素存在会有误差发生但是围绕实际值上下波动
在这里可能大家有疑惑,为什么将x这个张量的阶数改变从1阶每阶100个数据变到100阶每阶1个的形式。因为我们在拟合的二次曲线自变量只有一个,【100,1】表示输入一百次,每次输入一个数。这样比较合理。
红点是理想的情况,蓝点是实际的情况
接下来我们要搭建我们