在有監督機器學習中,你需要有輸入特徵X以及特徵的標籤Y
目標是儘可能地減小損失值
將特徵X輸入給prediction function,將實現特徵X輸出為預測標籤Y_hat
當標籤Y和預測值Y_hat差異值較小時,可以實現從特徵到標籤的最佳映射
損失函數Cost計算Y_hat和Y之間的差異
通過計算的損失值來更新參數,迭代重複至損失值為一個較理想的值
邏輯回歸的函數為sigmoid函數
情感分析的有監督機器學習分類問題例子:
目的是辨別tweet文本中的語句是積極的還是消極的情感
處理原tweet文本為訓練數據集並且提取有用的特徵
訓練邏輯回歸分類器模型並減小損失值
預測
特徵提取稀疏矩陣表示
為了將一個文本轉化為向量表示,我們需要建立一個詞彙表Vocabulary,然後能夠將任何文本或則tweet轉化為數組矩陣
詞彙表V將會以列表形式存儲tweet中的不同單詞
利用稀疏矩陣存儲,在$tweet$中出現的單詞詞彙表V將會賦予1,而未出現的單詞賦予0
稀疏矩陣存在的問題:
邏輯回歸模型將會學習N+1個參數,N是詞彙表V的大小
耗費巨大的訓練時間
耗費巨大的預測時間
2.分別統計消極負面和積極正面的頻率
從tweet語料庫中不同的單詞建立詞彙庫V
建立兩個類別,一個類別是消極負面情感,另一個類別是積極正面情感
在詞彙表V中計算積極單詞的頻率,需要統計它在積極正面的tweet文本中出現的次數,計算消極單詞的頻率一致
實際上在編碼時,此表是一個字典,將單詞及其對應的類別映射到頻率,例如單詞I,{(I,PosFreq):3,(I,NegFreq):3}
使用字典提取有用的特徵以進行情感分析,使用維度=3的向量表示tweet
預處理使用詞幹化stemming以及停頓詞stop words對文本進行預處理
首先,我們移除在tweets中不會帶有重要含義的單詞或則符號,例如停頓詞,標點符號
在某些情況下,不必移除標點符號。因此,需要仔細考慮標點符號是否會為你的NLP任務添加重要信息
NLP中的詞幹化只是簡單的把單詞轉化為其基本的單詞
訓練邏輯回歸模型測試邏輯回歸模型首先,利用theta和X_val,即pred=h(X_val,theta),其中h=sigmoid函數
其次,評估pred是否大於等於閾值,通常閾值設置為0.5
最後在驗證集上評估模型的準確率
損失函數大家有興趣可以下載課程的作業,實現一下。作業下載地址:https://github.com/tsuirak/deeplearning.ai