做網(wǎng)站可以申請國家補(bǔ)助嗎西安網(wǎng)站制作建設(shè)
目錄
1.1 決策樹的概念
1.2 KNN的概念
1.2.1KNN的基本原理
1.2.2 流程:
1.2.3 優(yōu)缺點(diǎn)
1.3 深度學(xué)習(xí)
1.4 梯度下降
損失函數(shù)
1.5 特征與特征選擇
特征選擇的目的
1.6 python中dot函數(shù)總結(jié)
一維數(shù)組的點(diǎn)積:
二維數(shù)組(矩陣)的乘法:
多維數(shù)組的乘法:
1.7? suffler? ?打亂
1.8 特征和標(biāo)簽
1.9 Python中? X.shape的含義及其使用
1.1 決策樹的概念
? ? ? ? 決策樹(decision tree)是一種基本的分類與回歸方法。決策樹模型呈樹形結(jié)構(gòu),在分類問題中,表示基于特征對實(shí)例進(jìn)行分類的過程。它可以認(rèn)為是if-then規(guī)則的集合,也可以認(rèn)為是定義在特征空間與類空間上的條件概率分布。
? ? ? ? 決策樹是一種描述對實(shí)例進(jìn)行分類的樹形結(jié)構(gòu),其中每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的判斷,每個(gè)分支代表一個(gè)判斷結(jié)果的輸出,最后每個(gè)葉節(jié)點(diǎn)代表一種分類結(jié)果,本質(zhì)是一顆由多個(gè)判斷節(jié)點(diǎn)組成的樹。分類決策樹模型是一種樹形結(jié)構(gòu)。 決策樹由結(jié)點(diǎn)和有向邊組成。結(jié)點(diǎn)有兩種類型:內(nèi)部結(jié)點(diǎn)和葉節(jié)點(diǎn)。內(nèi)部結(jié)點(diǎn)表示一個(gè)特征或?qū)傩?#xff0c;葉節(jié)點(diǎn)表示一個(gè)類。
1.2
1.2 KNN的概念
?K-NearestNeighbor簡稱KNN,中文名K最近鄰,其作用通俗來說就是將數(shù)據(jù)集合中每一個(gè)樣本進(jìn)行分類的方法,機(jī)器學(xué)習(xí)常用算法之一,屬于有監(jiān)督分類算法。
1.2.1KNN的基本原理
如果一個(gè)樣本在特征空間中的K個(gè)最相鄰的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別,并具有這個(gè)類別上樣本的特性。該方法在確定分類決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類別來決定待分樣本所屬的類別。? ?
簡單理解就是:? ?簡單來說就是設(shè)定k值,取樣本點(diǎn)范圍最近的k個(gè)點(diǎn),其中哪類數(shù)量最多則預(yù)測的點(diǎn)就為那一類
1.2.2 流程:
1) 計(jì)算已知類別數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離
2) 按距離遞增次序排序
3) 選取與當(dāng)前點(diǎn)距離最小的k個(gè)點(diǎn)
4) 統(tǒng)計(jì)前k個(gè)點(diǎn)所在的類別出現(xiàn)的頻率
5) 返回前k個(gè)點(diǎn)出現(xiàn)頻率最高的類別作為當(dāng)前點(diǎn)的預(yù)測分類
??1、K值的選定
????????通過交叉驗(yàn)證(將樣本數(shù)據(jù)按照一定比例,拆分出訓(xùn)練用的數(shù)據(jù)和驗(yàn)證用的數(shù)據(jù),比如6:4拆分出部分訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)),從選取一個(gè)較小的 K 值開始,不斷增加 K 的值,然后計(jì)算驗(yàn)證集合的方差,最終找到一個(gè)比較合適的 K 值。
1.2.3 優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1、簡單易用,對異常值不敏感
2、重新訓(xùn)練代價(jià)低
3、算法復(fù)雜度低
4、適合類域交叉樣本
5、適用大樣本自動(dòng)分類
特點(diǎn):非參數(shù)的,惰性的算法模型即:不會(huì)對數(shù)據(jù)做出任何假設(shè),而線性回歸總會(huì)假設(shè)一條直線,惰性的意思是沒有明確的訓(xùn)練數(shù)據(jù)過程,或者過程很短不像邏輯回歸需要先對數(shù)據(jù)進(jìn)行大量的訓(xùn)練
缺點(diǎn):
1、對內(nèi)存要求較高
2、類別分類不標(biāo)準(zhǔn)化
3、輸出可解釋性不強(qiáng)
4、不均衡性
5、計(jì)算量較大?
6、惰性學(xué)習(xí),預(yù)測階段可能會(huì)慢,對不相關(guān)的功能和數(shù)據(jù)規(guī)模敏感
?
1.3 深度學(xué)習(xí)
深度學(xué)習(xí)是在機(jī)器學(xué)習(xí)之后=要學(xué)習(xí)的課程,要知道深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)有關(guān)系,比如說那個(gè)下棋的機(jī)器人就用到了神經(jīng)網(wǎng)絡(luò)。
- 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支(最重要的分支)
- 機(jī)器學(xué)習(xí)是人工智能的一個(gè)分支
深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究,但是并不完全等于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)。
不過在叫法上,很多深度學(xué)習(xí)算法中都會(huì)包含"神經(jīng)網(wǎng)絡(luò)"這個(gè)詞,比如:卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)。
所以,深度學(xué)習(xí)可以說是在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上的升級,約等于神經(jīng)網(wǎng)絡(luò)。
1.4 梯度下降
在生活中,我們可以通過一個(gè)簡單的例子來說明梯度下降的概念。
假設(shè)你是一位學(xué)生,每天早上需要趕去上學(xué)。你發(fā)現(xiàn)離學(xué)校的距離與你起床的時(shí)間之間存在著某種關(guān)系。你想找到一個(gè)起床時(shí)間,使得你花費(fèi)的時(shí)間最短,也就是找到最優(yōu)的起床時(shí)間。
你開始進(jìn)行實(shí)驗(yàn),每天記錄自己起床的時(shí)間和到達(dá)學(xué)校所需的時(shí)間。你建立了一個(gè)簡單的模型,假設(shè)到達(dá)學(xué)校的時(shí)間與起床時(shí)間之間存在線性關(guān)系,即到達(dá)學(xué)校的時(shí)間等于起床時(shí)間乘以一個(gè)參數(shù)k,再加上一個(gè)常數(shù)b,即到達(dá)學(xué)校的時(shí)間等于k * 起床時(shí)間 + b。
現(xiàn)在的問題是,如何通過梯度下降算法來找到最優(yōu)的起床時(shí)間,使得到達(dá)學(xué)校的時(shí)間最短。
首先,你需要收集一些數(shù)據(jù),包括起床時(shí)間和到達(dá)學(xué)校的時(shí)間。假設(shè)你收集了一周的數(shù)據(jù)。
然后,你需要定義一個(gè)損失函數(shù),用于衡量到達(dá)學(xué)校時(shí)間與實(shí)際記錄之間的差距??梢赃x擇均方誤差作為損失函數(shù),即將每天的差距平方后求和再除以天數(shù)。
接下來,你隨機(jī)初始化起床時(shí)間參數(shù)k和常數(shù)b的值。
然后,通過梯度下降算法進(jìn)行迭代更新。根據(jù)梯度下降算法的原理,你需要計(jì)算損失函數(shù)對于起床時(shí)間參數(shù)k和常數(shù)b的偏導(dǎo)數(shù),并根據(jù)學(xué)習(xí)率進(jìn)行參數(shù)的更新。
在每次迭代中,你將根據(jù)實(shí)際數(shù)據(jù)計(jì)算損失函數(shù),并通過梯度下降算法不斷調(diào)整起床時(shí)間的參數(shù)k和常數(shù)b,使得損失函數(shù)逐漸減小,直到收斂到一個(gè)最優(yōu)解。
最后,當(dāng)損失函數(shù)收斂到一個(gè)較小的值時(shí),你就找到了最優(yōu)的起床時(shí)間,使得到達(dá)學(xué)校的時(shí)間最短。
通過這個(gè)例子,你可以理解梯度下降算法在尋找最優(yōu)解的過程中的應(yīng)用。在生活中,我們可以通過這種迭代、優(yōu)化的方式來改進(jìn)自己的決策和行為,以獲得更好的結(jié)果。
損失函數(shù)
在機(jī)器學(xué)習(xí)和優(yōu)化問題中,損失函數(shù)(Loss Function)是用來衡量模型預(yù)測值與真實(shí)值之間的差距或誤差的函數(shù)。它是模型訓(xùn)練中的關(guān)鍵組成部分,用于評估模型的性能并指導(dǎo)參數(shù)的優(yōu)化。
1.5 特征與特征選擇
在機(jī)器學(xué)習(xí)中,將屬性稱為“特征(Feature)”,對當(dāng)前學(xué)習(xí)任務(wù)有用的屬性稱為“相關(guān)特征(Relevant Feature)”,沒有什么用的屬性稱為“無關(guān)特征(Irrelevant Feature)”。從給定的特征集合中選擇出相關(guān)特征子集的過程,稱為“特征選擇(Feature Selection)”
特征選擇是一個(gè)重要的數(shù)據(jù)預(yù)處理過程。在現(xiàn)在的機(jī)器學(xué)習(xí)中,獲得數(shù)據(jù)之后通常先進(jìn)行特征選擇,此后再訓(xùn)練學(xué)習(xí)器。
特征選擇過程必須確保不丟失重要特征,否則后續(xù)學(xué)習(xí)過程會(huì)因?yàn)橹匾畔⒌娜笔Ф鵁o法獲得好的性能。給定數(shù)據(jù)集,若學(xué)習(xí)任務(wù)不同,則相關(guān)特征很可能不同。
另外,有一類特征稱為“冗余特征(Redundant Feature)”,它們所包含的信息能從其它特征中推演出來。那么,去除冗余特征會(huì)減輕學(xué)習(xí)過程的負(fù)擔(dān)。
特征選擇的目的
在機(jī)器學(xué)習(xí)的實(shí)際應(yīng)用中,特征數(shù)量往往較多,其中可能存在不相關(guān)的特征,特征之間也可能存在相互依賴,容易導(dǎo)致如下的后果:
特征個(gè)數(shù)越多,分析特征、訓(xùn)練模型所需的時(shí)間就越長。
特征個(gè)數(shù)越多,容易引起“維度災(zāi)難”,模型也會(huì)越復(fù)雜,其推廣能力會(huì)下降。
特征選擇能剔除不相關(guān)(irrelevant)或冗余(redundant )的特征,從而達(dá)到減少特征個(gè)數(shù),提高模型精確度,減少運(yùn)行時(shí)間的目的。另一方面,選取出真正相關(guān)的特征簡化了模型,使研究人員易于理解數(shù)據(jù)產(chǎn)生的過程。
特征選擇主要有兩個(gè)目的:
減少特征數(shù)量、降維,避免維度災(zāi)難,這樣能使模型泛化能力更強(qiáng),減少過擬合,縮短模型訓(xùn)練時(shí)間。
增強(qiáng)對特征和特征值之間的理解
兩個(gè)特征的時(shí)候還有圖像,三個(gè)特征的時(shí)候就沒有圖像了,是一個(gè)面,四個(gè)特征得靠推導(dǎo)
降維就是降特征
1.6 python中dot函數(shù)總結(jié)
在NumPy中,dot
函數(shù)用于計(jì)算兩個(gè)數(shù)組的點(diǎn)積(內(nèi)積)或矩陣乘法。dot
函數(shù)的用法有一些細(xì)微的差別,取決于輸入的數(shù)組是一維數(shù)組、二維數(shù)組(矩陣)還是多維數(shù)組。
一維數(shù)組的點(diǎn)積:
在這個(gè)例子中,dot
函數(shù)計(jì)算了兩個(gè)一維數(shù)組a和b的點(diǎn)積,即14 + 25 + 3*6 = 32。
二維數(shù)組(矩陣)的乘法:
在這個(gè)例子中,dot
函數(shù)計(jì)算了兩個(gè)二維數(shù)組(矩陣)A和B的矩陣乘法
多維數(shù)組的乘法:
-
在這個(gè)例子中,
dot
函數(shù)計(jì)算了兩個(gè)三維數(shù)組的乘法。
需要注意的是,dot
函數(shù)在進(jìn)行矩陣乘法時(shí),要求第一個(gè)數(shù)組的列數(shù)與第二個(gè)數(shù)組的行數(shù)相等
1.7? suffler? ?打亂
在機(jī)器學(xué)習(xí)中,"shuffle"(洗牌)通常指的是隨機(jī)打亂數(shù)據(jù)集中的樣本順序。這個(gè)操作在數(shù)據(jù)預(yù)處理階段非常常見,特別是在訓(xùn)練模型之前。通過打亂數(shù)據(jù)集中的樣本順序,可以避免模型對樣本的順序產(chǎn)生依賴,從而更好地訓(xùn)練和泛化模型。
以下是為什么在機(jī)器學(xué)習(xí)中執(zhí)行數(shù)據(jù)集洗牌的一些原因:
-
避免順序偏差:如果數(shù)據(jù)集中的樣本按照某種特定順序排列,模型可能會(huì)因?yàn)閷W(xué)習(xí)到數(shù)據(jù)順序中的規(guī)律,而不是真正的數(shù)據(jù)關(guān)系。通過洗牌,可以消除這種順序偏差,確保模型不會(huì)因?yàn)閿?shù)據(jù)的排列方式而受到影響。
-
提高泛化性能:如果模型在沒有見過的數(shù)據(jù)上表現(xiàn)良好,稱為具有良好的泛化性能。通過在訓(xùn)練過程中使用洗牌數(shù)據(jù),模型可以學(xué)習(xí)到更廣泛的數(shù)據(jù)分布,從而更有可能在未見過的數(shù)據(jù)上表現(xiàn)良好。
-
減少過擬合:過擬合是指模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)得很好,但在新數(shù)據(jù)上表現(xiàn)不佳。通過在訓(xùn)練數(shù)據(jù)上引入隨機(jī)性,洗牌可以幫助減少模型對特定樣本的過度學(xué)習(xí),從而減輕過擬合問題。
在 Python 中,你可以使用不同的庫來實(shí)現(xiàn)數(shù)據(jù)集的洗牌,例如在 sklearn.utils
模塊中的 shuffle
函數(shù),或者直接使用 NumPy 庫的隨機(jī)抽樣函數(shù)。下面是一個(gè)使用 sklearn.utils.shuffle
的示例:
這里,X
是特征矩陣,y
是標(biāo)簽向量。通過調(diào)用 shuffle
函數(shù),你可以隨機(jī)打亂特征矩陣和標(biāo)簽向量的對應(yīng)關(guān)系,確保它們的順序是隨機(jī)的。
1.8 特征和標(biāo)簽
在機(jī)器學(xué)習(xí)中,特征(Features)和標(biāo)簽(Labels)是用于訓(xùn)練和評估模型的兩個(gè)關(guān)鍵概念。它們通常用于監(jiān)督學(xué)習(xí)任務(wù),如分類和回歸。
1.特征(Features):
特征是指用來描述每個(gè)樣本的屬性或輸入變量。在一個(gè)機(jī)器學(xué)習(xí)問題中,一個(gè)樣本可以由多個(gè)特征組成。特征可以是任何能夠表示樣本屬性的數(shù)據(jù),例如數(shù)字、文本、圖像等。在訓(xùn)練模型時(shí),模型會(huì)根據(jù)特征的不同值來學(xué)習(xí)樣本之間的模式和關(guān)系。
舉例來說,考慮一個(gè)房價(jià)預(yù)測的問題。每個(gè)房子可以有多個(gè)特征,如房子的面積、臥室數(shù)量、浴室數(shù)量、地理位置等。在這種情況下,特征就是用來描述房子的各種屬性。
2.標(biāo)簽(Labels):
標(biāo)簽是指機(jī)器學(xué)習(xí)問題中的目標(biāo)變量或輸出變量,它表示我們希望模型預(yù)測或分類的內(nèi)容。標(biāo)簽通常是我們要預(yù)測的值或類別。在監(jiān)督學(xué)習(xí)中,我們?yōu)槊總€(gè)樣本提供相應(yīng)的標(biāo)簽,以便模型可以通過學(xué)習(xí)特征和標(biāo)簽之間的關(guān)系來進(jìn)行預(yù)測。
沿著房價(jià)預(yù)測的例子,標(biāo)簽就是房子的實(shí)際銷售價(jià)格。我們的目標(biāo)是通過給定的特征(如面積、臥室數(shù)量等)來預(yù)測房價(jià)。
在訓(xùn)練模型時(shí),我們將一組包含特征和相應(yīng)標(biāo)簽的數(shù)據(jù)樣本輸入給模型。模型使用這些樣本來學(xué)習(xí)特征和標(biāo)簽之間的關(guān)系,從而能夠在未見過的樣本上進(jìn)行預(yù)測或分類。通常,我們會(huì)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,用訓(xùn)練集來訓(xùn)練模型,用測試集來評估模型的性能。
總結(jié)起來,特征是用來描述每個(gè)樣本屬性的數(shù)據(jù),標(biāo)簽是我們要預(yù)測或分類的目標(biāo)變量。在監(jiān)督學(xué)習(xí)中,我們希望模型能夠從特征學(xué)習(xí)到如何準(zhǔn)確地預(yù)測或分類標(biāo)簽。
1.9 Python中? X.shape的含義及其使用
在 Python 中,.shape
是一個(gè)用于獲取數(shù)組或矩陣維度信息的屬性。它通常用于 NumPy 數(shù)組、Pandas 數(shù)據(jù)框等多維數(shù)據(jù)結(jié)構(gòu)。
例如,假設(shè)你有一個(gè) NumPy 數(shù)組 X
,它表示一個(gè)數(shù)據(jù)集,你可以使用 X.shape
來獲取該數(shù)據(jù)集的維度信息。返回的結(jié)果將是一個(gè)元組,其中包含了數(shù)組在各個(gè)維度上的大小。
在這個(gè)例子中,X
是一個(gè)2行3列的數(shù)組,所以 X.shape
返回的是 (2, 3)
,分別表示行數(shù)和列數(shù)。
同樣,對于多維數(shù)組,比如一個(gè)三維的數(shù)組,.shape
會(huì)返回一個(gè)包含三個(gè)維度大小的元組,如 (2, 3, 4)
,表示一個(gè)2x3x4的三維數(shù)組。
怎樣去取它的一個(gè)維度呢?