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

熱線電話(huà):13121318867

登錄
首頁(yè)精彩閱讀機(jī)器學(xué)習(xí)中的線性代數(shù)
機(jī)器學(xué)習(xí)中的線性代數(shù)
2018-03-22
收藏

機(jī)器學(xué)習(xí)中的線性代數(shù)

線性代數(shù)作為數(shù)學(xué)中的一個(gè)重要的分支,廣發(fā)應(yīng)用在科學(xué)與工程中。掌握好線性代數(shù)對(duì)于理解和從事機(jī)器學(xué)習(xí)算法相關(guān)的工作是很有必要的,尤其是對(duì)于深度學(xué)習(xí)而言。因此,在開(kāi)始介紹深度學(xué)習(xí)之前,先集中探討一些必備的線性代數(shù)知識(shí)。

2.1 標(biāo)量,向量,矩陣和張量

標(biāo)量(scalar):一個(gè)標(biāo)量就是一個(gè)單獨(dú)的數(shù)。用斜體表示標(biāo)量,如s∈R

.

向量(vector):一個(gè)向量是一列數(shù),我們用粗體的小寫(xiě)名稱(chēng)表示向量。比如x

,將向量x

寫(xiě)成方括號(hào)包含的縱柱:

x=??????x1x2?xn??????


矩陣(matrix):矩陣是二維數(shù)組,我們通常賦予矩陣粗體大寫(xiě)變量名稱(chēng),比如A。如果一個(gè)矩陣高度是m,寬度是n,那么說(shuō)A∈Rm×n。一個(gè)矩陣可以表示如下:

A=[x11x21x12x22]


張量(tensor):某些情況下,我們會(huì)討論不止維坐標(biāo)的數(shù)組。如果一組數(shù)組中的元素分布在若干維坐標(biāo)的規(guī)則網(wǎng)絡(luò)中,就將其稱(chēng)為張量。用A表示,如張量中坐標(biāo)為(i,j,k)的元素記作Ai,j,k。

轉(zhuǎn)置(transpose):矩陣的轉(zhuǎn)置是以對(duì)角線為軸的鏡像,這條從左上角到右下角的對(duì)角線稱(chēng)為主對(duì)角線(main diagonal)。將矩陣A

的轉(zhuǎn)置表示為A?

。定義如下:

(A?)i,j=Aj,i


A=???x11x21x31x12x22x32????A?=[x11x21x21x22x31x32]

2.2 矩陣和向量相乘

矩陣乘法是矩陣運(yùn)算中最重要的操作之一。兩個(gè)矩陣A

和B的矩陣乘積(matrix product)是第三個(gè)矩陣C。矩陣乘法中A的列必須和B的行數(shù)相同。即如果矩陣A的形狀是m×n,矩陣B的形狀是n×p,那么矩陣C的形狀就是m×p

。即

C=A×B


具體的地,其中的乘法操作定義為

Ci,j=∑kAi,kBk,j


矩陣乘積服從分配律

A(B+C)=AB+AC


矩陣乘積也服從結(jié)合律

A(BC)=(AB)C


注意:矩陣乘積沒(méi)有交換律

點(diǎn)積(dot product)兩個(gè)相同維數(shù)的向量x

和y的點(diǎn)積可看作是矩陣乘積x?y

矩陣乘積的轉(zhuǎn)置

(AB)?=B?A?


利用向量的乘積是標(biāo)量,標(biāo)量的轉(zhuǎn)置是自身的事實(shí),我們可以證明(10)式:

x?y=(x?y)?=y?x


線性方程組

Ax=b

2.3 單位矩陣和逆矩陣

線性代數(shù)中提供了矩陣逆(matrix inverse)的工具,使得我們能夠解析地求解(11)中的A

.

單位矩陣(identity matrix):任意向量與單位矩陣相乘都不會(huì)改變。我們將保持n

維向量不變地單位矩陣記作為In,形式上In∈Rn×n

?x∈Rn,Inx=x


矩陣A的矩陣逆被記作A?1,被定義為如下形式:

A?1A=AA?1=In


(11)式方程組的求解:

Ax=bA?1Ax=A?1bInx=A?1bx=A?1b

方程組的解取決于能否找到一個(gè)逆矩陣A?1。接下來(lái)討論逆矩陣A?1的存在的條件。

2.4 線性相關(guān)和生成子空間

如果逆矩陣A?1

存在,那么(11)式肯定對(duì)于每一個(gè)向量b恰好存在一個(gè)解。分析方程有多少個(gè)解,我們可以看成是A

的列向量的線性組合(linear combination)。

Ax=∑ixiA:,i


形式上,某個(gè)集合中向量的線性組合,是指每個(gè)向量乘以對(duì)應(yīng)系數(shù)之后的和,即

∑iciv(i)


一組向量的生成空間(span)是原始向量線性組合后所能抵達(dá)的點(diǎn)的集合。

線性無(wú)關(guān)(linearly independent): 如果一組向量中的任意一個(gè)向量都不能表示成其他向量的線性組合,那么這組向量被稱(chēng)之為線性無(wú)關(guān)。

要想使矩陣可逆,首先必須矩陣是一個(gè)方陣(square),即m=n

,其次,所有的列向量都是線性無(wú)關(guān)的。

一個(gè)列向量線性相關(guān)的方陣被稱(chēng)為奇異的(singular)。

2.5 范數(shù)

有時(shí)候我們需要衡量一個(gè)向量的大小,在機(jī)器學(xué)習(xí)中,我們使用稱(chēng)為范數(shù)(norm)的函數(shù)來(lái)衡量矩陣大小,形式上,Lp

范數(shù)如下:

||x||p=(∑i|xi|p)12


其中p∈R,p≥1。

范數(shù)是將向量映射到非負(fù)值的函數(shù)。直觀上來(lái)說(shuō),向量x

的范數(shù)就是衡量從原點(diǎn)到x

的舉例。更嚴(yán)格來(lái)說(shuō),范數(shù)滿(mǎn)足下列性質(zhì)的函數(shù):

  • f(x)=0?x=0


  • f(x+y)≤f(x)+f(y)

  • ?α∈R,f(αx)=|α|f(x)

    當(dāng)p=2

    時(shí),L2被稱(chēng)作歐幾里得范數(shù)(Euclidean norm)。它表示從原點(diǎn)出發(fā)到向量x確定的點(diǎn)的歐幾里得距離。平方L2范數(shù)常被用來(lái)衡量向量的大小,因?yàn)樗阌谇髮?dǎo)計(jì)算(如對(duì)向量中每個(gè)元素的導(dǎo)數(shù)只取決于對(duì)應(yīng)的元素,但是它也有缺陷,即它在原點(diǎn)附近增長(zhǎng)得十分緩慢),可以簡(jiǎn)單用點(diǎn)積x?x

    來(lái)計(jì)算。

    max 范數(shù)(max norm):這個(gè)范數(shù)表示向量中具有最大幅度得元素的絕對(duì)值,用L∞

    范數(shù)表示,期形式為:

    ||x||∞=∑(i,j)A2i,j??????√

    兩個(gè)向量的點(diǎn)積(dot product)也可以用范數(shù)來(lái)表示。具體地,

    x?y=||x||2||y||2cosθ

    2.6 特殊類(lèi)型的矩陣和向量

    對(duì)角矩陣(diagonal matrix)只在主對(duì)角線上含有非零元素,其它位置都是零。矩陣D

    是對(duì)角矩陣,當(dāng)且僅當(dāng)?i≠j,Di,j=0,用diag(v)表示一個(gè)對(duì)角元素由向量v

    中元素給定的對(duì)角矩陣。

    對(duì)稱(chēng)(symmetric) 矩陣是任意轉(zhuǎn)置和自己相等的矩陣:

    A=A?

    即在矩陣A中,有Ai,j=Aj,i。

    單位向量(unit vector)是具有單位范數(shù)(unit norm)的向量:

    ||x||2=1

    如果x?y=0,那么向量x和向量y互相正交(orthogonal)。如果兩個(gè)向量都有非零范數(shù),那么表示這兩個(gè)向量之間的夾角是90 度。在Rn中,至多有n個(gè)范數(shù)非零向量互相正交。如果這些向量不僅互相正交,并且范數(shù)都為1,那么我們稱(chēng)它們是標(biāo)準(zhǔn)正交(orthonormal)。

    正交矩陣(orthonormal matrix)是指行向量是標(biāo)準(zhǔn)正交的,列向量是標(biāo)準(zhǔn)正交的方陣:

    A?A=AA?=I

    這意味著
    A?1=A?

    所以正交矩陣受到關(guān)注是因?yàn)榍竽嬗?jì)算代價(jià)小。需要注意正交矩陣的定義。反直覺(jué)地,正交矩陣的行向量不僅是正交的,還是標(biāo)準(zhǔn)正交的。對(duì)于行向量或列向量互相正交但不是標(biāo)準(zhǔn)正交的矩陣沒(méi)有對(duì)應(yīng)的專(zhuān)有術(shù)語(yǔ)。

    2.7 特征分解

    許多數(shù)學(xué)對(duì)象可以通過(guò)將它們分解成多個(gè)組成部分,或者找到它們的一些屬性而被更好地理解,這些屬性是通用的,而不是由我們選擇表示它們的方式引起的。就像我們可以通過(guò)分解質(zhì)因數(shù)來(lái)發(fā)現(xiàn)一些關(guān)于整數(shù)的真實(shí)性質(zhì),我們也可以通過(guò)分解矩陣來(lái)獲取一些矩陣表示成數(shù)組元素時(shí)不明顯的函數(shù)性質(zhì)。

    特征分解(eigendecomposition)是使用最廣的矩陣分解之一,即我們將矩陣分解成一組特征向量和特征值。

    方陣A

    特征向量(eigenvector)是指與A相乘后相當(dāng)于對(duì)該向量進(jìn)行縮放的非零向量v

    Av=λv

    標(biāo)量λ被稱(chēng)為這個(gè)特征向量對(duì)應(yīng)的特征值(eigenvalue)。

    如果v

    是A的特征向量,那么任何放縮后的向量sv(s∈R,s≠0)也是A

    特征向量并且其與\bf v 有相同的特征值。所以我們通常只考慮單位特征向量。

    假設(shè)矩陣A

    有n個(gè)線性無(wú)關(guān)的特征向量{v(1),v(2),...,v(n)},對(duì)應(yīng)著的特征值{λ1,λ2,...,λn}

    ,我們將特征向量連成一個(gè)矩陣,使得每一列是一個(gè)特征向量:

    V=[v(1),v(2),...,v(n)]

    類(lèi)似地,特征值連成一個(gè)向量:
    λ=[λ1,λ2,...,λn]?

    因此\bf A 的特征分解(eigendecomposition)可以記作:
    A=Vdiag(λ)V?1

    上面我們構(gòu)建具體特定的特征值和特征向量,能夠使我們?cè)谀繕?biāo)方向上延伸空間。我們也常常希望將矩陣分解(decompose)成特征值和特征向量。這樣可以幫助我們分析矩陣的特定性質(zhì),就像質(zhì)因數(shù)分解有助于我們理解整數(shù)。

    不是每一個(gè)矩陣都可以分解成特征值和特征向量,在某些情況下,特征分解會(huì)涉及到復(fù)數(shù),而非實(shí)數(shù)。在本書(shū)的機(jī)器學(xué)習(xí)學(xué)習(xí)中,我們只討論一類(lèi)簡(jiǎn)單分解的矩陣。具體就是,每個(gè)實(shí)對(duì)稱(chēng)矩陣都可以分解為實(shí)特征向量和實(shí)特征值:

    A=QΛQ?

    其中Q是A的特征向量組成的正交矩陣,Λ是對(duì)角矩陣。特征值Λi,i對(duì)應(yīng)的特征向量是矩陣Q的第i列,記作Q:,i。因?yàn)镼是正交矩陣,所以可以將A看作是沿方向v(i)延展λi倍的空間。如下圖所示:

    <a href='/map/tezheng/' style='color:#000;font-size:inherit;'>特征</a>值與<a href='/map/tezheng/' style='color:#000;font-size:inherit;'>特征</a>向量

    2.8 跡運(yùn)算

    跡運(yùn)算返回的是矩陣對(duì)角元素的和:

    Tr(A)=∑iAi,i

    跡運(yùn)算因?yàn)楹芏嘣蚨艿疥P(guān)注。若不使用求和符號(hào),有些矩陣運(yùn)算很難描述,而通過(guò)矩陣乘法和跡運(yùn)算符號(hào),可以進(jìn)行清楚地表示。例如,跡運(yùn)算提供了另一種描述矩陣Frobenius 范數(shù)的方式:
    ||A||F=Tr(AA?)????????√

    用跡運(yùn)算表示式,使我們可以用很多有用的性質(zhì)來(lái)操縱表示式。例如跡運(yùn)算在轉(zhuǎn)置下是不變的:
    Tr(A)=Tr(A?)

    多個(gè)矩陣乘積的跡還滿(mǎn)足鏈?zhǔn)揭?guī)律,即:
    Tr(ABC)=Tr(BCA)=Tr(CAB)

    標(biāo)量的跡是它本身:a=Tr(a)。

    2.9 行列式

    行列式,記作det(A)

    ,是一個(gè)將方陣A

    映射到實(shí)數(shù)的函數(shù)。行列式等于矩陣特征值的乘積。行列式的絕對(duì)值可以被認(rèn)為是衡量矩陣相乘后空間擴(kuò)大或者縮小了多少。如果行列式是0, 那么空間至少沿著某一維完全收縮了,使其失去了所有的體積。如果行列式是1, 那么矩陣相乘沒(méi)有改變空間體積。

    總結(jié)

    以上是在機(jī)器學(xué)習(xí)過(guò)程中必須了解和掌握的有關(guān)線性代數(shù)的知識(shí)


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

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

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

    OK
    客服在線
    立即咨詢(xú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); }