- 向量相加的一种方法是,将这两个向量按元素逐一做标量加法。
- 向量相加的另一种方法是,将这两个向量直接做矢量加法。
- time模块的显示后者比前者运算速度更快。因此,我们应该尽可能采用矢量计算,以提升计算效率。
- 线性回归流程:
1:建立数据集:首先将将每个点加上随机噪声
2:读取数据集:随机在打乱的1000个索引中选取10个索引 作为每次迭代的样本的索引
3:初始化模型参数 :随机初始化 即W和b
4:建立线性模型:X*W+b
5:定义损失函数:均方误差函数
6:定义优化函数:采用随机梯度下降 样本数就是前面选取的10个样本
7:训练
用pytorch实现时涉及到的几个函数:
1:torch.tensor(np.random.normal(0, 1, (num_examples, num_inputs)), dtype=torch.float):创建随机的二维样本点 维度是(num_examples, num_inputs),范围是0到1之间
2: Data.TensorDatasetdataset = Data.TensorDataset(features, labels):创建数据集 features, labels分别代表的是特征和标签
3: data_iter = Data.DataLoader(dataset=dataset, batch_size=batch_size,shuffle=True,num_workers=2, )
4: net = nn.Sequential(nn.Linear(num_inputs, 1)建立的是线性模型
init.normal_(net[0].weight, mean=0.0, std=0.01)和init.constant_(net[0].bias, val=0.0)代表的是权重和偏置的初始化
5:nn.MSELoss():定义均方误差损失函数
6:optimizer = optim.SGD(net.parameters(), lr=0.03):定义的优化器是随机梯度下降 学习率是0.03
文本预处理:很重要的一步是分词 分词可以自定义使用空格作为分隔符进行划分 也可以运用NTLK库进行划分