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