了解情緒劃分:如何使用機器學習來保持積極心態(tài)?
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
“思考再思考,然后采取行動”,這樣的流程是不是聽起來很熟悉?大多數(shù)人都是這樣做的。
然而,這個思考流程很可能是一把雙刃劍:在一些情形下,結(jié)果可能積極有用,但在另一些情形下,結(jié)果可能有害,甚至反噬自身。后者是我們都希望避免的。為了清晰了解情緒的劃分,我編寫了這個機器學習(ML)程序。
隔離階段讓我有機會探索自我并審視自己的思路。我不是一個沉思者,但是總會陷入紛亂的思緒之中,每當這時,我都需要理清思路。因此我要創(chuàng)建一個可以分析我的思考過程的ML模型。我用KNN算法判斷應(yīng)該避免的情緒,并通過可視化技術(shù)將我的情緒以圖形展示,使我清晰地一覽全貌。下面是我的做法:
- 作為開始,我創(chuàng)建了一個有不同想法的數(shù)據(jù)集;
- 使用KNN算法;
- 使用可視化技術(shù);
- 最后,我學會了分割思考過程。
創(chuàng)建數(shù)據(jù)集
數(shù)據(jù)集由九種情緒(特征)組成:沮喪,悲傷,卑微,哭泣,痛苦,困惑,快樂,振奮和堅定。我將它們分為三類(標簽):積極,消極和中立。另外,我根據(jù)標簽對這九種情緒/特征均按1-10的標準進行了評分。于是我創(chuàng)建了共150個案例。這是數(shù)據(jù)集的前幾行:
使用KNN算法
在開始下一步之前,首先需要掌握一些監(jiān)督式學習的ML基本術(shù)語:
- 為了訓練、測試和評估一個模型,我們使用一系列案例;
- 這些案例包括與模型相關(guān)的特征和標簽值;
- 特征是用于訓練算法的基礎(chǔ)值;
- 一旦訓練部分結(jié)束,算法就能預(yù)測測試特征的正確標簽值。
目標是正確預(yù)測標簽。因此,受訓算法的精度應(yīng)該很高。如果不高,應(yīng)使預(yù)測的標簽值和原本標簽之間的誤差最小化。有了這些基礎(chǔ)知識,讓我們接著來了解KNN算法。KNN是監(jiān)督式的機器學習算法,“K”是待分類點鄰近值的個數(shù) (例如,K=1、2、3等)。
左圖中,KNN會將“?”歸類為綠色星星,因為它最近。同樣,在右例中KNN會將“?”歸為黃色三角,因為這些三角形是最接近的多數(shù)情況。
新案例與已知案例之間的接近程度,可以使用任意距離函數(shù),如歐幾里得尺度和明可夫斯基尺度等體現(xiàn)。因此稱之為最鄰近。這樣,KNN算法對新案例進行了分類。在這種特定模式中,KNN要正確預(yù)測各個情緒的分類。預(yù)處理所有數(shù)據(jù)后,我使用了KNN算法,然后計算出準確度為98.6%。這是顯示相同的代碼段:
使用可視化技術(shù)
我用數(shù)據(jù)可視化進行了分類,圖表更便于理解,并創(chuàng)建了一種解決方案,用來預(yù)測我應(yīng)該避免什么樣的情緒才能保持一個積極的心態(tài)。這個技術(shù)將幫助我分辨標簽類別(積極、消極和中性),為此我使用了“箱形圖”。
結(jié)果
KNN生成的圖表顯示:
- 沮喪:算法將該特征歸類為消極,這是顯而易見的。但值得注意的是,在消極和中立之間有小部分的重疊。同時消極與中性界限也非常細微。這表明沮喪的情緒在某種程度上能夠激勵自己取得積極成果。綜合考慮后,它被歸類為消極標簽。
- 困惑:這項結(jié)果很有意思,算法將其標記為積極。在分析之前,我曾避免自己有困惑情緒。也許這些搖擺不定的情緒也能產(chǎn)生積極的結(jié)果,也許它們給了我們時間來衡量形勢的正反面。
- 悲傷:毫無疑問,這類情緒注定會產(chǎn)生消極的結(jié)果。
- 自卑:有時候頭腦中會出現(xiàn)一些隨機的想法。它們沒有來由沒有依據(jù)。算法將這些情緒歸類為中性。
- 哭泣:與悲傷特征類似,該特征也被歸為消極。但我認為它可能也有中立的一面,因為哭泣可以幫助平衡情緒。但如果依據(jù)圖表來給定標簽,很可能將其歸類為積極而非中性??傮w來看,它會引發(fā)消極情緒。
- 痛苦:根據(jù)模型的預(yù)測,痛苦是導(dǎo)致心情不好的最重要特征。因此,它是極其消極的。
- 振奮:KNN預(yù)測這個特征對我有益。但是,該圖顯示中性和消極情緒略有重疊。此外,令人吃驚的是,如果我們僅考慮這兩個標簽,消極標簽的影響要比中性標簽大得多。
- 堅定:該特征非常有趣。結(jié)果之間幾乎沒有任何區(qū)別,很難立即做出詮釋,但是使用箱形圖可以輕易地理解這一點。
箱形圖提供了詳盡的圖示。圖示清晰易懂,它們根據(jù)特征或思想給出了三種不同情緒或標簽的清晰區(qū)分。它描繪的結(jié)果與KNN圖或多或少相同,但它提供了更好的解釋:
- 堅定:盡管看起來這一特征明顯會被歸類為積極,但是KNN圖表根據(jù)數(shù)據(jù)顯示了這三個標簽之間的相似性,這種相似性可能會產(chǎn)生誤導(dǎo)??纯聪湫蛨D你就會發(fā)現(xiàn),積極的結(jié)果只比另外兩個高一點。因此,該特征被歸類為積極標簽。
快樂:毋庸置疑,此特征為積極標簽。但是,它對中性的四分位數(shù)遠大于正數(shù),如果僅考慮中性和負數(shù),則中性要高于兩者。
圖源:unsplash
這個項目非常有趣。起初,我以為分類結(jié)果是簡單且顯而易見的,但完成后,我才意識到這不僅僅是個分類。一個ML程序不僅能預(yù)測人類可以輕松完成的特定任務(wù),還可以對數(shù)據(jù)集深入分析。
雖然這只是仿人智能的開始,但卻非常有趣,也許這就是‘機器學習’命名的由來。