前幾天談了資料集,也談了資料的預處理,今天我們就來說說情緒分析到底整個程式在幹嘛吧!
今天是大略講講整個訓練的流程,還有為什麼要這麼做,不會有程式碼,所以會暈程式碼、看到會想吐想睡的朋友暪可以放心觀看。
在已經有資料集、清理好資料的情況下,我們就可以開始訓練我們的模型了。
相信很多沒有接觸過的人應該會很不了解,明明模型已經有了,但是為什麼每次看大家在介紹的時候,寫的人都要重新訓練一次模型,模型直接拿來用不可以嗎?
其實這是很常聽到的一個想法,網路上許多AI相關的功能都是打開來之後就可以用的,換到這邊就要多一個訓練的步驟,為什麼。
對,同樣都是用模型,但是這裡所謂的「模型」就真的只是式一個空蕩蕩的「模型」,就像是一個機器人,基本的架構都有了,但是要灌入你想要的資料他才會依照你想要的模式走,既然我們都要自己玩程式了,當然就要個人化(是這樣嗎?)
在上一屆的鐵人賽中,我們講到機器學習時有說道,機器學習的關鍵三步驟分別是:初始模型、訓練模型、模型預測,到了NLP這邊其實也是一樣的,只不過是模型和資料不同罷了。
接下來我們就來說說這三大部分吧。
在確定好模型之後,第一個步驟就是要把模型導入進來,如果依照前面的比喻,就像是先買一個機器人的空殼骨架,只是這個骨架有很多種,看你要選哪一個最符合自己的。
訓練的過程就像是拿著我們準備好的課本跟教科書,去教這個空空的機器人知識。
之前我們載入的資料集現在就派上用場啦!
這些資料集的作用呢,就是那些「教科書」,我們把這些已經標記好答案的資料,讓這些腦袋空空的學生們吸收。
當然,我們不會是把全部的資料都拿來給機器人,會留一些做考題,這個部份我們下一階段講。
在訓練模型之前,我們通常(或說幾乎全部)會將這些資料隨機切成訓練集、測試集。
訓練集是拿來教的課本,裡面有題目跟答案,而測試集就是在讓機器人讀完之後,拿來給他做小考的題目(把答案劃掉了)。
這樣解釋有沒有理解了一點XD
所以在讓他們預測(考完試過後),就可以依照精確度來等等資訊來去判斷這個機器人學生有沒有學好(分數好不好)。
如果分數差的話,就看看試學生本身太差(模型差),還是老師教得不好(資料集有問題)。分數好當然皆大歡喜,但也不要開心得太早,因為可能還有是猜對或資料一不平衡的問題產生。
基本上在訓練完成、確認過沒有問題之後,你就得到了一個屬於你自己的模型,可以用來分析你的資料了。
阿記得,如果現在沒有要用,或是之後才要用的話,記得把這個訓練好的模型資料存起來,下次要用就可以直接拿出來用了。
都已經費了時間把這個機器人教的那麼棒,可別下次打開又是一個空殼哦~