生活随笔
收集整理的這篇文章主要介紹了
NLP-Beginner:自然语言处理入门练习-任务一
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NLP-Beginner:自然語言處理入門練習
任務一:基于機器學習的文本分類
深度學習項目,在訓練之前,一般均會對數據集做shuffle,打亂數據之間的順序,讓數據隨機化,這樣可以避免過擬合。Batch:批處理,顧名思義就是對某對象進行批量的處理。訓練神經網絡時,在數據集很大的情況下,不能一次性載入全部的數據進行訓練,電腦會支撐不住,其次全樣本訓練對于非凸損失函數會出現局部最優,所以要將大的數據集分割進行分批處理。batch_size就是每批處理的樣本的個數。過大的batch_size會降低梯度下降的隨機性,以至于更穩定,訓練更容易收斂,但因此更容易陷入局部最優點。較小的批次內存利用率極低,還會帶來幅度和隨機性較大的權重更新,比較容易震蕩導致不穩定,但也因此能夠跳出局部最小。梯度下降法是最常見的優化算法,在最小化損失函數時,通過梯度下降法一步步的迭代求解,得到最小化的損失函數和模型參數值。CountVectorizer: 只考慮詞匯在文本中出現的頻率。DataLoader本質上就是一個iterable(跟python的內置類型list等一樣),并利用多進程來加速batch data的處理,使用yield來使用有限的內存。DataLoader是一個高效,簡潔,直觀的網絡輸入數據結構,便于使用和擴展。optimizer.step()通常用在每個mini-batch之中,只有用了optimizer.step(),模型才會更新。optimizer.zero_grad()把梯度置零,也就是把loss關于weight的導數變成0,如果不清零,那么使用的這個grad就得同上一個mini-batch有關。torch.max():返回一個tensor中的最大值,Tensor.view():把tensor 進行reshape的操作.第一個參數1將第一個維度的大小設定成1,后一個-1就是說第二個維度的大小=元素總數目/第一個維度的大小。
總結
以上是生活随笔為你收集整理的NLP-Beginner:自然语言处理入门练习-任务一的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。