學習筆記(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)
- 將文本從詞的序列轉換爲索引的序列,方便輸入模型