99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線(xiàn)電話(huà):13121318867

登錄
首頁(yè)精彩閱讀入門(mén) | 10個(gè)例子帶你了解機(jī)器學(xué)習(xí)中的線(xiàn)性代數(shù)
入門(mén) | 10個(gè)例子帶你了解機(jī)器學(xué)習(xí)中的線(xiàn)性代數(shù)
2018-05-03
收藏

入門(mén) | 10個(gè)例子帶你了解機(jī)器學(xué)習(xí)中的線(xiàn)性代數(shù)

本文介紹了 10 個(gè)常見(jiàn)機(jī)器學(xué)習(xí)案例,這些案例需要用線(xiàn)性代數(shù)才能得到最好的理解。

線(xiàn)性代數(shù)是數(shù)學(xué)的分支學(xué)科,涉及矢量、矩陣和線(xiàn)性變換。

它是機(jī)器學(xué)習(xí)的重要基礎(chǔ),從描述算法操作的符號(hào)到代碼中算法的實(shí)現(xiàn),都屬于該學(xué)科的研究范圍。

雖然線(xiàn)性代數(shù)是機(jī)器學(xué)習(xí)領(lǐng)域不可或缺的一部分,但二者的緊密關(guān)系往往無(wú)法解釋?zhuān)蛑荒苡贸橄蟾拍睿ㄈ缦蛄靠臻g或特定矩陣運(yùn)算)解釋。

閱讀這篇文章后,你將會(huì)了解到:

如何在處理數(shù)據(jù)時(shí)使用線(xiàn)性代數(shù)結(jié)構(gòu),如表格數(shù)據(jù)集和圖像。

數(shù)據(jù)準(zhǔn)備過(guò)程中用到的線(xiàn)性代數(shù)概念,例如 one-hot 編碼和降維

深度學(xué)習(xí)、自然語(yǔ)言處理和推薦系統(tǒng)等子領(lǐng)域中線(xiàn)性代數(shù)符號(hào)和方法的深入使用。

讓我們開(kāi)始吧。

這 10 個(gè)機(jī)器學(xué)習(xí)案例分別是:

1. Dataset and Data Files 數(shù)據(jù)集和數(shù)據(jù)文件

2. Images and Photographs 圖像和照片

3. One-Hot Encoding one-hot 編碼

4. Linear Regression 線(xiàn)性回歸

5. Regularization 正則化

6. Principal Component Analysis 主成分分析

7. Singular-Value Decomposition 奇異值分解

8. Latent Semantic Analysis 潛在語(yǔ)義分析

9. Recommender Systems 推薦系統(tǒng)

10. Deep Learning 深度學(xué)習(xí)

1. 數(shù)據(jù)集和數(shù)據(jù)文件

機(jī)器學(xué)習(xí)中,你可以在數(shù)據(jù)集上擬合一個(gè)模型。

這是表格式的一組數(shù)字,其中每行代表一組觀察值,每列代表觀測(cè)的一個(gè)特征。

例如,下面這組數(shù)據(jù)是鳶尾花數(shù)據(jù)集的一部分

數(shù)據(jù)集地址:http://archive.ics.uci.edu/ml/datasets/Iris

5.1,3.5,1.4,0.2,Iris-setosa

4.9,3.0,1.4,0.2,Iris-setosa

4.7,3.2,1.3,0.2,Iris-setosa

4.6,3.1,1.5,0.2,Iris-setosa

5.0,3.6,1.4,0.2,Iris-setosa

這些數(shù)據(jù)實(shí)際上是一個(gè)矩陣:線(xiàn)性代數(shù)中的一個(gè)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。

接下來(lái),將數(shù)據(jù)分解為輸入數(shù)據(jù)和輸出數(shù)據(jù),來(lái)擬合一個(gè)監(jiān)督機(jī)器學(xué)習(xí)模型(如測(cè)量值和花卉品種),得到矩陣(X)和矢量(y)。矢量是線(xiàn)性代數(shù)中的另一個(gè)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。

每行長(zhǎng)度相同,即每行的數(shù)據(jù)個(gè)數(shù)相同,因此我們可以說(shuō)數(shù)據(jù)是矢量化的。這些行數(shù)據(jù)可以一次性或成批地提供給模型,并且可以預(yù)先配置模型,以得到固定寬度的行數(shù)據(jù)。

2. 圖像和照片

也許你更習(xí)慣于在計(jì)算機(jī)視覺(jué)應(yīng)用中處理圖像或照片。

你使用的每個(gè)圖像本身都是一個(gè)固定寬度和高度的表格結(jié)構(gòu),每個(gè)單元格有用于表示黑白圖像的 1 個(gè)像素值或表示彩色圖像的 3 個(gè)像素值。

照片也是線(xiàn)性代數(shù)矩陣的一種。

與圖像相關(guān)的操作,如裁剪、縮放、剪切等,都是使用線(xiàn)性代數(shù)的符號(hào)和運(yùn)算來(lái)描述的。

3. one-hot 編碼

有時(shí)機(jī)器學(xué)習(xí)中要用到分類(lèi)數(shù)據(jù)。

可能是用于解決分類(lèi)問(wèn)題的類(lèi)別標(biāo)簽,也可能是分類(lèi)輸入變量。

對(duì)分類(lèi)變量進(jìn)行編碼以使它們更易于使用并通過(guò)某些技術(shù)進(jìn)行學(xué)習(xí)是很常見(jiàn)的。one-hot 編碼是一種常見(jiàn)的分類(lèi)變量編碼。

one-hot 編碼可以理解為:創(chuàng)建一個(gè)表格,用列表示每個(gè)類(lèi)別,用行表示數(shù)據(jù)集中每個(gè)例子。在列中為給定行的分類(lèi)值添加一個(gè)檢查或「1」值,并將「0」值添加到所有其他列。

例如,共計(jì) 3 行的顏色變量:

red

green

blue

...

這些變量可能被編碼為:

red, green, blue

1,0,0

0,1,0

0,0,1

...

每一行都被編碼為一個(gè)二進(jìn)制矢量,一個(gè)被賦予「0」或「1」值的矢量。這是一個(gè)稀疏表征的例子,線(xiàn)性代數(shù)的一個(gè)完整子域。

4. 線(xiàn)性回歸

線(xiàn)性回歸是一種用于描述變量之間關(guān)系的統(tǒng)計(jì)學(xué)傳統(tǒng)方法。

該方法通常在機(jī)器學(xué)習(xí)中用于預(yù)測(cè)較簡(jiǎn)單的回歸問(wèn)題的數(shù)值。

描述和解決線(xiàn)性回歸問(wèn)題有很多種方法,即找到一組系數(shù),用這些系數(shù)與每個(gè)輸入變量相乘并將結(jié)果相加,得出最佳的輸出變量預(yù)測(cè)。

如果您使用過(guò)機(jī)器學(xué)習(xí)工具或機(jī)器學(xué)習(xí)庫(kù),解決線(xiàn)性回歸問(wèn)題的最常用方法是通過(guò)最小二乘優(yōu)化,這一方法是使用線(xiàn)性回歸的矩陣分解方法解決的(例如 LU 分解或奇異值分解)。

即使是線(xiàn)性回歸方程的常用總結(jié)方法也使用線(xiàn)性代數(shù)符號(hào):

y = A . b

其中,y 是輸出變量,A 是數(shù)據(jù)集,b 是模型系數(shù)。

5. 正則化

在應(yīng)用機(jī)器學(xué)習(xí)時(shí),我們往往尋求最簡(jiǎn)單可行的模型來(lái)發(fā)揮解決問(wèn)題的最佳技能。

較簡(jiǎn)單的模型通常更擅長(zhǎng)從具體示例泛化到未見(jiàn)過(guò)的數(shù)據(jù)。

在涉及系數(shù)的許多方法中,例如回歸方法和人工神經(jīng)網(wǎng)絡(luò),較簡(jiǎn)單的模型通常具有較小的系數(shù)值。

一種常用于模型在數(shù)據(jù)擬合時(shí)盡量減小系數(shù)值的技術(shù)稱(chēng)為正則化,常見(jiàn)的實(shí)現(xiàn)包括正則化的 L2 和 L1 形式。

這兩種正則化形式實(shí)際上是系數(shù)矢量的大小或長(zhǎng)度的度量,是直接脫胎于名為矢量范數(shù)的線(xiàn)性代數(shù)方法。

6. 主成分分析

通常,數(shù)據(jù)集有許多列,列數(shù)可能達(dá)到數(shù)十、數(shù)百、數(shù)千或更多。

對(duì)具有許多特征的數(shù)據(jù)進(jìn)行建模具有一定的挑戰(zhàn)性。而且,從包含不相關(guān)特征的數(shù)據(jù)構(gòu)建的模型通常不如用最相關(guān)的數(shù)據(jù)訓(xùn)練的模型。

自動(dòng)減少數(shù)據(jù)集列數(shù)的方法稱(chēng)為降維,其中也許最流行的方法是主成分分析法(簡(jiǎn)稱(chēng) PCA)。

該方法在機(jī)器學(xué)習(xí)中,為可視化和模型創(chuàng)建高維數(shù)據(jù)的投影。

PCA 方法的核心是線(xiàn)性代數(shù)的矩陣分解方法,可能會(huì)用到特征分解,更廣義的實(shí)現(xiàn)可以使用奇異值分解(SVD)。

7. 奇異值分解

另一種流行的降維方法是奇異值分解方法,簡(jiǎn)稱(chēng) SVD。

如上所述,正如該方法名稱(chēng)所示,它是源自線(xiàn)性代數(shù)領(lǐng)域的矩陣分解方法。

該方法在線(xiàn)性代數(shù)中有廣泛的用途,可直接應(yīng)用于特征選擇、可視化、降噪等方面。

機(jī)器學(xué)習(xí)中我們會(huì)看到以下兩個(gè)使用 SVD 的情況。

8. 潛在語(yǔ)義分析

在用于處理文本數(shù)據(jù)的機(jī)器學(xué)習(xí)子領(lǐng)域(稱(chēng)為自然語(yǔ)言處理),通常將文檔表示為詞出現(xiàn)的大矩陣。

例如,矩陣的列可以是詞匯表中的已知詞,行可以是文本的句子、段落、頁(yè)面或文檔,矩陣中的單元格標(biāo)記為單詞出現(xiàn)的次數(shù)或頻率。

這是文本的稀疏矩陣表示。矩陣分解方法(如奇異值分解)可以應(yīng)用于此稀疏矩陣,該分解方法可以提煉出矩陣表示中相關(guān)性最強(qiáng)的部分。以這種方式處理的文檔比較容易用來(lái)比較、查詢(xún),并作為監(jiān)督機(jī)器學(xué)習(xí)模型的基礎(chǔ)。

這種形式的數(shù)據(jù)準(zhǔn)備稱(chēng)為潛在語(yǔ)義分析(簡(jiǎn)稱(chēng) LSA),也稱(chēng)為潛在語(yǔ)義索引(LSI)。

9. 推薦系統(tǒng)

涉及產(chǎn)品推薦的預(yù)測(cè)建模問(wèn)題被稱(chēng)為推薦系統(tǒng),這是機(jī)器學(xué)習(xí)的一個(gè)子領(lǐng)域。

例如,基于你在亞馬遜上的購(gòu)買(mǎi)記錄和與你類(lèi)似的客戶(hù)的購(gòu)買(mǎi)記錄向你推薦書(shū)籍,或根據(jù)你或與你相似的用戶(hù)在 Netflix 上的觀看歷史向你推薦電影或電視節(jié)目。

推薦系統(tǒng)的開(kāi)發(fā)主要涉及線(xiàn)性代數(shù)方法。一個(gè)簡(jiǎn)單的例子就是使用歐式距離或點(diǎn)積之類(lèi)的距離度量來(lái)計(jì)算稀疏顧客行為向量之間的相似度。

像奇異值分解這樣的矩陣分解方法在推薦系統(tǒng)中被廣泛使用,以提取項(xiàng)目和用戶(hù)數(shù)據(jù)的有用部分,以備查詢(xún)、檢索及比較。

10. 深度學(xué)習(xí)

人工神經(jīng)網(wǎng)絡(luò)是一種非線(xiàn)性機(jī)器學(xué)習(xí)算法,它受大腦中信息處理元素的啟發(fā),其有效性已經(jīng)在一系列問(wèn)題中得到驗(yàn)證,其中最重要的是預(yù)測(cè)建模。

深度學(xué)習(xí)是近期出現(xiàn)的、使用最新方法和更快硬件的人工神經(jīng)網(wǎng)絡(luò)的復(fù)興,這一方法使得在非常大的數(shù)據(jù)集上開(kāi)發(fā)和訓(xùn)練更大更深的(更多層)網(wǎng)絡(luò)成為可能。深度學(xué)習(xí)方法通常會(huì)在機(jī)器翻譯、照片字幕、語(yǔ)音識(shí)別等一系列具有挑戰(zhàn)性的領(lǐng)域取得最新成果。

神經(jīng)網(wǎng)絡(luò)的執(zhí)行涉及線(xiàn)性代數(shù)數(shù)據(jù)結(jié)構(gòu)的相乘和相加。如果擴(kuò)展到多個(gè)維度,深度學(xué)習(xí)方法可以處理向量、矩陣,甚至輸入和系數(shù)的張量,此處的張量是一個(gè)兩維以上的矩陣。

線(xiàn)性代數(shù)是描述深度學(xué)習(xí)方法的核心,它通過(guò)矩陣表示法來(lái)實(shí)現(xiàn)深度學(xué)習(xí)方法,例如 Google 的 TensorFlow Python 庫(kù),其名稱(chēng)中包含「tensor」一詞。


數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線(xiàn)
立即咨詢(xún)
客服在線(xiàn)
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }