版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章
機器學(xué)習基礎(chǔ)與應(yīng)用CONTENTS目錄5.1
機器學(xué)習概述5.2
機器學(xué)習流程與評估5.3
機器學(xué)習算法5.4
強化學(xué)習5.1機器學(xué)習概述5.1.1
機器學(xué)習的概念1.什么叫機器學(xué)習首先將訓(xùn)練數(shù)據(jù)輸入給學(xué)習算法,學(xué)習算法根據(jù)輸入的數(shù)據(jù)生成計算模型,然后再用另一組測試數(shù)據(jù)輸入給計算模型,由該計算模型輸出測試結(jié)果。2.機器學(xué)習的關(guān)鍵進展經(jīng)典的機器學(xué)習主要基于統(tǒng)計學(xué)和優(yōu)化理論,如決策樹、k-近鄰算法、支持向量機、線性回歸、邏輯回歸、k均值聚類算法等。進入21世紀,神經(jīng)網(wǎng)絡(luò)開始復(fù)興,這些模型能夠自動學(xué)習特征,減少了對人工干預(yù)的需求。。2006年,辛頓等科學(xué)家提出了深度學(xué)習的概念,通過構(gòu)建深層神經(jīng)網(wǎng)絡(luò),模擬人腦的多層次處理,大大提高了模型的表示能力和學(xué)習效率。2.機器學(xué)習的關(guān)鍵進展計算機視覺技術(shù)已經(jīng)能夠識別、定位和理解圖像內(nèi)容。隨著ResNet、VGG和YOLO等模型的出現(xiàn),計算機視覺的精度和實時性得到了顯著提升。近年來,預(yù)訓(xùn)練模型如BERT和GPT系列的出現(xiàn),使得機器理解和生成人類語言的能力達到了前所未有的水平。機器學(xué)習的另一條重要分支是強化學(xué)習,它模擬了通過試錯來學(xué)習的行為。3.機器學(xué)習與人工智能的關(guān)系機器學(xué)習是人工智能的一條分支,強化學(xué)習和深度學(xué)習都是機器學(xué)習的子領(lǐng)域,二者通過技術(shù)融合形成了深度強化學(xué)習,成為當前研究的熱點。5.1.2
機器學(xué)習的分類1.監(jiān)督學(xué)習根據(jù)有標簽的數(shù)據(jù)找到數(shù)據(jù)特征(輸入)和標簽(輸出)之間的關(guān)系,這種學(xué)習方式就叫監(jiān)督學(xué)習。監(jiān)督學(xué)習是先把有分類標簽的訓(xùn)練數(shù)據(jù)連同分類標簽輸入給學(xué)習算法,通過訓(xùn)練學(xué)習得到一個計算模型,然后使用這個計算模型對無標簽的測試數(shù)據(jù)進行預(yù)測,得到測試結(jié)果。在本質(zhì)上,監(jiān)督學(xué)習的目標在于構(gòu)建一個由輸入到輸出的映射,該映射用計算模型來表示。5.1.2
機器學(xué)習的分類1.監(jiān)督學(xué)習監(jiān)督學(xué)習的主要任務(wù)包括分類(Classification)和回歸(Regressive)。分類主要是將輸入的數(shù)據(jù)根據(jù)其特征分為不同的類別,這些類別是預(yù)先設(shè)定且不連續(xù)的?;貧w則是用數(shù)學(xué)模型來對訓(xùn)練數(shù)據(jù)進行擬合,以便對未知點進行預(yù)測。5.1.2
機器學(xué)習的分類2.無監(jiān)督學(xué)習無監(jiān)督學(xué)習不需要人工標注的訓(xùn)練數(shù)據(jù),它是基于統(tǒng)計的學(xué)習方法,通過對未知結(jié)果的數(shù)據(jù)進行分析來發(fā)現(xiàn)數(shù)據(jù)隱藏特征。無監(jiān)督學(xué)習中最常見的任務(wù)是聚類,它根據(jù)數(shù)據(jù)之間的相似性將樣本劃分為不同的簇(Cluster),通常我們并不預(yù)先知道簇的數(shù)量和含義。5.1.2
機器學(xué)習的分類3.半監(jiān)督學(xué)習半監(jiān)督學(xué)習是監(jiān)督學(xué)習和無監(jiān)督學(xué)習相結(jié)合的一種學(xué)習方法,它自動地利用好大量無分類標簽的訓(xùn)練數(shù)據(jù)以輔助少量有標簽的訓(xùn)練數(shù)據(jù)進行學(xué)習。通過結(jié)合少量的有標簽數(shù)據(jù)(這些數(shù)據(jù)提供了局部的、具體的類別信息)和大量的無標簽數(shù)據(jù)(這些數(shù)據(jù)提供了整體的、豐富的分布信息),半監(jiān)督學(xué)習算法能夠更有效地學(xué)習和推斷數(shù)據(jù)的內(nèi)在結(jié)構(gòu)和關(guān)系。5.1.3
機器學(xué)習的應(yīng)用領(lǐng)域1.圖像識別和處理通過訓(xùn)練大量的圖像數(shù)據(jù),機器學(xué)習算法可以學(xué)習并識別出圖像中的特征,從而實現(xiàn)對圖像的智能處理。2.自然語言處理自然語言處理是機器學(xué)習的另一個重要應(yīng)用領(lǐng)域,包括文本分類、情感分析、機器翻譯等。機器學(xué)習算法可以幫助計算機理解和生成人類語言,實現(xiàn)人機交互的智能化。5.1.3
機器學(xué)習的應(yīng)用領(lǐng)域3.推薦系統(tǒng)通過機器學(xué)習技術(shù),平臺可以根據(jù)用戶的歷史行為和偏好,為用戶推薦感興趣的商品、內(nèi)容或好友。4.金融風控通過分析大量的金融數(shù)據(jù),機器學(xué)習算法可以幫助金融機構(gòu)更好地評估風險和制定策略。5.1.3
機器學(xué)習的應(yīng)用領(lǐng)域5.自動駕駛通過感知、決策和執(zhí)行三個階段的協(xié)同工作,自動駕駛汽車可以在沒有人類干預(yù)的情況下完成行駛?cè)蝿?wù)。6.醫(yī)療診斷通過對大量的醫(yī)療圖像、病歷數(shù)據(jù)等進行分析,機器學(xué)習模型可以發(fā)現(xiàn)疾病的特征,提高診斷的準確性和效率。除此之外,機器學(xué)習還可以應(yīng)用于生物、農(nóng)業(yè)、物流、教育、政府等領(lǐng)域,為各個行業(yè)帶來更高的效率和更好的服務(wù)。5.2
機器學(xué)習流程與評估5.2.1
機器學(xué)習的基本流程利用機器學(xué)習進行智能應(yīng)用程序開發(fā)時,需要遵循的基本流程如圖所示。1.收集數(shù)據(jù)收集數(shù)據(jù)是機器學(xué)習應(yīng)用的第一步,完成數(shù)據(jù)的初步選取。通??梢允褂镁W(wǎng)上一些具有代表性的、大眾經(jīng)常使用的公開數(shù)據(jù)集。如果無法在網(wǎng)上找到現(xiàn)成的數(shù)據(jù),那只能收集原始數(shù)據(jù),再去一步步進行加工、整理。2.輸入數(shù)據(jù)收集好數(shù)據(jù)之后,還必須確保數(shù)據(jù)格式符合要求。這時需要輸入數(shù)據(jù),將來自多個數(shù)據(jù)源中的數(shù)據(jù)合并到一個統(tǒng)一的數(shù)據(jù)集,并保存成符合要求的數(shù)據(jù)格式,方便操作。3.數(shù)據(jù)預(yù)處理數(shù)據(jù)預(yù)處理的主要步驟為數(shù)據(jù)清洗(DataCleaning)、數(shù)據(jù)變換(DataTransformation)和數(shù)據(jù)歸約(DataReduction)。4.模型訓(xùn)練和測試在進行模型訓(xùn)練之前,要對處理好的數(shù)據(jù)進行分析,選擇合適的算法。首先要判斷訓(xùn)練數(shù)據(jù)是否有標簽,其次分析問題的類型是屬于分類問題還是回歸問題,當確定好問題的類型之后再去選擇具體的算法。5.模型評估訓(xùn)練完成之后,通過拆分出來的訓(xùn)練數(shù)據(jù)來對模型進行評估,通過真實數(shù)據(jù)和預(yù)測數(shù)據(jù)進行對比來判定模型的好壞。在模型訓(xùn)練完成后,將其投入實際應(yīng)用環(huán)境。5.2.2
機器學(xué)習的性能評估指標1.泛化能力在有監(jiān)督學(xué)習中,模型是通過訓(xùn)練數(shù)據(jù)集進行構(gòu)建的,并用于預(yù)測未知的新數(shù)據(jù),這一過程通常稱為泛化。其主要目標是提高模型在處理新數(shù)據(jù)時的預(yù)測準確性,從而增強其泛化能力。如果模型在訓(xùn)練數(shù)據(jù)集上表現(xiàn)優(yōu)秀,但在測試數(shù)據(jù)集上表現(xiàn)較差,就說明模型存在過擬合(Overfitting)問題。反之,如果模型在訓(xùn)練集和測試集上的表現(xiàn)都將不盡如人意,這種情形被稱作欠擬合(Underfitting)。2.回歸的性能評估回歸較常見的是均方誤差(MeanSquaredError,MSE),即預(yù)測值與真實值之間平方誤差的平均值。對于模型f(x),有在一些應(yīng)用中,也可以采用平均絕對誤差(MeanAbsoluteError,MAE),即模型預(yù)測值與真實值誤差絕對值的平均值。對于模型f(x),有3.分類的性能評估下面以二分類問題為例,介紹幾種主要的評估指標。(1)混淆矩陣在二分類任務(wù)中,常用正類(PositiveClass)或負類(NegativeClass)表示兩種類型?;煜仃囀且粋€2×2的表格,其中包含樣本集中各類的數(shù)目。表5-1
二分類任務(wù)的混淆矩陣標注的樣本類型模型預(yù)測類型正類負類正類NTPNFN負類NFPNTN(2)基礎(chǔ)指標訓(xùn)練樣本總數(shù)N=NTP+NFN+NFP+NTN,有以下基礎(chǔ)指標。準確率(accuracy):表示所有樣本中能正確分類的比例。錯誤率(errorrate):error
rate=1?ACC,直接反映模型在所有樣本中預(yù)測錯誤的比例。。精確率(precision):也稱為查準率,表示被模型預(yù)測為正類的樣本中,實際為正類的比例。召回率(recall):也稱為查全率,表示實際為正類的樣本中,被模型預(yù)測為正類的比例。。F1分數(shù)作為精確率和召回率的調(diào)和平均數(shù),可以綜合這兩個指標的表現(xiàn)。F1分數(shù)(F1-score):。。5.3
機器學(xué)習算法5.3.1
監(jiān)督學(xué)習算法:分類問題1.決策樹算法決策樹(DecisionTree)的基本思想是通過訓(xùn)練有標簽數(shù)據(jù)構(gòu)建決策樹進行分類。1.決策樹算法(1)決策樹分類案例編號擁有房產(chǎn)(是/否)婚姻狀況(單身/已婚/離婚)年收入(單位:千元)無法償還債務(wù)(是/否)1是單身125否2否已婚100否3否單身70是4是已婚120否5否離婚75是6否已婚60否7是離婚220否8否單身85否9否已婚75否10否單身90否表5-2
決策樹構(gòu)建示例源數(shù)據(jù)(2)決策樹分類的實現(xiàn)在Scikit-learn庫中,sklearn.tree.DecisionTreeClassifier類用于實現(xiàn)決策樹分類算法,它依據(jù)輸入數(shù)據(jù)的特征,借助樹狀結(jié)構(gòu)來判定數(shù)據(jù)所屬的類別。這個類涵蓋了多個關(guān)鍵參數(shù),這些參數(shù)可用于控制決策樹的構(gòu)建流程以及性能表現(xiàn)。下面是6個關(guān)鍵參數(shù):criterion(劃分標準)、max_depth(最大深度)、min_samples_split(最小樣本分割數(shù))、min_samples_leaf(葉子節(jié)點最小樣本數(shù))、max_features(最大特征數(shù))、random_state(隨機種子)。例5-1
使用Scikit-learn建立決策樹對表5-2數(shù)據(jù)集進行分類,并評估分類器的性能。分析:將表5-2數(shù)據(jù)存放在bankdebt.csv文件中,其內(nèi)容如圖所示。然后使用Pandas庫(先用pipinstallpandas命令進行安裝)中用于讀取CSV文件的函數(shù)pd.read_csv(),從文件中讀取數(shù)據(jù)存放到DataFrame變量data中,讀文件時指定第一列作為行索引(參數(shù)index_col=0),文件中無列名(參數(shù)header=None)。例5-2
假設(shè)真實標簽為y_true=[0,1,0,1,1,0,1,0,0,1],預(yù)測標簽為y_pred=[0,1,0,0,1,1,1,0,1,1],使用Scikit-learn生成混淆矩陣,并計算評價指標。分析:先自行分析混淆矩陣的構(gòu)成并計算評價指標,然后編寫一個程序,看程序的輸出結(jié)果和分析結(jié)果有何區(qū)別。2.k-近鄰算法k-近鄰算法(k-NearestNeighbors,kNN)是一種以聚類的思想做分類的分類算法。(1)k-近鄰分類算法原理有兩種類型的帶標簽的訓(xùn)練樣本數(shù)據(jù),其中方塊代表標簽為1的數(shù)據(jù),三角形代表標簽為0的數(shù)據(jù)?,F(xiàn)輸入一個測試樣本(標簽未知,用圓來表示),那么如何判定這個測試樣本的標簽到底是1還是0呢?假設(shè)X_test為待標記的數(shù)據(jù)樣本,X_train為已標記的數(shù)據(jù)集,k-近鄰算法原理的偽代碼描述如下。①
計算距離:遍歷X_train中的所有樣本,計算每個樣本與X_test的距離,并把距離保存在Distance數(shù)組中。②
選擇鄰居:對Distance數(shù)組進行排序,取距離最近的k個點,記為X_knn。③
決策分類:在X_knn中統(tǒng)計每個類別的樣本個數(shù),即第一類在X_knn中有幾個樣本,第二類在X_knn中有幾個樣本等,待標記樣本的類別,就是在X_knn中樣本個數(shù)最多的那個類別。(2)k-近鄰分類算法的實現(xiàn)在Scikit-learn庫neighbors模塊中,提供了KNeighborsClassifier類,用于實現(xiàn)k-近鄰分類算法。主要參數(shù)包括以下內(nèi)容。①
n_neighbors:指定k值,默認值為5。②
weights:定義鄰居樣本的權(quán)重方式。③
algorithm:指定計算最近鄰的算法。④
metric:定義距離度量方式。⑤
p:Minkowski距離的指數(shù)參數(shù)。默認值為2(對應(yīng)歐式距離),p=1表示曼哈頓距離,p=2表示歐式距離。(3)鳶尾花數(shù)據(jù)集序號萼片長度(cm)萼片寬度(cm)花瓣長度(cm)花瓣寬度(cm)類別15.13.51.40.2山鳶尾24.93.01.40.2山鳶尾34.73.21.30.2山鳶尾………………517.03.24.71.4變色鳶尾526.43.24.51.5變色鳶尾…………...…1016.33.36.02.5維吉尼亞鳶尾1025.82.75.11.9維吉尼亞鳶尾………………表5-4
鳶尾花數(shù)據(jù)集的內(nèi)容例5-3
尋找k-近鄰分類算法對鳶尾花數(shù)據(jù)集做分類時最優(yōu)的k值。分析:首先從Scikit-learn庫導(dǎo)入鳶尾花數(shù)據(jù)集,并拆分為訓(xùn)練集和測試集,然后訓(xùn)練k-近鄰分類模型,并利用測試集測試模型。為了找到最優(yōu)的k值,需要測試不同k下k-近鄰分類算法的錯誤率,再使用Scikit-learn中的交叉驗證方法驗證。3.支持向量機支持向量機(SupportVectorMachine,SVM)起源于弗拉基米爾·萬普尼克(VladimirVapnik)對分類邊界最大化的探索,經(jīng)過數(shù)十年的理論積累與算法創(chuàng)新,最終在1995年形成完整的算法框架。其核心思想通過支持向量和核技巧解決了線性與非線性分類問題,至今仍是機器學(xué)習領(lǐng)域的重要工具。3.支持向量機(1)支持向量機基本原理有兩種類型的帶標簽的訓(xùn)練數(shù)據(jù),其中空心點代表標簽為1的數(shù)據(jù),實心點代表標簽為0的數(shù)據(jù)。其基本思想是找到一條線或一個面,把分別代表兩個類別的實心點和空心點準確分開。依據(jù)的原則是空間中距離分類線或面最近的點(也稱支持向量)到這條線或面的幾何間隔(也稱距離)最大。找到的這條線或這個面也稱為超平面或支持向量機。3.支持向量機(1)支持向量機基本原理測試樣本時,將測試樣本(標簽未知)映射到和訓(xùn)練樣本相同的空間中,并基于它落在超平面的哪一側(cè)來判定該測試樣本所屬類別,如果測試樣本落在超平面的靠空心點那側(cè),判定測試樣本的標簽為1,反之,判定測試樣本的標簽為0。假如樣本數(shù)據(jù)是線性不可分的,如圖(a)所示,則無法找到一個線性分類面將圖中的實心樣本和空心樣本分開。這時可以通過選擇合適的映射函數(shù)(核函數(shù))將數(shù)據(jù)映射到高維空間,以解決在原始樣本空間中線性不可分的問題。如圖(b)所示,通過將原來在二維平面上的點映射到三維空間上,即可以利用一個線性平面將圖中的實心樣本和空心樣本分開。(2)支持向量機的實現(xiàn)使用Scikit-learn實現(xiàn)支持向量機的核心類是SVC,用于構(gòu)建標準的支持向量機分類器,SVC類的主要參數(shù)有:①
kernel:核函數(shù)的類型,默認是RBF(高斯徑向基),其他值包括linear(線性)、poly(多項式)、sigmoid等。②
C:懲罰系數(shù)(正則化強度的倒數(shù))。③
gamma:核函數(shù)的系數(shù)(影響高斯核的半徑)。④
degree:多項式核的次數(shù)(僅當kernel='poly'時有效),默認是3。例5-4
使用支持向量機對鳶尾花數(shù)據(jù)集進行分類。分析:先進行數(shù)據(jù)加載,并使用StandardScaler對象標準化數(shù)據(jù),以消除特征尺度差異對支持向量機的影響。再進行數(shù)據(jù)預(yù)處理、創(chuàng)建支持向量機分類器后進行模型訓(xùn)練。最后通過散點圖展示萼片長度與花瓣長度的分布,并進行模型測試與評估。5.3.2
監(jiān)督學(xué)習算法:回歸問題1.線性回歸(1)一元線性回歸給定n個數(shù)據(jù)樣本(xi,yi)(i=1,2,…,n),要構(gòu)造一元線性函數(shù)f(x)=wx+b,使得f(x)在各數(shù)據(jù)點處的偏差f(xi)-yi的平方和L(w,b)=達到最小。1.線性回歸(1)一元線性回歸要使函數(shù)L(w,b)具有最小值,可對L(w,b)的參數(shù)w和b分別求導(dǎo)數(shù),令其導(dǎo)數(shù)值為零,再求取參數(shù)w和b的值。可以看出,只要給定n個數(shù)據(jù)樣本(xi,yi)(i=1,2,3,…,n),就可以求出w和b,從而建立一個線性回歸方程,進而預(yù)測新的數(shù)據(jù)。(2)多元線性回歸設(shè)x=[x1,x2,x3,…,xm]表示m個特征,共有n個樣本數(shù)據(jù)(xi,yi)(i=1,2,…,n),多元線性回歸就是要找到一組參數(shù)w=[w1,w2,w3,…,wm],使得線性函數(shù)f(x)=w1x1+w2x2+…+wmxm+b=wxT+b最小化損失函數(shù)L(w,b)=如果把x看作多元線性回歸模型的輸入(注意,x是一個向量,包含m個元素),w看作各個輸入元素的權(quán)重(w也是一個向量,包含m個元素),b看作回歸模型的偏置值,那么多元線性回歸模型可以表示成如圖所示的結(jié)構(gòu),圖中的⊕表示多個元素的加法運算。例5-5
廣告收益預(yù)測。某公司為了推銷產(chǎn)品,在電視、網(wǎng)站和微信3種渠道內(nèi)進行廣告宣傳,不同渠道的廣告費以及對應(yīng)的產(chǎn)品銷量如表5-5所示。試建立多元線性回歸模型并分析誤差。表5-5
廣告收益表電視/萬元網(wǎng)站/萬元微信/萬元銷售量/萬個230.137.869.222.144.539.345.110.417.245.969.39.3151.541.358.518.5180.810.858.412.98.748.9757.257.532.823.511.8120.219.611.613.28.62.114.8199.82.621.210.6分析:將表5-5中的數(shù)據(jù)存放在advertising.csv文件中,其內(nèi)容如圖所示。然后使用Pandas庫(先用pipinstallpandas命令進行安裝)中用于讀取CSV文件的函數(shù)pd.read_csv(),從文件中讀取數(shù)據(jù)存放到DataFrame變量data中。將銷售量y表示為電視廣告費用x1、網(wǎng)站廣告費用x2、微信廣告費用x3的線性函數(shù),即y=f(x1,
x2,
x3)=w1x1+w2x3+w3x3+b,使用Scikit-learn的LinearRegression類構(gòu)建線性回歸分析模型。然后劃分訓(xùn)練集和測試集(70%訓(xùn)練,30%測試),選擇均方誤差進行分析。2.邏輯回歸邏輯回歸(LogisticRegression)又稱為邏輯斯蒂回歸,它主要用于解決二分類問題。其核心思想是通過一個單調(diào)可微的函數(shù)(如Sigmoid函數(shù))將線性回歸模型的預(yù)測結(jié)果映射到一個概率值上,從而實現(xiàn)對類別的劃分。(1)Sigmoid函數(shù)Sigmoid函數(shù)的定義為2.邏輯回歸該函數(shù)的圖形如圖5-13所示,它處處光滑、處處可導(dǎo),這便于數(shù)學(xué)處理。Sigmoid函數(shù)滿足以下概率性質(zhì):①
s
(0)=0.5。②
當z→-∞時,s
(z)→0。③
當z→+∞時,s
(z)→1。(2)邏輯回歸模型由于多元線性回歸函數(shù)f(x)=wxT+b的輸出范圍在(-∞,+∞)之間,所以使用Sigmoid函數(shù)可以將其映射到(0,1)之間,表示樣本屬于某一類別的概率。把f(x)=wxT+b代入Sigmoid函數(shù)的表達式,得到該式就是邏輯回歸模型的函數(shù)形式。根據(jù)Sigmoid函數(shù)的概率性質(zhì),邏輯回歸可以用來預(yù)測結(jié)果屬于0或1的二分類問題,所以,邏輯回歸模型的輸出概率表示為(3)邏輯回歸模型的實現(xiàn)在scikit-learn的linear_model模塊中,提供了LogisticRegression類,用于實現(xiàn)邏輯回歸模型。LogisticRegression類具有許多參數(shù),主要用于控制模型的行為和性能。①
penalty:用來指定正則化類型。②
C:正則化強度的倒數(shù),默認為1.0。較小的值表示更強的正則化。③
solver:優(yōu)化算法,常用的有l(wèi)iblinear、newton-cg、lbfgs、sag,
saga。默認為'lbfgs'。④
max_iter:控制優(yōu)化算法的最大迭代次數(shù),默認為100。例5-6
利用邏輯回歸模型對鳶尾花(Iris)數(shù)據(jù)集進行二分類,并可視化模型的決策邊界。分析:僅選擇萼片長度、萼片寬度兩個特征進行分類并可視化,將多分類問題轉(zhuǎn)換為0類和非0類的二分類問題;邏輯回歸對特征尺度敏感,利用StandardScaler函數(shù)進行標準化處理;在繪制決策邊界時,先生成網(wǎng)格坐標矩陣,再用訓(xùn)練好的模型預(yù)測每個網(wǎng)格點的類別,最后通過等高線填充圖(Contourf)展示分類區(qū)域。5.3.3
無監(jiān)督學(xué)習算法:聚類問題1.聚類的概念聚類(Clustering)就是將相似的事物放在一起。對大量未標注的數(shù)據(jù)集,按照某種特定的規(guī)則(如距離遠近)將數(shù)據(jù)集劃分成不同的簇(Cluster),使得類別內(nèi)的數(shù)據(jù)相似性盡可能大,而同類之間數(shù)據(jù)相似性盡可能小。5.3.3
無監(jiān)督學(xué)習算法:聚類問題2.相似性度量(1)歐式距離歐式距離(EuclideanDistance)是直角坐標系中最常用的距離計算方法。假設(shè)樣本x=(x1,x2,…,
xn),y=(y1,y2,…,
yn),歐式距離計算公式為2.相似性度量(2)曼哈頓距離曼哈頓距離(ManhattanDistance)又稱為城市街區(qū)距離,其公式為用于計算兩點在網(wǎng)格狀路徑(如城市街道)上的移動距離。例如,二維空間中點(3,4)和點(0,0)的距離為7。3.k均值聚類算法k均值聚類算法流程如下。(1)隨機選取k個樣本作為初始聚類中心。(2)計算數(shù)據(jù)集中一個樣本與選定中心的距離。(3)比較這個樣本與各聚類中心距離,將其歸于距離最小的聚類中心所屬聚類。(4)依次計算并分配數(shù)據(jù)集中每一個樣本,每個聚類中心和分配給它的樣本就構(gòu)成了一個簇(類)。(5)重新計算每個類別的聚類中心(簇中各樣本分量的平均值)。(6)重復(fù)(2)~(5),直到?jīng)]有聚類中心再發(fā)生變化為止。3.k均值聚類算法例5-7
假設(shè)有6個點:p1(1,3),p2(2,2),p3(2,1),p4(6,6),p5(7,8),p6(8,7),要聚成2類(k=2),寫出聚類的結(jié)果。4.k均值聚類算法的實現(xiàn)在Scikit-learn的聚類模塊sklearn.cluster中,KMeans類是用于實現(xiàn)k均值聚類算法的核心類,以下是其主要參數(shù)。①
n_clusters:指定要生成的簇數(shù)(k值),默認是8。n_clusters是必須指定的參數(shù)。②
init:初始化簇中心的方法。③
n_init:不同簇中心初始化的次數(shù),最終選擇最優(yōu)結(jié)果,默認為10。④max_iter:單次運行的最大迭代次數(shù),默認為300。⑤algorithm:選擇k-Means算法的底層實現(xiàn)方式,優(yōu)化計算效率。例5-8
用程序來實現(xiàn)例5-7。分析:先導(dǎo)入sklearn庫,再使用KMeans()函數(shù)創(chuàng)建KMeans對象,然后使用KMeans對象的fit()方法來擬合模型,使用KMeans對象的predict()方法來預(yù)測每個數(shù)據(jù)點的聚類標簽。KMeans對象的cluster_centers_屬性表示每個聚類的中心點。對于k均值聚類,每個聚類的中心點被定義為該聚類中所有數(shù)據(jù)點的平均值。因此,cluster_centers_是一個數(shù)組,其中每個元素都是一個聚類的中心點,形狀為(n_clusters,n_features),其中n_clusters是聚類的數(shù)量,n_features是數(shù)據(jù)的特征數(shù)量。5.3.4
應(yīng)用案例—二維數(shù)據(jù)集的聚類隨機生成二維數(shù)據(jù)集,其中包含100個樣本,代表二維平面上的100個點。每個樣本都有兩個特征,第一個數(shù)據(jù)表示這個點的橫坐標,第二個數(shù)據(jù)表示這個點的縱坐標,采用k均值算法進行聚類(k值取3)。5.4
強化學(xué)習5.4.1
強化學(xué)習原理強化學(xué)習由智能體(Agent)和環(huán)境(Environment)兩部分組成。智能體是強化學(xué)習的主體,負責接收來自環(huán)境的輸入并采取行動;環(huán)境是智能體所處的外部世界,它接收智能體的行動并返回一個新的狀態(tài)和獎勵給智能體。5.4.1
強化學(xué)習原理在強化學(xué)習過程中,智能體與環(huán)境一直在進行交互。智能體在環(huán)境中獲取某個狀態(tài)后,它會利用該狀態(tài)輸出一個動作,這個動作也稱為決策。然后這個動作會在環(huán)境中被執(zhí)行,環(huán)境會根據(jù)智能體所采取的動作,輸出下一個狀態(tài)以及當前這個動作帶來的獎勵。智能體的目的就是盡可能多地從環(huán)境中獲取獎勵。與監(jiān)督學(xué)習、無監(jiān)督學(xué)習相比,強化學(xué)習有以下5個特點。①
試錯學(xué)習。強化學(xué)習會試錯探索,它通過探索環(huán)境來獲取對環(huán)境的理解。②
延遲反饋。與監(jiān)督學(xué)習和無監(jiān)督學(xué)習不同,強化學(xué)習得到的反饋是延遲的。③
稀疏獎勵。在許多強化學(xué)習問題中,有效的獎勵信號是稀疏的,這意味著智能體需要在學(xué)習過程中探索大量的狀態(tài)空間才能獲得獎勵。與監(jiān)督學(xué)習、無監(jiān)督學(xué)習相比,強化學(xué)習有以下5個特點。④增量學(xué)習。強化學(xué)習是一種增量學(xué)習的方式,它允許智能體在不斷與環(huán)境交互的過程中逐步改善其策略。⑤適應(yīng)性。強化學(xué)習的目標是讓智能體能夠適應(yīng)不同的環(huán)境和任務(wù),通過自我學(xué)習和調(diào)整來提高自身的性能。5.4.2
Q學(xué)習算法Q學(xué)習算法的步驟如下。①
初始化Q值函數(shù):對于每個狀態(tài)-動作對(s,a),初始化其對應(yīng)的Q值為一個較小的隨機數(shù),或者直接初始化為0。②
選擇動作:從當前狀態(tài)s開始,利用Q矩陣選擇一個動作a,使a對應(yīng)的Q值最大。5.4.2
Q學(xué)習算法③
執(zhí)行動作和更新Q值:執(zhí)行選擇的動作a,觀察環(huán)境反饋的下一個狀態(tài)s'和獎勵r。然后,根據(jù)Q值的更新規(guī)則更新Q值函數(shù)為④轉(zhuǎn)移到下一個狀態(tài):將狀態(tài)更新為s',并進入下一次迭代。⑤重復(fù)第②~④步直到達到終止條件:如達到最大迭代次數(shù)或者Q值函數(shù)已經(jīng)收斂。⑥輸出最優(yōu)策略:根據(jù)學(xué)習到的Q值函數(shù),可以得到一個最優(yōu)策
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議參與人員選拔與邀請制度
- 公共交通服務(wù)質(zhì)量評估制度
- 養(yǎng)老院活動組織與安排制度
- 2026年清遠市第三中學(xué)招聘臨聘校醫(yī)的備考題庫及一套完整答案詳解
- 2026年洛陽鐵路備考題庫工程學(xué)校公開招聘工作人員備考題庫及一套完整答案詳解
- 2026年邵東市中醫(yī)醫(yī)院編外合同制專業(yè)技術(shù)人員招聘38人備考題庫及參考答案詳解1套
- 公共交通智能調(diào)度管理制度
- 安義縣工投商業(yè)管理有限公司2025年第四批招聘備考題庫帶答案詳解
- 商城賣貨類小程序開發(fā)TOP5:庫存管理+物流對接的專業(yè)廠商
- 企業(yè)調(diào)休制度
- 小區(qū)場地租賃合同協(xié)議
- 2026年山東力明科技職業(yè)學(xué)院單招綜合素質(zhì)筆試備考試題帶答案解析
- 2025年阿勒泰地區(qū)哈巴河縣保安員招聘考試題庫附答案解析
- 廣東省廣州市海珠區(qū)2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 地下消防水池設(shè)備安裝方案
- 雨課堂學(xué)堂在線學(xué)堂云《城市規(guī)劃理論與方法(江蘇師大 )》單元測試考核答案
- 高邊坡施工測量方案設(shè)計
- 裝修公司居間合同范本
- 2025年國家開放大學(xué)《生產(chǎn)與運作管理》期末考試復(fù)習題庫及答案解析
- 《鐵路電力線路運行與檢修》高職全套教學(xué)課件
- 2026屆重慶市德普外國語學(xué)校數(shù)學(xué)七年級第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
評論
0/150
提交評論