奧卡姆剃刀原理
若非需要,勿增實(shí)體,當(dāng)所有的理論都能解釋現(xiàn)象,那么就選擇最簡(jiǎn)單的。
沒(méi)有免費(fèi)的午餐定理(NFL原則)
不好比較哪個(gè)算法好、如果a算法在某方面比B算法表現(xiàn)良好的話(huà),必存在其他問(wèn)題使B比A的表現(xiàn)好。
什么是機(jī)器學(xué)習(xí)?
我們?nèi)粘V械某绦蚓拖衩钜粯又笇?dǎo)計(jì)算機(jī)去做什么,而機(jī)器學(xué)習(xí)是以數(shù)據(jù)而非命令為基礎(chǔ)的非顯示編程,前者注重因果,后者注重關(guān)聯(lián)。機(jī)器學(xué)習(xí)是人工智能的核心,研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類(lèi)的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)從而不斷改善自身的性能。
從實(shí)踐的意義上來(lái)說(shuō),機(jī)器學(xué)習(xí)算法利用已有數(shù)據(jù)或經(jīng)驗(yàn)(有標(biāo)簽和無(wú)標(biāo)簽的樣本),訓(xùn)練某種模型,并利用此模型對(duì)未來(lái)數(shù)據(jù)進(jìn)行預(yù)測(cè)(標(biāo)記新樣本數(shù)據(jù))。
應(yīng)用場(chǎng)景:搜廣推(搜索+廣告+推薦)
監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)的區(qū)別(根據(jù)有無(wú)標(biāo)簽進(jìn)行分類(lèi))
有監(jiān)督學(xué)習(xí):數(shù)據(jù)集由目標(biāo)值和特征值組成,或者說(shuō)是有標(biāo)簽的數(shù)據(jù),模型從目標(biāo)值中去學(xué)習(xí),常見(jiàn)的有線(xiàn)性回歸、邏輯回歸、神經(jīng)網(wǎng)絡(luò)
無(wú)監(jiān)督學(xué)習(xí):無(wú)監(jiān)督學(xué)習(xí)的訓(xùn)練集中沒(méi)有人為的標(biāo)注的結(jié)果,學(xué)習(xí)模型就是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見(jiàn)的有聚類(lèi)、異常檢測(cè)、降維,
半監(jiān)督學(xué)習(xí)(SSL):為了減少監(jiān)督學(xué)習(xí)中給訓(xùn)練數(shù)據(jù)做標(biāo)記的工作量,是監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)相結(jié)合的一種學(xué)習(xí)方法,訓(xùn)練數(shù)據(jù)中有部分?jǐn)?shù)據(jù)是有標(biāo)記的,有部分?jǐn)?shù)據(jù)沒(méi)有標(biāo)記
機(jī)器學(xué)習(xí)常見(jiàn)問(wèn)題(根據(jù)功能進(jìn)行分類(lèi))
回答思路:定義+常見(jiàn)應(yīng)用+常見(jiàn)算法
(1)回歸
是一種監(jiān)督學(xué)習(xí)算法。給定一個(gè)樣本特征,希望預(yù)測(cè)其對(duì)應(yīng)的屬性值, 如果預(yù)測(cè)值是連續(xù)的實(shí)數(shù), 這就是一個(gè)回歸問(wèn)題,在回歸問(wèn)題中,我們學(xué)習(xí)出擬合樣本分布的曲線(xiàn)。例如房屋價(jià)格預(yù)測(cè)?;貧w問(wèn)題常用的算法有線(xiàn)性回歸、嶺回歸、回歸樹(shù)模型KNN(K近鄰)算法等。
Sklearn:
(2)分類(lèi)
是一種監(jiān)督學(xué)習(xí)算法。給定一個(gè)樣本特征,希望預(yù)測(cè)其對(duì)應(yīng)的屬性值, 如果是離散的, 那么這就是一個(gè)分類(lèi)問(wèn)題,包括二分類(lèi)、多分類(lèi)、多標(biāo)簽分類(lèi)。分類(lèi)問(wèn)題中,我們學(xué)習(xí)出來(lái)一條「決策邊界」完成數(shù)據(jù)區(qū)分,對(duì)于大多數(shù)實(shí)際應(yīng)用,模型會(huì)通過(guò)softmax函數(shù)輸出每一個(gè)類(lèi)別的概率,然后選取置信度(概率)最大的類(lèi)別輸出。例如判斷是否為垃圾郵件、是否患癌癥等
常用的算法包括: KNN(K近鄰)算法、邏輯回歸算法、樸素貝葉斯算法、決策樹(shù)模型、隨機(jī)森林分類(lèi)模型、GBDT模型、XGBoost模型、支持向量機(jī)(SVM)模型、神經(jīng)網(wǎng)絡(luò)等
(3)聚類(lèi)
是一種無(wú)監(jiān)督學(xué)習(xí)算法,給定一組樣本特征, 我們沒(méi)有對(duì)應(yīng)的屬性值 , 而是想發(fā)掘這組樣本在多維空間的分布, 比如分析哪些樣本靠的更近,哪些樣本之間離得很遠(yuǎn), 這就是屬于聚類(lèi)問(wèn)題。其目的是將相似的數(shù)據(jù)點(diǎn)劃分到同一類(lèi)別中,從而形成多個(gè)互不相同的類(lèi)別。常見(jiàn)的應(yīng)用如谷歌新聞聚類(lèi)、DNA序列檢測(cè)、根據(jù)顧客行為進(jìn)行市場(chǎng)分類(lèi)、天文數(shù)據(jù)分析。常用的算法為K-means算法、層次聚類(lèi)、DBSCAN
(4)降維
是一種無(wú)監(jiān)督學(xué)習(xí)算法,如果我們想用維數(shù)更低的子空間來(lái)表示原來(lái)高維的特征空間, 那么這就是降維問(wèn)題。例如主成分分析法PCA
你認(rèn)為你本科學(xué)的數(shù)學(xué)有哪些會(huì)用到機(jī)器學(xué)習(xí)中?
(1)函數(shù):
針對(duì)不同的問(wèn)題和任務(wù)需要選取恰當(dāng)?shù)哪P?,模型就是一組函數(shù)的集合,例如線(xiàn)性回歸中的多元線(xiàn)性函數(shù)、邏輯回歸中的s型函數(shù)、神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)。
判斷這個(gè)函數(shù)的好壞,需要一個(gè)衡量標(biāo)準(zhǔn),也就是我們通常說(shuō)的損失函數(shù)(Loss Function),它也需要依據(jù)具體問(wèn)題而定,如回歸問(wèn)題一般采用歐式距離,分類(lèi)問(wèn)題一般采用交叉熵代價(jià)函數(shù)。
如何確定參數(shù)使代價(jià)函數(shù)最小可以使用梯度下降算法,最小二乘法等和其他一些技巧(tricks)
(2)線(xiàn)性代數(shù):矩陣化vectorization,比方說(shuō)現(xiàn)在某個(gè)線(xiàn)性回歸特征值和樣本很多,當(dāng)我們?cè)谟?jì)算預(yù)測(cè)值和真實(shí)值差的平方的時(shí)候,采用循環(huán)和矩陣乘法所需要的時(shí)間差距很大。我表達(dá)不太準(zhǔn)確,但是我之前調(diào)用過(guò)time函數(shù)看過(guò)他們之間的差距,dot函數(shù)時(shí)候numpy庫(kù)里的,numpy底層是由c++實(shí)現(xiàn)的,加上一些硬件支持會(huì)快很多。
(3)概率論:正態(tài)分布
(4)統(tǒng)計(jì)學(xué):比方說(shuō)邏輯回歸里的代價(jià)函數(shù)就根據(jù)極大似然估計(jì)的統(tǒng)計(jì)原理推導(dǎo)出來(lái)的,誤差=均差+偏差
(5)優(yōu)化:優(yōu)化中的凸優(yōu)化和微積分中的偏導(dǎo)數(shù)衍生出梯度下降的方法得到代價(jià)函數(shù)最小值
(6)信息論:熵、基尼系數(shù)
機(jī)器學(xué)習(xí)開(kāi)發(fā)流程
首先確定系統(tǒng)的架構(gòu),這決定了需要選擇什么樣的機(jī)器學(xué)習(xí)模型以及需要收集什么樣的數(shù)據(jù)
接下來(lái)的開(kāi)發(fā)流程主要分為五步,分別是:數(shù)據(jù)收集和預(yù)處理、特征工程、模型的選擇和訓(xùn)練、模型評(píng)估和優(yōu)化以及模型測(cè)試。
(1)數(shù)據(jù)收集和預(yù)處理:確定需要哪些數(shù)據(jù)來(lái)訓(xùn)練你的學(xué)習(xí)器。收量足夠數(shù)量的貓狗圖片作為訓(xùn)練數(shù)據(jù)集,可以從公共數(shù)據(jù)集中獲取,也可以自己收集標(biāo)注。對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)編碼、無(wú)量綱化等預(yù)處理操縱,并將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,
(2)特征工程:
(3)模型的選擇和訓(xùn)練:模型的選擇需要我們掌握各個(gè)模型的特點(diǎn),根據(jù)需要完成的任務(wù)目標(biāo)選擇合適的學(xué)習(xí)模型,并在訓(xùn)練集上進(jìn)行訓(xùn)練。
(4)模型評(píng)估和優(yōu)化: 從訓(xùn)練集中劃分出驗(yàn)證集,使用驗(yàn)證集對(duì)訓(xùn)練好的模型進(jìn)行評(píng)估,如計(jì)算準(zhǔn)確率,精確率,召回率等指標(biāo)。也可以繪制學(xué)習(xí)曲線(xiàn),觀(guān)察偏差和方差,并且進(jìn)行誤差分析,根據(jù)診斷結(jié)果調(diào)整模型,對(duì)訓(xùn)練過(guò)程進(jìn)行優(yōu)化,如調(diào)整學(xué)習(xí)率、增加正則化項(xiàng)、修改網(wǎng)絡(luò)結(jié)構(gòu)、增加樣本數(shù)量等,以提高模型性能。因此這個(gè)過(guò)程中可能需要去收集更多的數(shù)據(jù),即重新進(jìn)行第前四步,通常要在這個(gè)循環(huán)中進(jìn)行多次迭代才能達(dá)到想要的性能。
(5)模型測(cè)試:使用測(cè)試集對(duì)模型進(jìn)行最終測(cè)試,得到最終的識(shí)別效果。
最后,在生產(chǎn)環(huán)境中部署,部署之后意味著用戶(hù)可以使用它了,部署之后要確保你可以持續(xù)監(jiān)控系統(tǒng)的性能和維護(hù)系統(tǒng),如果系統(tǒng)在實(shí)踐中性能不好就要回到第一步。
數(shù)據(jù)預(yù)處理
定義:從數(shù)據(jù)中檢測(cè)、糾正、刪除損壞的不準(zhǔn)確的或者不適用于模型記錄的過(guò)程
目的:去除噪音,讓數(shù)據(jù)適應(yīng)模型,匹配模型的需求
方法:數(shù)據(jù)清理,數(shù)據(jù)集成,數(shù)據(jù)變換,數(shù)據(jù)編碼、數(shù)據(jù)歸約、特征提取、缺失值/異常值的處理
數(shù)據(jù)預(yù)處理可以通過(guò)sklearn來(lái)實(shí)現(xiàn):
(1)模塊preprocessing:幾乎包含數(shù)據(jù)預(yù)處理的所有內(nèi)容。
(2)模塊Impute:填補(bǔ)缺失值專(zhuān)用。
(3)模塊feature_selection:包含特征選擇的各種方法的實(shí)踐》
(4)模塊decomposition:包含降維算法
(1)數(shù)據(jù)清理
清洗“臟數(shù)據(jù)”,包括檢查數(shù)據(jù)一致性,處理無(wú)效值和缺失值等。impute.SimpleImputer缺失值填補(bǔ)
(2)數(shù)據(jù)集成
(3)數(shù)據(jù)變換
包括數(shù)據(jù)無(wú)量綱化(標(biāo)準(zhǔn)化和歸一化)和正則化
不屬于同一量綱指的是特征的規(guī)格不一樣,不能夠放在一起比較。數(shù)據(jù)無(wú)量綱化(標(biāo)準(zhǔn)化和歸一化)可以解決這一問(wèn)題,將不同規(guī)格的數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一規(guī)格,或者是將不同分布的數(shù)據(jù)轉(zhuǎn)換為某個(gè)特定分布的需求。
線(xiàn)性的無(wú)量綱化包括中心化處理(讓所有的記錄減去一個(gè)固定值)和縮放處理(除以一個(gè)固定值)例如歸一化是將數(shù)據(jù)按最小值中心化,再按極差縮放,數(shù)據(jù)收斂到[0,1]之間
特征縮放的原因:為了使不同的特征值對(duì)輸出的影響相近。特征值取值范圍差異較大時(shí)會(huì)使梯度下降運(yùn)行很慢,通過(guò)重新縮放這些特征,使它們具有相近的尺度(無(wú)量綱化:包括歸一化、標(biāo)準(zhǔn)化。),使梯度下降時(shí)參數(shù)的更新更加容易、有效,可顯著加快梯度下降的速度。
preprocessing.MinMaxScaler:歸一化,將原始數(shù)據(jù)映射到一個(gè)區(qū)間內(nèi)(通常是[0,1]),異常值可能會(huì)影響歸一化。數(shù)據(jù)預(yù)處理代碼_
歸一化是依照特征矩陣的行處理數(shù)據(jù),其目的在于樣本向量在點(diǎn)乘運(yùn)算或其他核函數(shù)計(jì)算相似性時(shí),擁有統(tǒng)一的標(biāo)準(zhǔn),也就是說(shuō)都轉(zhuǎn)化為“單位向量”。
preprocessing.StandardScaler:標(biāo)準(zhǔn)化,數(shù)值服從正態(tài)分布,平均為0,標(biāo)準(zhǔn)差為1。
標(biāo)準(zhǔn)化是依照特征矩陣的列處理數(shù)據(jù),其通過(guò)求z-score的方法,將樣本的特征值轉(zhuǎn)換到同一量綱下。
標(biāo)準(zhǔn)化方式:L1L2范數(shù)標(biāo)準(zhǔn)化、(L1范數(shù)生成稀疏矩陣,L2可以利用正則化防止過(guò)擬合)
(4)數(shù)據(jù)編碼
包括離散數(shù)據(jù)編碼(定性特征轉(zhuǎn)化為定量特征,定性特征不能直接使用)、連續(xù)數(shù)據(jù)編碼(信息冗余)
連續(xù)數(shù)據(jù)編碼
sklearn.preprocessing.Binarize定量特征二值:核心在于設(shè)定一個(gè)閾值,將連續(xù)性變量根據(jù)閾值轉(zhuǎn)化為二進(jìn)制離散變量(大于閾值的賦值為1,小于等于閾值的賦值為0)。
preprocessing.KBinsDiscretizer:設(shè)置多個(gè)閾值將連續(xù)型變量根據(jù)閾值轉(zhuǎn)換成K進(jìn)制離散變量。
離散數(shù)據(jù)編碼
preprocessing.LabelEncoder:標(biāo)簽專(zhuān)用,能夠?qū)⒎诸?lèi)轉(zhuǎn)換為分類(lèi)離散數(shù)值
preprocessing.OrdinalEncoder:特征專(zhuān)用,能夠?qū)⒎诸?lèi)特征轉(zhuǎn)換為分類(lèi)離散數(shù)值
preprocessing.OneHotEncoder:把離散數(shù)值轉(zhuǎn)換成獨(dú)熱編碼,創(chuàng)建啞變量
常見(jiàn)編碼方式
(1)手動(dòng)為每一種定性值直接指定一個(gè)定量值,但是這種方式過(guò)于靈活,增加了調(diào)參的工作。
(2)啞編碼(dummy encoding):基于數(shù)據(jù)集的某一特征的N個(gè)狀態(tài)值,用N-1位編碼來(lái)作區(qū)別
嬰兒 幼兒 少年 青年 中年 老年
10000 01000 00100 00010 00001 00000
前五個(gè)狀態(tài)每一個(gè)狀態(tài)位代表當(dāng)前狀態(tài)是否激活,1為激活,0為未激活。五個(gè)狀態(tài)位都為未激活的狀態(tài),則默認(rèn)為第六個(gè)狀態(tài)。
對(duì)于線(xiàn)性模型來(lái)說(shuō),使用啞編碼后的特征可達(dá)到非線(xiàn)性的效果。)
(3)獨(dú)熱編碼(one-hot encoding):基于數(shù)據(jù)集的某一特征的N個(gè)狀態(tài)值,用N位編碼來(lái)作區(qū)別
嬰兒 幼兒 少年 青年 中年 老年
100000 010000 001000 000100 000010 000001
其中每一個(gè)狀態(tài)位代表當(dāng)前狀態(tài)是否激活,1為激活,0為未激活。
(5)數(shù)據(jù)歸約
尋找依賴(lài)于發(fā)現(xiàn)目標(biāo)的數(shù)據(jù)的有用特征,以縮減數(shù)據(jù)規(guī)模,從而在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡(jiǎn)數(shù)據(jù)量。
特征工程
特征值可能存在的問(wèn)題/為什么需要特征工程?
特征之間有相關(guān)性,特征和標(biāo)簽無(wú)關(guān),特征太多或太少,或者干脆就無(wú)法表現(xiàn)出應(yīng)有的數(shù)據(jù)現(xiàn)象或無(wú)法展示數(shù)據(jù)的真實(shí)面貌,信息利用率低(不同的機(jī)器學(xué)習(xí)算法和模型對(duì)數(shù)據(jù)中信息的利用是不同的,對(duì)定量變量多項(xiàng)式化,或者進(jìn)行其他的轉(zhuǎn)換,都能達(dá)到非線(xiàn)性的效果。)
數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。
定義:特征工程是將原始數(shù)據(jù)轉(zhuǎn)換為更能代表預(yù)測(cè)模型的潛在問(wèn)題的特征的過(guò)程,其本質(zhì)是一項(xiàng)工程活動(dòng),可以通過(guò)挑選最相關(guān)的特征,提取特征以及創(chuàng)造特征來(lái)實(shí)現(xiàn)。其中創(chuàng)造特征又經(jīng)常以降維算法的方式實(shí)現(xiàn)。
目的:降低計(jì)算成本,提升模型上限(最大限度地從原始數(shù)據(jù)中提取特征以供算法和模型使用。
方法:特征提取、特征預(yù)處理、特征升維、特征降維
(1)特征提?。ㄌ卣骶幋a)
屬于數(shù)據(jù)預(yù)處理:將任意數(shù)據(jù)轉(zhuǎn)換為可用于機(jī)器學(xué)習(xí)的數(shù)字特征。例如字典型特征提取、文本型特征提取。
(2)特征預(yù)處理
預(yù)先處理,包括歸一化標(biāo)準(zhǔn)化、異常樣本清洗、樣本數(shù)據(jù)不平衡問(wèn)題處理。
(3)特征創(chuàng)造(特征升維)
在現(xiàn)有的少量特征的基礎(chǔ)之上,創(chuàng)造新的特征。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-845342.html
(4)特征選擇(特征降維)
在現(xiàn)有的海量特征的基礎(chǔ)之上,選擇有限的、少部分的特征。
降低的對(duì)象是多維數(shù)組。降低的是特征的個(gè)數(shù),得到一組“不相關(guān)”的主變量的過(guò)程文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-845342.html
到了這里,關(guān)于考研復(fù)試問(wèn)題/面試問(wèn)題——機(jī)器學(xué)習(xí)(1)(入門(mén)系列)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!