三、AI技術(shù) 業(yè)內(nèi)通常將人工智能分類為機(jī)器學(xué)習(xí)、計算機(jī)視覺、語音交互和自然語言處理四大領(lǐng)域,機(jī)器學(xué)習(xí)可以理解為是其他三大領(lǐng)域的底層基礎(chǔ),大致可以分為監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、遷移學(xué)習(xí)。 本文在此基本不涉及公式,盡量以平直易懂的語言講述這幾種機(jī)器學(xué)習(xí)方法及相關(guān)算法。個人認(rèn)為在實戰(zhàn)過程中根據(jù)工作需要再深入學(xué)習(xí)這些算法,會更有針對性而且效率會更高,事半功倍。 3.1 機(jī)器學(xué)習(xí)概念:投喂給機(jī)器訓(xùn)練數(shù)據(jù),機(jī)器從這些數(shù)據(jù)中找出一個能夠良好擬合已有數(shù)據(jù)的函數(shù),新數(shù)據(jù)來了后,就可以通過這個函數(shù)預(yù)測對應(yīng)結(jié)果。 適合解決的問題:有規(guī)律可以學(xué)習(xí)、編程很難做到、有能夠?qū)W習(xí)到規(guī)律的數(shù)據(jù)。 工作方式:
概念:機(jī)器學(xué)習(xí)的一種,通過學(xué)習(xí)許多有標(biāo)簽的樣本,得到特征值和標(biāo)記值之間的對應(yīng)規(guī)律,然后對新的數(shù)據(jù)做出預(yù)測。 分類:根據(jù)輸入數(shù)據(jù)x預(yù)測出輸出數(shù)據(jù)y,如果y是整數(shù)的類別編號,則稱為分類問題,算法包括:決策樹、隨機(jī)森林、貝葉斯、KNN、SVM、邏輯回歸。如果y是實數(shù)值,則為回歸問題,算法包括決策樹、隨機(jī)森林、KNN、SVM、線性回歸。 主流算法: 1)決策樹算法 基本原理:決策樹是一個樹結(jié)構(gòu),每個非葉節(jié)點表示一個特征屬性,每個分支代表這個特征屬性在某值域上的輸出,每個葉節(jié)點存放一個類別。使用決策樹進(jìn)行決策的過程就是從根節(jié)點開始,測試待分類項中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達(dá)某個葉節(jié)點,該葉節(jié)點存放的類別即為決策結(jié)果。 決策樹是一種判別模型,既支持分類問題,也支持回歸問題,是一種非線性模型(分段線性函數(shù)不是線性的),它天然的支持多分類問題。決策樹的構(gòu)建由機(jī)器訓(xùn)練得到,而不是人工制定。 決策樹的關(guān)鍵步驟是分裂屬性,即在某個節(jié)點處按照某一特征屬性的不同劃分構(gòu)造不同的分支,盡量讓一個分裂子集中待分類項屬于同一類別。而根據(jù)判斷方法的不同所以產(chǎn)生了ID3算法,C4.5算法以及CART算法。 下圖以銀行判斷是否給客戶貸款為例大致說明決策樹的原理: 主要用途:基于規(guī)則的信用評估、賽馬結(jié)果預(yù)測。 優(yōu)劣勢:擅長對人、地點、事物的一系列不同特征、品質(zhì)、特性進(jìn)行評估,非常容易解釋,但容易趨于過擬合。 2)隨機(jī)森林 基本原理:由決策樹與集成學(xué)習(xí)算法相結(jié)合生成,由多棵決策樹組成。用多棵決策樹聯(lián)合預(yù)測可以提高模型的精度,這些決策樹用對訓(xùn)練樣本集隨機(jī)抽樣構(gòu)造出的樣本集訓(xùn)練得到。由于訓(xùn)練樣本集由隨機(jī)抽樣構(gòu)造,因此稱為隨機(jī)森林。 隨機(jī)森林不僅對訓(xùn)練樣本進(jìn)行抽樣,還對特征向量的分量隨機(jī)抽樣,在訓(xùn)練決策樹時,每次分裂時只使用一部分抽樣的特征分量作為候選特征進(jìn)行分裂。隨機(jī)森林是一種判別模型,既支持分類問題,也支持回歸問題,并且支持多分類問題,這是一種非線性模型。 主要用途:用戶流失分析、風(fēng)險評估。 優(yōu)劣勢:隨機(jī)森林對大規(guī)模數(shù)據(jù)集和存在大量且有時不相關(guān)特征的項來說很有用,且有很好的解釋性。它比使用單個模型預(yù)測出來的結(jié)果要精確的多,但同時也需要大量的維護(hù)工作。 3)樸素貝葉斯 基本原理:是在已知樣本的特征向量為x的條件下反推樣本所屬的類別y,即對于給出的待分類項,求解在此待分類項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個概率最大,就認(rèn)為此待分類項屬于哪個類別。 簡單的舉個例子:我們看到一個人高鼻深目金發(fā)碧眼,便可以推斷他屬于白種人,因為在這種外貌特征下他是白種人的概率最高。貝葉斯可以處理多分類問題,是一種非線性模型。 主要用途:文本處理里的垃圾郵件過濾、情感分析、消費者分類、拼寫糾正、文字廣告過濾、識別惡性評論等領(lǐng)域。 優(yōu)劣勢:對于在小數(shù)據(jù)集上有顯著特征的相關(guān)對象,樸素貝葉斯方法可對其進(jìn)行快速分類,且很統(tǒng)一被解釋。所需估計的參數(shù)不大,對缺失數(shù)據(jù)不太敏感,而且無需復(fù)雜的迭代求解框架,適用于規(guī)模巨大的數(shù)據(jù)集。但是對輸入數(shù)據(jù)的形式比較敏感、計算先驗概率時分類決策可能存在錯誤。如果輸入變量是相關(guān)的,則會出現(xiàn)問題。 4)k近鄰(KNN) 基本原理:把標(biāo)注好類別的訓(xùn)練樣本映射到選取的特征數(shù)維度的坐標(biāo)系里,然后再把測試樣本映射到這個坐標(biāo)系里,選取距離該測試樣本最近的k個訓(xùn)練樣本,其中哪個訓(xùn)練樣本類別占比最大,就可以認(rèn)為該類別就是這個測試樣本的類別。 kNN算法是一種判別模型,即支持分類問題,也支持回歸問題,是一種非線性模型。它天然的支持多分類問題。kNN算法沒有訓(xùn)練過程,是一種基于實例的算法。 主要用途:適用 kNN可以處理數(shù)值型(從無限的數(shù)值集合中取值,如:0.100,42.001等)和標(biāo)稱型(只在有限目標(biāo)集中取值,如:真與假)數(shù)據(jù)。一種特征對應(yīng)一個維度,一種特征下的數(shù)據(jù)可以數(shù)值型的也可以是標(biāo)稱型的。 優(yōu)劣勢:這種算法思想簡單,理論成熟,準(zhǔn)確度高。但是會占用大量內(nèi)存,因為需要存儲所有的訓(xùn)練樣本點,而且每個新測試樣本需要通過kNN算法分類,都要計算這個測試樣本與所有訓(xùn)練樣本點的距離。 5)線性回歸 基本原理:主要用于擬合數(shù)據(jù)趨勢。簡而言之,就是盡量用一條線或平面或超平面來擬合已有的一組數(shù)據(jù)。確定自變量和因變量間的相互依賴的定量關(guān)系。簡單的線性回歸一般使用“最小二乘法”來求解,最小二乘的思想就是使得求解的這條線或平面或超平面使所有誤差的平方和最小。 主要用途:適用于數(shù)值型和標(biāo)稱型數(shù)據(jù)。 優(yōu)劣勢:結(jié)果易于理解,計算不復(fù)雜,但是只能用于擬合線性數(shù)據(jù),非線性數(shù)據(jù)擬合效果很差。 6)邏輯回歸 基本原理:邏輯回歸只是對線性回歸的計算結(jié)果加了Sigmoid函數(shù)進(jìn)行處理,將數(shù)值結(jié)果轉(zhuǎn)化為了0到1之間的概率,根據(jù)這個概率可以做預(yù)測。logistic回歸是一種判別模型,它是一種線性模型,用于二分類問題。 主要用途:路面交通流量分析、郵件過濾, 優(yōu)劣勢:實現(xiàn)簡單,分類時計算量非常小,速度很快,存儲資源低,但是容易欠擬合。 7)支持向量機(jī)(SVM) 基本原理:支持向量機(jī)的目標(biāo)是尋找一個分類超平面,它不僅能正確的分類每一個樣本,并且要使得每一類樣本中距離超平面最近的樣本到超平面的距離盡可能遠(yuǎn)。SVM是一種判別模型,它既可以用于分類問題,也可以用于回歸問題。標(biāo)準(zhǔn)的SVM只能支持二分類問題,使用多個分類器的組合,可以解決多分類問題。 主要用途:新聞分類、手寫識別。 優(yōu)劣勢:擅長在變量x和其他變量之間進(jìn)行二元分類操作,無論其關(guān)系是否為線性的??梢圆东@數(shù)據(jù)之間更復(fù)雜的關(guān)系,而無需人為地進(jìn)行困難的數(shù)據(jù)轉(zhuǎn)換。但同時它的訓(xùn)練時間長得多,因為計算量更大,而且可解釋性也比較差。 3.3 非監(jiān)督學(xué)習(xí)概念:機(jī)器學(xué)習(xí)的一種,訓(xùn)練樣本中所有樣本數(shù)據(jù)都不含標(biāo)記值的學(xué)習(xí)方式,目的是將樣本集劃分成多個類,保證同一類的樣本之間盡量相似,不同類的樣本之間盡量不同。沒有訓(xùn)練過程,直接對樣本進(jìn)行劃分。 主流算法: 1)k均值(k-means) 基本原理:將觀測值分為 k 個聚類,隨機(jī)初始化每個類的類中心,然后計算樣本與每個類的中心的距離,將其分配到最近的那個類,然后根據(jù)這種分配方案重新計算每個類的中心。這也是一種分階段優(yōu)化的策略。 2)主成分分析(PCA) 基本原理:PCA是一種數(shù)據(jù)降維和去除相關(guān)性的方法,它通過線性變換將向量投影到低維空間,對向量進(jìn)行投影就是讓向量左乘一個矩陣得到結(jié)果向量。降維要確保的是在低維空間中的投影能很好的近似表達(dá)原始向量,即重構(gòu)誤差最小化。PCA是一種無監(jiān)督的學(xué)習(xí)算法,它是線性模型,不能直接用于分類和回歸問題。 2.4 半監(jiān)督學(xué)習(xí)訓(xùn)練樣本中只有部分樣本數(shù)據(jù)包含標(biāo)記值的學(xué)習(xí)方式,當(dāng)沒有足夠人力標(biāo)記所有的樣本數(shù)據(jù),并且稍稍降低對模型預(yù)測精度的要求時,便可以使用半監(jiān)督學(xué)習(xí)。相比無監(jiān)督學(xué)習(xí)會有較高的精度,相比有監(jiān)督學(xué)習(xí)可以大幅降低人工標(biāo)記成本。 例如:在擁有上百萬篇文章資訊類的網(wǎng)站中進(jìn)行文章分類標(biāo)記,便可以采用半監(jiān)督學(xué)習(xí),只需要對訓(xùn)練樣本進(jìn)行少量的人工標(biāo)注處理,便可以得到較高精度的分類結(jié)果。 2.5 強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)是一種特殊的機(jī)器學(xué)習(xí),根據(jù)輸入環(huán)境參數(shù)確定要執(zhí)行的動作,通過與環(huán)境交互來優(yōu)化目標(biāo)函數(shù)。在訓(xùn)練時,對于正確的動作做出獎勵,對錯誤的動作做出懲罰,訓(xùn)練完成之后就用得到的模型進(jìn)行預(yù)測。簡要來說,強(qiáng)化學(xué)習(xí)算法是一種根據(jù)當(dāng)前的狀態(tài)確定要執(zhí)行的動作的學(xué)習(xí)方式。 2.6 遷移學(xué)習(xí)遷移學(xué)習(xí)簡要來說,就是把已經(jīng)學(xué)到訓(xùn)練好的模型參數(shù)遷移到新的模型來幫助并加快新模型訓(xùn)練數(shù)據(jù)集,這種學(xué)習(xí)方式可以大幅縮短新模型的學(xué)習(xí)時間。 2.7 深度學(xué)習(xí)深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的子集,這個概念來源于對人工神經(jīng)網(wǎng)絡(luò)的研究。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。 深度機(jī)器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之分,不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同。例如:卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,簡稱CNNs)就是一種深度的監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型,而深度置信網(wǎng)(Deep Belief Nets,簡稱DBNs)就是一種無監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型。 深度學(xué)習(xí)相較其他機(jī)器學(xué)習(xí)最厲害的一點:可以對數(shù)據(jù)特征進(jìn)行預(yù)處理(省去數(shù)據(jù)人工標(biāo)注的麻煩,同時可以對更多維和復(fù)雜的特征進(jìn)行向量提取和空間向量的轉(zhuǎn)換,方便后續(xù)處理),這也是它為什么很多層的原因,因為其中多出來的層數(shù)都是要用來進(jìn)行數(shù)據(jù)特征提取預(yù)處理的。端到端的訓(xùn)練,是深度學(xué)習(xí)的核心技術(shù)。目前深度學(xué)習(xí)框架有tensorflow、keras、caffe、theano、torch等。 1)卷積神經(jīng)網(wǎng)絡(luò)(CNN) 基本原理:CNN是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對于大型圖像處理有出色表現(xiàn)。 卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、激活函數(shù)、池化層、全連接層組成。卷積層的作用是指對圖片的矩陣進(jìn)行卷積運算,得到一些數(shù)值,作為圖片的某些特征。因為采用了卷積來處理圖像,所以需要使用激活函數(shù)來加入非線性因素,來增加表達(dá)力。 池化層的作用是對上層的數(shù)據(jù)進(jìn)行采樣和壓縮,一方面使特征圖變小,簡化網(wǎng)絡(luò)計算復(fù)雜度;一方面進(jìn)行特征壓縮,提取主要特征。全連接層連接所有的特征,將輸出值分類。 前面卷積層和池化層進(jìn)行處理后,得到了很多的特征,全連接層使用這些特征進(jìn)行分類。比如:識別數(shù)字,那就是對0~9的十個類別進(jìn)行分類。卷積神經(jīng)網(wǎng)絡(luò)是一個判別模型,它既可以用于分類問題,也可以用于回歸問題,并且支持多分類問題。 主要用途:圖像處理,計算機(jī)視覺和圖像分類的主要算法。 2)遞歸神經(jīng)網(wǎng)絡(luò)(RNN) 基本原理:又叫循環(huán)神經(jīng)網(wǎng)絡(luò),在任意神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元都通過 1 個或多個隱藏層來將很多輸入轉(zhuǎn)換成單個輸出。遞歸神經(jīng)網(wǎng)絡(luò)會將值進(jìn)一步逐層傳遞,讓逐層學(xué)習(xí)成為可能。換句話說,RNN 存在某種形式的記憶,允許先前的輸出去影響后面的輸入。當(dāng)輸入數(shù)據(jù)具有依賴性且是序列模式時,RNN 對之前發(fā)生在數(shù)據(jù)序列中的事是有一定記憶的,這有助于系統(tǒng)獲取上下文。 基于RNN還衍生出了LSTM(Long-Short-Term-Memerory)和GRU(Gated Recurrent Unit)等一系列算法,這些算法擁有記住過去的能力,所以可以用來處理一些有時間序列屬性的數(shù)據(jù),在處理語言、文字等方面有獨到的優(yōu)勢。 LSTM和GRU的優(yōu)點是具備與其它遞歸神經(jīng)網(wǎng)絡(luò)一樣的優(yōu)點,但因為它們有更好的記憶能力,所以更常被使用。 遞歸神經(jīng)網(wǎng)絡(luò)是一個判別模型,既支持分類問題,也支持回歸問題,并且支持多分類問題。 主要用途:語言建模、文本生成、機(jī)器翻譯、語音識別、生成圖像描述。 四、小結(jié)AI產(chǎn)品經(jīng)理雖然與傳統(tǒng)互聯(lián)網(wǎng)產(chǎn)品經(jīng)理有些不同,但對產(chǎn)品思維的要求還是一如既往甚至提出了更高的標(biāo)準(zhǔn),所以除了了解本文所述內(nèi)容,形成自己的一套方法論還是非常重要的。 此外,在人工智能這個領(lǐng)域,產(chǎn)品經(jīng)理需要有更高的人文素養(yǎng),目光和眼界一定要長遠(yuǎn),才可能做出有足夠影響力的人工智能產(chǎn)品。 參考資料
|
|