![深度学习应用与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/47/47549047/b_47549047.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 单层神经网络的概述
1.3.1 回归模型
当一个神经网络只有输入层与输出层时,它是一个单层神经网络,是最为简单的神经网络,可用于实现线性回归分析,也可用于解决简单的二分类问题,还可用于解决多分类问题。
当使用单层神经网络实现线性回归分析时,其原理与使用机器学习实现线性回归分析的原理完全一致。单变量线性回归模型如图1.6所示。其中x为自变量,y为因变量。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_19_1.jpg?sign=1738851365-uAFhzw79SuT25KENzifaaGKYzQHTV2AZ-0-d88bdfa36fa3b54bed3effc5b15327d1)
图1.6 单变量线性回归模型
单变量线性回归模型的数学表达式如下。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_19_2.jpg?sign=1738851365-28WvNuu7AM3VUWgBL5s6uwITXhp9BEOc-0-402219fcea8254927bc5550ba9631ecf)
式中,θ表示权重,需要通过训练得到最优值。
对于线性回归模型,损失函数一般使用均方误差(Mean Square Error,MSE),如下式所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_19_3.jpg?sign=1738851365-nhn6QiJNWsszL8eDsXzdOgs0UuhFDVyv-0-c893d5feceec7c8288d884d19c2fa8d8)
式中,m表示样本总数;表示预测结果;i表示m个样本中的第i个。
线性回归模型可以使用TensorFlow实现,代码如下所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_19_5.jpg?sign=1738851365-yWulwnI7jNLRnvr3gEFtZIfEW0KDUvg1-0-575079cdf9dbfcb94e6860cd7e029bd9)
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_20_1.jpg?sign=1738851365-cPMJ7HtF3g5UzWFMTAuKfMok7ZwMfiAq-0-9944cffaed2c3c28fc5e5bd3bba4e721)
运行代码,结果如下所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_20_2.jpg?sign=1738851365-3yhMP5P0ntZ4ZnYlvHPJyjKTRSV0Pys0-0-db821d0ca722b7721ce55999fc5b0ed1)
TensorFlow线性回归模型案例损失函数图像如图1.7所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_20_3.jpg?sign=1738851365-7y9Ie3YbvQ0UVSJxzJwsTbRsFLKzH2yC-0-33ab6aae8b670904926efc95735272db)
图1.7 TensorFlow线性回归模型案例损失函数图像
线性回归模型也可以使用PyTorch实现,代码如下所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_20_4.jpg?sign=1738851365-GEcWxzML1Il9YxqpoGXBwG9jjs3rAsWh-0-e5083883a8579a6bf747e73d988958ea)
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_21_1.jpg?sign=1738851365-rpTM3upXtodpj15KvKtxNXldVk9pXlv0-0-102f1f40a76d99948e18c1cc36105c20)
运行代码,结果如下所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_21_2.jpg?sign=1738851365-LI8WgDytIJNqXIAR4SxhdYCQLJjlw4u9-0-42cab7355bd42bba230a942eabd10997)
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_22_1.jpg?sign=1738851365-IMkh8xU0at0EbK6FGNxtPdqx0b6LXnJA-0-751a0a6e5bcb871b6902b811778613e5)
PyTorch线性回归模型案例损失函数图像如图1.8所示。
![](https://epubservercos.yuewen.com/4F2D5D/26947460607597206/epubprivate/OEBPS/Images/45365_22_2.jpg?sign=1738851365-6TfZCyvx6gjH7t4V8v0M2aVbXXC1jave-0-5bf41161ae90b171f8686a9aac9253d8)
图1.8 PyTorch线性回归模型案例损失函数图像
以上就是使用TensorFlow和PyTorch实现单变量线性回归模型的代码,可以看出两种框架之间的实现方法存在一些差异,但是整体原理都是相同的,同时代码的运行结果是一样的。