学习笔记(Task01~Task02)
线性回归基本要素
模型
price=warea⋅area+wage⋅age+b
labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] + true_b
损失函数
L(w,b)=n1i=1∑nl(i)(w,b)=n1i=1∑n21(w⊤x(i)+b−y(i))2
def squared_loss(y_hat, y):
return (y_hat - y.view(y_hat.size())) ** 2 / 2
优化函数-随机梯度下降
(w,b)←(w,b)−∣B∣ηi∈B∑∂(w,b)l(i)(w,b)
def sgd(params, lr, batch_size):
for param in params:
param.data -= lr * param.grad / batch_size
Softmax 与分类模型
回归模型
o(i)y^(i)=x(i)W+b,=softmax(o(i)).
def net(X):
return softmax(torch.mm(X.view((-1, num_inputs)), W) + b)
损失函数
ℓ(Θ)=−(1/n)i=1∑nlogy^y(i)(i)
def cross_entropy(y_hat, y):
return - torch.log(y_hat.gather(1, y.view(-1, 1)))
文本处理
预处理通常包括四个步骤:
- 读入文本
- 分词
- 建立字典,将每个词映射到一个唯一的索引(index)
- 将文本从词的序列转换为索引的序列,方便输入模型