佛山网站建设公司如何组建,wordpress oa,dede修改网站密码,有哪些企业建设网站#【中秋征文】程序人生#xff0c;中秋共享#
目录
一、实验介绍 二、实验环境
1. 配置虚拟环境
2. 库版本介绍
三、实验内容
0. 导入库
1. 定义线性模型linear_model
2. 定义损失函数loss_function
3. 定义数据
4. 调用函数 一、实验介绍
使用Numpy实现 线性模型搭…#【中秋征文】程序人生中秋共享#
目录
一、实验介绍 二、实验环境
1. 配置虚拟环境
2. 库版本介绍
三、实验内容
0. 导入库
1. 定义线性模型linear_model
2. 定义损失函数loss_function
3. 定义数据
4. 调用函数 一、实验介绍
使用Numpy实现 线性模型搭建构造损失函数计算损失值 二、实验环境 本系列实验使用了PyTorch深度学习框架相关操作如下
1. 配置虚拟环境
conda create -n DL python3.7
conda activate DL
pip install torch1.8.1cu102 torchvision0.9.1cu102 torchaudio0.8.1 -f https://download.pytorch.org/whl/torch_stable.htmlconda install matplotlib conda install scikit-learn
2. 库版本介绍
软件包本实验版本目前最新版matplotlib3.5.33.8.0numpy1.21.61.26.0python3.7.16scikit-learn0.22.11.3.0torch1.8.1cu1022.0.1torchaudio0.8.12.0.2torchvision0.9.1cu1020.15.2 三、实验内容
ChatGPT 线性模型是一种基本的机器学习模型用于建立输入特征与输出之间的线性关系。它是一种线性组合模型通过对输入特征进行加权求和再加上一个偏置项来预测输出值。 线性模型的一般形式可以表示为y w1x1 w2x2 ... wnxn b其中y是输出变量x1, x2, ..., xn是输入特征w1, w2, ..., wn是特征的权重b是偏置项。模型的目标是通过调整权重和偏置项使预测值与真实值之间的差异最小化。 线性模型有几种常见的应用形式 线性回归Linear Regression用于建立输入特征与连续输出之间的线性关系。它通过最小化预测值与真实值的平方差来拟合最佳的回归直线。 逻辑回归Logistic Regression用于建立输入特征与二分类或多分类输出之间的线性关系。它通过使用逻辑函数如sigmoid函数将线性组合的结果映射到概率值从而进行分类预测。 支持向量机Support Vector MachinesSVM用于二分类和多分类问题。SVM通过找到一个最优的超平面将不同类别的样本分隔开。它可以使用不同的核函数来处理非线性问题。 岭回归Ridge Regression和Lasso回归Lasso Regression用于处理具有多重共线性multicollinearity的回归问题。它们通过对权重引入正则化项可以减小特征的影响提高模型的泛化能力。 线性模型的优点包括简单、易于解释和计算效率高。它们在许多实际问题中都有广泛的应用。然而线性模型也有一些限制例如对非线性关系的建模能力较弱。在处理复杂的问题时可以通过引入非线性特征转换或使用核函数进行扩展以提高线性模型的性能。 本系列为实验内容对理论知识不进行详细阐释
咳咳其实是没时间整理待有缘之时回来填坑 0. 导入库
首先导入了numpy库用于进行数值计算。
import numpy as np 1. 定义线性模型linear_model 该函数接受输入数据x使用随机生成的权重w和偏置b计算输出值output。这里的线性模型的形式为 output x * w b。
def linear_model(x):w np.random.randn(1)b np.random.randn(1)output np.dot(x, w) breturn output 2. 定义损失函数loss_function 该函数接受目标值y和模型预测值prediction计算均方误差损失。均方误差损失的计算公式为 (prediction - y) * (prediction - y)。
def loss_function(y, prediction):loss (prediction - y) * (prediction - y)return loss 3. 定义数据
生成了一个形状为(5, 1)的随机输入数据x每个元素都是在0到1之间的随机数。生成了一个形状为(5,)的目标值y包含了5个标签1或-1用于模型训练和损失计算。打印了数据的信息包括每个样本的输入值x和目标值y。
x np.random.rand(5, 1)
y np.array([1, -1, 1, -1, 1]).astype(float)
print(The data is as follows:)
for i in range(x.shape[0]):print(Item str(i), x:, x[i][0], y:, y[i])4. 调用函数
调用linear_model函数传入输入数据x得到模型的预测值prediction。调用loss_function函数传入目标值y和预测值prediction得到损失值loss。打印了每个样本的损失值。
prediction linear_model(x)
loss loss_function(y, prediction)
print(The all loss value is:)
for i in range(len(loss)):print(Item , str(i), Loss:, loss[i]) 注意 本实验的线性模型仅简单地使用随机权重和偏置计算了模型在训练集上的均方误差损失没有使用优化算法进行模型参数的更新。 通常情况下会使用梯度下降等优化算法来最小化损失函数并根据训练数据不断更新模型的参数具体内容请听下回分解。