写在前面:同门拉我进pytorch的坑,好在机器学习的原理是差不多的,那就直接从tensoflow转到pytorch吧!
假设问题:x代表学习时间,y代表得分。
目前有三组数据,我们期望从这三组数据中,找到x与y之间的关系,并且能够计算出当x=4时,y的值。
一、线性模型
x是数据值,y是标签值
如果使用线性模型来预测的话,就是y = wx
【这里w表示的是一个参数,而且省去了一个b的偏置,使得整个线性模型比较简单】
二、w参数设置
w的初始值是随机设置的,在模型计算过程中,w会不断地修正。
三、损失函数
如何评价模型的好坏呢?——我们需要根据模型计算出来的计算值与y真实值进行比较,可以采取不同的损失函数来进行衡量。
这里使用的损失函数是MSE——均方差
记y_pred为模型计算出的预测值。 loss = (y_pred - y)^2
四、梯度下降
对于loss的计算公式来说,影响loss值的只有超参数w,(这是由于模型很简单,如果是复杂一点的模型的话,就会有很多个参数了。)
因此就引入了梯度下降的概念,只要求出loss关于w的导数(如果有多个参数的话,那么就是求偏导数啦!)
根据公式w = w - α*(loss对于w的导数)
更新一下w的值就好了
【第一次学习pytorch,对机器学习的理解如果有不正确的地方,还希望指出!】