機器學(xué)習(xí)面試題_第1頁
機器學(xué)習(xí)面試題_第2頁
機器學(xué)習(xí)面試題_第3頁
機器學(xué)習(xí)面試題_第4頁
機器學(xué)習(xí)面試題_第5頁
已閱讀5頁,還剩170頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

機器學(xué)習(xí)面試題

請簡要介紹下SVM

SVM,全稱是supportvectormachine,中文名叫支持向量機。SVM是一個面

向數(shù)據(jù)的分類算法,它的目標(biāo)是為確定一個分類超平面,從而將不同的數(shù)據(jù)分隔

開。

請簡要介紹下tensorflow的計算圖

Tensorflow是一個通過計算圖的形式來表述計算的編程系統(tǒng),計算圖也叫數(shù)

據(jù)流圖,可以把計算圖看做是一種有向圖,Tensorflow中的每一個計算都是計算

圖上的一個節(jié)點,而節(jié)點之間的邊描述了計算之間的依賴關(guān)系。

Tensorflow的“計算圖”

□Tensorflow一般可分為2部分

A構(gòu)造部分,包含計算流圖

A執(zhí)行部分,通itsession來執(zhí)行圖中的計算

□構(gòu)建,圖

>創(chuàng)建源節(jié)A(sourceop)

>源節(jié)點輸出傳遹給其他節(jié)點(op)做運算

□TF默認(rèn)圖

>TensorFlowPython庫有—個默認(rèn)圖(defaultgraph)

>節(jié)點構(gòu)造器(op構(gòu)造器)可以增加節(jié)點

口深度學(xué)習(xí)班第3期40/54

在k-means或kNN,我們常用歐氏距離來計算最近的鄰居之間的距離,有

時也用曼哈頓距離,請對比下這兩種距離的差別。

歐氏距離,最常見的兩點之間或多點之間的距離表示法,又稱之為歐幾里得

度量,它定義于歐幾里得空間中,如點x=(xl,...,xn)和y=(yl,...,yn)之間的距離為:

.________________________________n

d(x,y):=y/(叫-次)2+(12-次產(chǎn)+…+Qn—%產(chǎn)=.£(與-仍產(chǎn)

\i=l

曼哈頓距離,我們可以定義曼哈頓距離的正式意義為L1-距離或城市區(qū)塊距

離,也就是在歐幾里得空間的固定直角坐標(biāo)系上兩點所形成的線段對軸產(chǎn)生的投

影的距離總和。例如在平面上,坐標(biāo)(xl,yl)的點P1與坐標(biāo)(x2,y2)的點P2

的曼哈頓距離為:"1-i2l+lyi一次I?,要注意的是,曼哈頓距離依賴座標(biāo)

系統(tǒng)的轉(zhuǎn)度,而非系統(tǒng)在座標(biāo)軸上的平移或映射。

通俗來講,想象你在曼哈頓要從一個十字路口開車到另外一個十字路口,駕

駛距離是兩點間的直線距離嗎?顯然不是,除非你能穿越大樓。而實際駕駛距離

就是這個“曼哈頓距離「這也是曼哈頓距離名稱的來源,同時,曼哈頓距離也稱

為城市街區(qū)距離(CityBlockdistance)。

把LR從頭到腳都給講一遍。建模,現(xiàn)場數(shù)學(xué)推導(dǎo),每種解法的原理,正則

化,LR和maxent模型啥關(guān)系,lr為啥比線性回歸好。有不少會背答案的人,

問邏輯細(xì)節(jié)就糊涂了。原理都會?那就問工程,并行化怎么做,有幾種并行化方

式,讀過哪些開源的實現(xiàn)。

2⑹=logL(^)

m

=£/log無砂))+(1-嚴(yán))log(l—肌①⑴))

1=1

葡⑹=(〃扁-(一)二焉西)卷匹)

=。舟—(1一妨二嬴j)貝嗎)(1-/*)扁嗎

=(?;(1-.9(^))-(1-〃)。(尹好)叼

=(y-he(xi)Xj

LogisticC7歸參數(shù)迭代公式:

%:=Oj+?僅⑴一加(”)))若)

overfitting怎么解決:

dropout、regularization、batchnormalization

LR和SVM的聯(lián)系與區(qū)別

聯(lián)系:

1、LR和SVM都可以處理分類問題,且一般都用于處理線性二分類問題(在

改進(jìn)的情況下可以處理多分類問題)

2、兩個方法都可以增加不同的正則化項,如11、12等等。所以在很多實驗

中,兩種算法的結(jié)果是很接近的。

區(qū)別:

1、LR是參數(shù)模型,SVM是非參數(shù)模型。

2、從目標(biāo)函數(shù)來看,區(qū)別在于邏輯回歸采用的是logisticalloss,SVM采用

的是hingeloss,這兩個損失函數(shù)的目的都是增加對分類影響較大的數(shù)據(jù)點的權(quán)

重,減少與分類關(guān)系較小的數(shù)據(jù)點的權(quán)重。

3、SVM的處理方法是只考慮supportvectors,也就是和分類最相關(guān)的少數(shù)

點,去學(xué)習(xí)分類器。而邏輯回歸通過非線性映射,大大減小了離分類平面較遠(yuǎn)的

點的權(quán)重,相對提升了與分類最相關(guān)的數(shù)據(jù)點的權(quán)重。

4、邏輯回歸相對來說模型更簡單,好理解,特別是大規(guī)模線性分類時比較

方便。而SVM的理解和優(yōu)化相對來說復(fù)雜一些,SVM轉(zhuǎn)化為對偶問題后,分類

只需要計算與少數(shù)幾個支持向量的距離,這個在進(jìn)行復(fù)雜核函數(shù)計算時優(yōu)勢很明

顯,能夠大大簡化模型和計算。

5、logic能做的svm能做,但可能在準(zhǔn)確率上有問題,svm能做的logic有

的做不了。

說說你知道的核函數(shù)

通常人們會從一些常用的核函數(shù)中選擇(根據(jù)問題和數(shù)據(jù)的不同,選擇不同

的參數(shù),實際上就是得到了不同的核函數(shù)),例如:

多項式核顯然剛才我們舉的例子是這里多項式核的一個特例(R=1,d=2)o

雖然比較麻煩,而且沒有必要,不過這個核所對應(yīng)的映射實際上是可以寫出來的,

該空間的維度是1d1,其中m是原始空間的維度。

片(叫心2)=exp(一)

高斯核\),這個核就是最開始提到過的會

將原始空間映射為無窮維空間的那個家伙。不過,如果。選得很大的話,高次特

征上的權(quán)重實際上衰減得非常快,所以實際上(數(shù)值上近似一下)相當(dāng)于一個低

維的子空間;反過來,如果。選得很小,則可以將任意的數(shù)據(jù)映射為線性可分一

-當(dāng)然,這并不一定是好事,因為隨之而來的可能是非常嚴(yán)重的過擬合問題。不

過,總的來說,通過調(diào)控參數(shù)。,高斯核實際上具有相當(dāng)高的靈活性,也是使用

最廣泛的核函數(shù)之一。下圖所示的例子便是把低維線性不可分的數(shù)據(jù)通過高斯核

函數(shù)映射到了高維空間:

ONegativeobjects(y=4)?Positiveobjects(y-+l)

線性核K(Sl,H2)=伊1尸2),這實際上就是原始空間中的內(nèi)積。這個核

存在的主要目的是使得“映射后空間中的問題”和“映射前空間中的問題”兩者在

形式上統(tǒng)一起來了(意思是說,咱們有的時候,寫代碼,或?qū)懝降臅r候,只要寫

個模板或通用表達(dá)式,然后再代入不同的核,便可以了,于此,便在形式上統(tǒng)一

了起來,不用再分別寫一個線性的,和一個非線性的)。

LR與線性回歸的區(qū)別與聯(lián)系

個人感覺邏輯回歸和線性回歸首先都是廣義的線性回歸,

其次經(jīng)典線性模型的優(yōu)化目標(biāo)函數(shù)是最小二乘,而邏輯回歸則是似然函數(shù),

另外線性回歸在整個實數(shù)域范圍內(nèi)進(jìn)行預(yù)測,敏感度一致,而分類范圍,需

要在[0,1]。邏輯回歸就是一種減小預(yù)測范圍,將預(yù)測值限定為[0,1]間的一種回歸

模型,因而對于這類問題來說,邏輯回歸的魯棒性比線性回歸的要好。

邏輯回歸的模型本質(zhì)上是一個線性回歸模型,邏輯回歸都是以線性回歸為理

論支持的。但線性回歸模型無法做到sigmoid的非線性形式,sigmoid可以輕松

處理0/1分類問題。

請問(決策樹、RandomForest、Booting、Adaboot)GBDT和XGBoost的

區(qū)別是什么?

關(guān)于決策樹,這里有篇《決策樹算法》。而隨機森林RandomForest是一個

包含多個決策樹的分類器。至于AdaBoost,則是英文"AdaptiveBoosting"(自適

應(yīng)增強)的縮寫,關(guān)于AdaBoost可以看下這篇文章《Adaboost算法的原理與推

導(dǎo)》。GBDT(GradientBoostingDecisionTree),即梯度上升決策樹算法,相當(dāng)

于融合決策樹和梯度上升boosting算法。

xgboost類似于gbdt的優(yōu)化版,不論是精度還是效率上都有了提升。與gbdt

相比,具體的優(yōu)點有:

1.損失函數(shù)是用泰勒展式二項逼近,而不是像gbdt里的就是一階導(dǎo)數(shù)

2.對樹的結(jié)構(gòu)進(jìn)行了正則化約束,防止模型過度復(fù)雜,降低了過擬合的可能

3.節(jié)點分裂的方式不同,gbdt是用的gini系數(shù),xgboost是經(jīng)過優(yōu)化推導(dǎo)后

為什么xgboost要用泰勒展開,優(yōu)勢在哪里?

Xgboost使用了一階和二階偏導(dǎo),二階導(dǎo)數(shù)有利于梯度下降的更快更準(zhǔn).使用

泰勒展開取得二階倒數(shù)形式,可以在不選定損失函數(shù)具體形式的情況下用于算法

優(yōu)化分析.本質(zhì)上也就把損失函數(shù)的選取和模型算法優(yōu)化/參數(shù)選擇分開了.這種

去耦合增加了Xgboost的適用性。

Xgboost如何尋找最優(yōu)特征?是又放回還是無放回的呢?

Xgboost在訓(xùn)練的過程中給出各個特征的評分,從而表明每個特征對模型訓(xùn)

練的重要性.Xgboost利用梯度優(yōu)化模型算法,樣本是不放回的(想象一個樣本連續(xù)

重復(fù)抽出才弟度來回踏步會不會高興).但Xgboost支持子采樣,也就是每輪計算可以

不使用全部樣本。

談?wù)勁袆e式模型和生成式模型?

判別方法:由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)Y=KX),或者由條件分布概率HYIX)

作為預(yù)測模型,即判別模型。

生成方法:由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率密度分布函數(shù)P(X,Y),然后求出條件概率

分布P(Y|X)作為預(yù)測的模型,即生成模型。

由生成模型可以得到判別模型,但由判別模型得不到生成模型。

常見的判別模型有:K近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、

線性回歸、傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)、邏輯斯蒂回歸、boosting.條件隨機場

常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文檔主

題生成模型(LDA)、限制玻爾茲曼機

L1和L2的區(qū)別

Ll范數(shù)(Llnorm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規(guī)

則算子”(Lassoregularization)o

比如向量A=[l,-1,3],那么A的L1范數(shù)為|1|+|-1|+|3|.

簡單總結(jié)一下就是:

L1范數(shù):為x向量各個元素絕對值之和。

L2范數(shù):為x向量各個元素平方和的1/2次方,L2范數(shù)又稱Euclidean范數(shù)

或者Frobenius范數(shù)

Lp范數(shù):為x向量各個元素絕對值p次方和的1/p次方.

在支持向量機學(xué)習(xí)過程中,L1范數(shù)實際是一種對于成本函數(shù)求解最優(yōu)的過

程,因此,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學(xué)習(xí)得到的結(jié)果

滿足稀疏化,從而方便人類提取特征。

L1范數(shù)可以使權(quán)值稀疏,方便特征提取。

L2范數(shù)可以防止過擬合,提升模型的泛化能力。

L1和L2正則先驗分別服從什么分布

面試中遇到的,L1和L2正則先驗分別服從什么分布,L1是拉普拉斯分布,

L2是局1斯分布。

CNN最成功的應(yīng)用是在CV,那為什么NLP和Speech的很多問題也可以

用CNN解出來?為什么AlphaGo里也用了CNN?這幾個不相關(guān)的問題的相似

性在哪里?CNN通過什么手段抓住了這個共性?

以上幾個不相關(guān)問題的相關(guān)性在于,都存在局部與整體的關(guān)系,由低層次的

特征經(jīng)過組合,組成高層次的特征,并且得至懷同特征之間的空間相關(guān)性。如下

圖:低層次的直線/曲線等特征,組合成為不同的形狀,最后得到汽車的表示。

"It'sdeepifithasmorethanonestageofnon-Unearfeaturetransformation

Low-LevelMid-Level^High-LevelTrainable

FeatureFeatureFeatureClassifier

CNN抓住此共性的手段主要有四個:局部連接/權(quán)值共享/池化操作/多

層次結(jié)構(gòu)。

局部連接使網(wǎng)絡(luò)可以提取數(shù)據(jù)的局部特征;權(quán)值共享大大降低了網(wǎng)絡(luò)的訓(xùn)練

難度,一個Filter只提取一個特征,在整個圖片(或者語音/文本)中進(jìn)行卷積;

池化操作與多層次結(jié)構(gòu)一起,實現(xiàn)了數(shù)據(jù)的降維,將低層次的局部特征組合成為

較高層次的特征,從而對整個圖片進(jìn)行表示。如下圖:

上圖中,如果每一個點的處理使用相同的Filter,則為全卷積,如果使用不

同的Filter,則為Local-Conv,

說一下Adaboost,權(quán)值更新公式。當(dāng)弱分類器是Gm時,每個樣本的的權(quán)

重是wl,w2...,請寫出最終的決策公式。

給定一個訓(xùn)練數(shù)據(jù)集1={仰加),儀2,丫2)...依2師,其中實例2:GX,而實

例空間矛rRn,yi屬于標(biāo)記集合,Adaboost的目的就是從訓(xùn)練數(shù)據(jù)中

學(xué)習(xí)一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個強分類器。

Adaboost的算法流程如下:

步驟1.首先,初始化訓(xùn)練數(shù)據(jù)的權(quán)值分布。每一個訓(xùn)練樣本最開始時都被賦

予相同的權(quán)值:1/N。

。1=6匕1/匕2一7匕一一,WIN1i=\2,…,N

N

步驟2.進(jìn)行多輪迭代,用m=l,2,…,M表示迭代的第多少輪

使用具有權(quán)值分布Dm的訓(xùn)練數(shù)據(jù)集學(xué)習(xí),得到基本分類器(選取讓誤差率

最低的閾值來設(shè)計基本分類器):

GM-{-L+1}

b.計算Gm(x)在訓(xùn)練數(shù)據(jù)集上的分類誤差率

N

■=尸(G洲&)工%)=Zi7"(G式xJw%)

z=l

由上述式子可知,Gm(x)在訓(xùn)練數(shù)據(jù)集上的誤差率em就是被Gm(x)誤分類

樣本的權(quán)值之和。

c.計算Gm(x)的系數(shù),am表示Gm(x)在最終分類器中的重要程度(目的:得

到基本分類器在最終分類器中所占的權(quán)重):

111—e

--

2%

由上述式子可知,em<=l/2時,am>=0,且am隨著em的減小而增大,意味

著分類誤差率越小的基本分類器在最終分類器中的作用越大。

d.更新訓(xùn)練數(shù)據(jù)集的權(quán)值分布(目的:得到樣本的新的權(quán)值分布),用于下

一輪迭代

=(“]中……,Wkwl

w.=^exp(-aQ&(Xj)I…,N

m

使得被基本分類器Gm(x)誤分類樣本的權(quán)值增大,而被正確分類樣本的權(quán)值

減小。就這樣,通過這樣的方式,AdaBoost方法能“重點關(guān)注”或“聚焦于”那些較

難分的樣本上。

其中,Zm是規(guī)范化因子,使得Dm+1成為一個概率分布:

N

Z—ZM'mexp(一日))

i=l

步驟3.組合各個弱分類器

M

/a)=z%q(x)

m=l

從而得到最終分類器,如下:

(M、

G(x)=sign(f(x))=signZ%G,”(x)

3=i)

LSTM結(jié)構(gòu)推導(dǎo),為什么比RNN好?

推導(dǎo)forgetgate,inputgate,cellstate,hiddeninformation等的變化;因為LSTM

有進(jìn)有出且當(dāng)前的cellinformaton是通過inputgate控制之后疊加的,RNN是疊

乘,因此LSTM可以防止梯度消失或者爆炸

請說說的你的理解,具體Google是怎么利用貝葉斯方法,實現(xiàn)“拼寫檢直”

的功能。

用戶輸入一個單詞時,可能拼寫正確,也可能拼寫錯誤。如果把拼寫正確的

情況記做C(代表correct),拼寫錯誤的情況記做w(代表wrong),那么拼寫

檢查”要做的事情就是:在發(fā)生w的情況下,試圖推斷出c。換言之:已知w,

然后在若干個備選方案中,找出可能性最大的那個c,也就是求P(d包)的最大值。

而根據(jù)貝葉斯定理,有:

P(c|w)=P(w|c)*P(c)/P(w)

由于對于所有備選的C來說,對應(yīng)的都是同一個W,所以它們的P(w)是相同

的,因此我們只要最大化

P(w|c)*P(c)

即可。其中:

P(c)表示某個正確的詞的出現(xiàn)概率”,它可以用瀕率”代替。如果我們有一

個足夠大的文本庫,那么這個文本庫中每個單詞的出現(xiàn)頻率,就相當(dāng)于它的發(fā)生

概率。某個詞的出現(xiàn)頻率越高,P(c)就越大。比如在你輸入一個錯誤的詞“Julw”

時,系統(tǒng)更傾向于去猜測你可能想輸入的詞是“July”,而不是“Jult”,因為“July”

更常見。

P(w|c)表示在試圖拼寫C的情況下,出現(xiàn)拼寫錯誤W的概率。為了簡化問題,

假定兩個單詞在字形上越接近,就有越可能拼錯,P(w|c)就越大。舉例來說,相

差一個字母的拼法,就比相差兩個字母的拼法,發(fā)生概率更高。你想拼寫單詞July,

那么錯誤拼成Julw(相差一個字母)的可能性,就比拼成Jullw高(相差兩個字

母)。值得一提的是,一般把這種問題稱為“編輯距離”,參見博客中的這篇文章。

所以,我們比較所有拼寫相近的詞在文本庫中的出現(xiàn)頻率,再從中挑出出現(xiàn)

頻率最高的一個,即是用戶最想輸入的那個詞。

為什么樸素貝葉斯如此“樸素”?

因為它假定所有的特征在數(shù)據(jù)集中的作用是同樣重要和獨立的。正如我們所

知,這個假設(shè)在現(xiàn)實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素二

請大致對比下plsa和LDA的區(qū)別

pLSA中,主題分布和詞分布確定后,以一定的概率(尸(跺14)、尸(叼除))

分別選取具體的主題和詞項,生成好文檔。而后根據(jù)生成好的文檔反推其主題分

布、詞分布時,最終用EM算法(極大似然估計思想)求解出了兩個未知但固定

的參數(shù)的值:弧八由尸㈣院)轉(zhuǎn)換而來)和%T由P3E)轉(zhuǎn)換而來)。

文檔d產(chǎn)生主題z的概率,主題z產(chǎn)生單詞w的概率都是兩個固定的值。

舉個文檔d產(chǎn)生主題z的例子。給定一篇文檔d,主題分布是一定的,比如

似詠)1=1,2,3}可能就是{0.4,050.1},表示21、z2、z3,這3個主題被文檔d選

中的概率都是個固定的值:P(zl|d)=0.4,P(z2|d)=0.5、P(z3|d)=0.1,如下圖所示(圖

截取自沈博PPT上):

生成模型:PLSA

的孩子

依然在路上

觸開翅膀飛向自由

讓雨水,他的迷惘

P(z\d)

flw

Kp(w\d)=^p(w\z)p(z\d)

但在貝葉斯框架下的LDA中,我們不再認(rèn)為主題分布(各個主題在文檔中

出現(xiàn)的概率分布)和詞分布(各個詞語在某個主題下出現(xiàn)的概率分布)是唯一確

定的(而是隨機變量),而是有很多種可能。但一篇文檔總得對應(yīng)一個主題分布

和一個詞分布吧,怎么辦呢?LDA為它們弄了兩個Dirichlet先驗參數(shù),這個

Dirichlet先驗為某篇文檔隨機抽取出某個主題分布和詞分布。

文檔d產(chǎn)生主題z(準(zhǔn)確的說,其實是Dirichlet先驗為文檔d生成主題分布

?,然后根據(jù)主題分布0產(chǎn)生主題z)的概率,主題z產(chǎn)生單詞w的概率都不再

是某兩個確定的值,而是隨機變量。

還是再次舉下文檔d具體產(chǎn)生主題z的例子。給定一篇文檔d,現(xiàn)在有多個

主題zl、z2、z3,它們的主題分布{P⑵|d),i=l,2,3}可能是{0.4,0.5,0.1},也可能是

(0.2,0.2,0.6),即這些主題被d選中的概率都不再認(rèn)為是確定的值,可能是

P(zl|d)=0.4xP(z2|d)=0.5、P(z3|d)=0.1,也有可能是P(zl|d)=0.2xP(z2|d)=0.2x

P(z3|d)=0.6等等,而主題分布到底是哪個取值集合我們不確定(為什么?這就是

貝葉斯派的核心思想,把未知參數(shù)當(dāng)作是隨機變量,不再認(rèn)為是某一個確定的值),

但其先驗分布是dirichlet分布,所以可以從無窮多個主題分布中按照dirichlet先

驗隨機抽取出某個主題分布出來。如下圖所示(圖截取自沈博PPT±):

換言之,LDA在pLSA的基礎(chǔ)上給這兩參數(shù)(尸(*&)、尸(叼除))加了兩

個先驗分布的參數(shù)(貝葉斯化):一個主題分布的先驗分布Dirichlet分布C,和

一個詞語分布的先驗分布Dirichlet分布

綜上,LDA真的只是pLSA的貝葉斯版本,文檔生成后,兩者都要根據(jù)文檔

去推斷其主題分布和詞語分布,只是用的參數(shù)推斷方法不同,在pLSA中用極大

似然估計的思想去推斷兩未知的固定參數(shù),而LDA則把這兩參數(shù)弄成隨機變量,

且加入dirichlet先驗。

請簡要說說EM算法

有時候因為樣本的產(chǎn)生和隱含變量有關(guān)(隱含變量是不能觀察的),而求模

型的參數(shù)時一般采用最大似然估計,由于含有了隱含變量,所以對似然函數(shù)參數(shù)

求導(dǎo)是求不出來的,這時可以采用EM算法來求模型的參數(shù)的(對應(yīng)模型參數(shù)個

數(shù)可能有多個),EM算法一般分為2步:

E步:選取一組參數(shù),求出在該參數(shù)下隱含變量的條件概率值;

M步:結(jié)合E步求出的隱含變量條件概率,求出似然函數(shù)下界函數(shù)(本質(zhì)

上是某個期望函數(shù))的最大值。

重復(fù)上面2步直至收斂。

公式如下所示:

(E-step)Foreachz,set

Qi(z⑴):=p(z(,忖)洌.

(M-step)Set

3'=踴m產(chǎn)££QKz⑴)—".篇”.

M步公式中下界函數(shù)的推導(dǎo)過程:

£iogp(i⑴;。)=£bg£p(/),zG);e)(1)

iiz⑴

=-bg.QG⑴)嗎需⑵

EM算法一個常見的例子就是GMM模型,每個樣本都有可能由k個高斯產(chǎn)

生,只不過由每個高斯產(chǎn)生的概率不同而已,因此每個樣本都有對應(yīng)的高斯分布

(k個中的某一個),此時的隱含變量就是每個樣本對應(yīng)的某個高斯分布。

GMM的E步公式如下(計算每個樣本對應(yīng)每個高斯的概率):

(E-step)Foreachi,j,set

wj":=p(z(t)=S)

更具體的計算公式為:

p(z⑴:小⑴;0,〃百)=乎昨(,)=力出、(/)=.)

⑴⑶2)=/;出£)p(z(D=/;0)

M步公式如下(計算每個高斯的比重,均值,方差這3個參數(shù)):

(M-step)Updatetheparameters:

1.

6=—Y'wj0,

m-i=lJ

_—叫⑴

y__£?wj0(工⑴一⑹(工⑶一一產(chǎn)

j=E隨*

KNN中的K如何選取的?

KNN中的K值選取對K近鄰算法的結(jié)果會產(chǎn)生重大影響。如李航博士的一

書I■統(tǒng)計學(xué)習(xí)方法」上所說:

如果選擇較小的K值,就相當(dāng)于用較小的領(lǐng)域中的訓(xùn)練實例進(jìn)行預(yù)測,“學(xué)

習(xí)”近似誤差會減小,只有與輸入實例較近或相似的訓(xùn)練實例才會對預(yù)測結(jié)果起

作用,與此同時帶來的問題是“學(xué)習(xí)”的估計誤差會增大,換句話說,K值的減小

就意味著整體模型變得復(fù)雜,容易發(fā)生過擬合;

如果選擇較大的K值,就相當(dāng)于用較大領(lǐng)域中的訓(xùn)練實例進(jìn)行預(yù)測,其優(yōu)

點是可以減少學(xué)習(xí)的估計誤差,但缺點是學(xué)習(xí)的近似誤差會增大。這時候,與輸

入實例較遠(yuǎn)(不相似的)訓(xùn)練實例也會對預(yù)測器作用,使預(yù)測發(fā)生錯誤,且K值

的增大就意味著整體的模型變得簡單。

K=N,則完全不足取,因為此時無論輸入實例是什么,都只是簡單的預(yù)測它

屬于在訓(xùn)練實例中最多的累,模型過于簡單,忽略了訓(xùn)練實例中大量有用信息。

在實際應(yīng)用中,K值一般取一個比較小的數(shù)值,例如采用交叉驗證法(簡單

來說,就是一部分樣本做訓(xùn)練集,一部分做測試集)來選擇最優(yōu)的K值。

防止過擬合的方法

過擬合的原因是算法的學(xué)習(xí)能力過強;一些假設(shè)條件(如樣本獨立同分布)

可能是不成立的;訓(xùn)練樣本過少不能對整個空間進(jìn)行分布估計。

處理方法:

早停止:如在訓(xùn)練中多次迭代后發(fā)現(xiàn)模型性能沒有顯著提高就停止訓(xùn)練

數(shù)據(jù)集擴增:原有數(shù)據(jù)增加、原有數(shù)據(jù)加隨機噪聲、重采樣

正則化

交叉驗證

特征選擇/特征降維

機器學(xué)習(xí)中,為何要經(jīng)常對數(shù)據(jù)做歸一化

機器學(xué)習(xí)模型被互聯(lián)網(wǎng)行業(yè)廣泛應(yīng)用,如排序、推薦、反作弊、定位等。一

般做機器學(xué)習(xí)應(yīng)用的時候大部分時間是花費在特征處理上,其中很關(guān)鍵的一步就

是對特征數(shù)據(jù)進(jìn)行歸一化,為什么要歸一化呢?很多同學(xué)并未搞清楚,維基百科

給出的解釋:1)歸一化后加快了梯度下降求最優(yōu)解的速度;2)歸一化有可能提

高精度。下面再簡單擴展解釋下這兩點。

1歸一化為什么能提高梯度下降法求解最優(yōu)解的速度?

如下圖所示,藍(lán)色的圈圈圖代表的是兩個特征的等高線。其中左圖兩個特征

XI和X2的區(qū)間相差非常大,XI區(qū)間是[0,2000],X2區(qū)間是[1,5],其所形成的

等高線非常尖。當(dāng)使用梯度下降法尋求最優(yōu)解時,很有可能走“之字型”路線(垂

直等高線走),從而導(dǎo)致需要迭代很多次才能收斂;

而右圖對兩個原始特征進(jìn)行了歸一化,其對應(yīng)的等高線顯得很圓,在梯度下

降進(jìn)行求解時能較快的收斂。

因此如果機器學(xué)習(xí)模型使用梯度下降法求最優(yōu)解時,歸一化往往非常有必要,

否則很難收斂甚至不能收斂。

2歸一化有可能提高精度

一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一

個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況

相悖(比如這時實際情況是值域范圍小的特征更重要)。

3歸一化的類型

1)線性歸一化

這種歸一化方法比較適用在數(shù)值比較集中的情況。這種方法有個缺陷,如果

max和min不穩(wěn)定,很容易使得歸一化結(jié)果不穩(wěn)定,使得后續(xù)使用效果也不穩(wěn)

定。實際使用中可以用經(jīng)驗常量值來替代max和min。

2)標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化

經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1,其轉(zhuǎn)化函數(shù)

為:

其中N為所有樣本數(shù)據(jù)的均值,。為所有樣本數(shù)據(jù)的標(biāo)準(zhǔn)差。

3)非線性歸一化

經(jīng)常用在數(shù)據(jù)分化比較大的場景,有些數(shù)值很大,有些很小。通過一些數(shù)學(xué)

函數(shù),將原始值進(jìn)行映射。該方法包括log、指數(shù),正切等。需要根據(jù)數(shù)據(jù)分布

的情況,決定非線性函數(shù)的曲線,比如log(V,2)還是log(V,10)等。

談?wù)勆疃葘W(xué)習(xí)中的歸一化問題

[主要內(nèi)容及結(jié)構(gòu)

主耍內(nèi)容:

?本次公開課通過兩篇文章與大家一起探討深度學(xué)

習(xí)模型中的歸一化問題。

結(jié)構(gòu):

1.深度模型的激活函數(shù)

2.激活函數(shù)導(dǎo)致的梯度消失

3.批量歸一化

4.自歸一化神經(jīng)網(wǎng)絡(luò)

匕力作筑蹌文公開■3/22JuhZacB

哪些機器學(xué)習(xí)算法不需要做歸一化處理?

概率模型不需要歸一化,因為它們不關(guān)心變量的值,而是關(guān)心變量的分布和

變量之間的條件概率,如決策樹、rf。而像adaboost、svm、lr、KNN、KMeans之

類的最優(yōu)化問題就需要歸一化。

我理解歸一化和標(biāo)準(zhǔn)化主要是為了使計算更方便比如兩個變量的量綱不同

可能一個的數(shù)值遠(yuǎn)大于另一個那么他們同時作為變量的時候可能會造成數(shù)值計

算的問題,比如說求矩陣的逆可能很不精確或者梯度下降法的收斂比較困難,還

有如果需要計算歐式距離的話可能量綱也需要調(diào)整所以我估計lr和knn保準(zhǔn)話

一下應(yīng)該有好處。至于其他的算法我也覺得如果變量量綱差距很大的話先標(biāo)準(zhǔn)化

一下會有好處。

一般我習(xí)慣說樹形模型,這里說的概率模型可能是差不多的意思。

對于樹形結(jié)構(gòu)為什么不需要歸一化?

答:數(shù)值縮放,不影響分裂點位置。因為第一步都是按照特征值進(jìn)行排序的,

排序的順序不變,那么所屬的分支以及分裂點就不會有不同。對于線性模型,比

如說LR,我有兩個特征,一個是(0,1)的,一個是(0,10000)的,這樣運用梯度下降

時候,損失等高線是一個橢圓的形狀,這樣我想迭代到最優(yōu)點,就需要很多次迭

代,但是如果進(jìn)行了歸一化,那么等高線就是圓形的,那么SGD就會往原點迭

代,需要的迭代次數(shù)較少。

另外,注意樹模型是不能進(jìn)行梯度下降的,因為樹模型是階躍的,階躍點是

不可導(dǎo)的,并且求導(dǎo)沒意義,所以樹模型(回歸樹)尋找最優(yōu)點事通過尋找最優(yōu)

分裂點完成的。

數(shù)據(jù)歸一化(或者標(biāo)準(zhǔn)化,注意歸一化和標(biāo)準(zhǔn)化不同)的原因

能不歸一化最好不歸一化,之所以進(jìn)行數(shù)據(jù)歸一化是因為各維度的量綱不相

同。而且需要看情況進(jìn)行歸一化。

有些模型在各維度進(jìn)行了不均勻的伸縮后,最優(yōu)解與原來不等價(如SVM)

需要歸一化。

有些模型伸縮有與原來等價,如:LR則不用歸一化,但是實際中往往通過

迭代求解模型參數(shù),如果目標(biāo)函數(shù)太扁(想象一下很扁的高斯模型)迭代算法會

發(fā)生不收斂的情況,所以最壞進(jìn)行數(shù)據(jù)歸一化。

補充:其實本質(zhì)是由于loss函數(shù)不同造成的,SVM用了歐拉距離,如果一

個特征很大就會把其他的維度dominated。而LR可以通過權(quán)重調(diào)整使得損失函

數(shù)不變。

請簡要說說一個完整機器學(xué)習(xí)項目的流程

1抽象成數(shù)學(xué)問題

明確問題是進(jìn)行機器學(xué)習(xí)的第一步。機器學(xué)習(xí)的力U練過程通常都是一件非常

耗時的事情,胡亂嘗試時間成本是非常高的。

這里的抽象成數(shù)學(xué)問題,指的我們明確我們可以獲得什么樣的數(shù)據(jù),目標(biāo)是

一個分類還是回歸或者是聚類的問題,如果都不是的話,如果劃歸為其中的某類

問題。

2獲取數(shù)據(jù)

數(shù)據(jù)決定了機器學(xué)習(xí)結(jié)果的上限,而算法只是盡可能逼近這個上限。

數(shù)據(jù)要有代表性,否則必然會過擬合。

而且對于分類問題,數(shù)據(jù)偏斜不能過于嚴(yán)重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)

個數(shù)量級的差距。

而且還要對數(shù)據(jù)的量級有一個評估,多少個樣本,多少個特征,可以估算出

其對內(nèi)存的消耗程度,判斷訓(xùn)練過程中內(nèi)存是否能夠放得下。如果放不下就得考

慮改進(jìn)算法或者使用一些降維的技巧了。如果數(shù)據(jù)量實在太大,那就要考慮分布

式了。

3特征預(yù)處理與特征選擇

良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力。

特征預(yù)處理、數(shù)據(jù)清洗是很關(guān)鍵的步驟,往往能夠使得算法的效果和性能得

到顯著提高。歸一化、離散化、因子化、缺失值處理、去除共線性等,數(shù)據(jù)挖掘

過程中很多時間就花在它們上面。這些工作簡單可復(fù)制,收益穩(wěn)定可預(yù)期,是機

器學(xué)習(xí)的基礎(chǔ)必備步驟。

篩選出顯著特征、摒棄非顯著特征,需要機器學(xué)習(xí)工程師反復(fù)理解業(yè)務(wù)。這

對很多結(jié)果有決定性的影響。特征選擇好了,非常簡單的算法也能得出良好、穩(wěn)

定的結(jié)果。這需要運用特征有效性分析的相關(guān)技術(shù),如相關(guān)系數(shù)、卡方檢驗、平

均互信息、條件燧、后驗概率、邏輯回歸權(quán)重等方法。

4訓(xùn)練模型與調(diào)優(yōu)

直到這一步才用到我們上面說的算法進(jìn)行訓(xùn)練。現(xiàn)在很多算法都能夠封裝成

黑盒供人使用。但是真正考驗水平的是調(diào)整這些算法的(超)參數(shù),使得結(jié)果變

得更加優(yōu)良。這需要我們對算法的原理有深入的理解。理解越深入,就越能發(fā)現(xiàn)

問題的癥結(jié),提出良好的調(diào)優(yōu)方案。

5模型診斷

如何確定模型調(diào)優(yōu)的方向與思路呢?這就需要對模型進(jìn)行診斷的技術(shù)。

過擬合、欠擬合判斷是模型診斷中至關(guān)重要的一步。常見的方法如交叉驗證,

繪制學(xué)習(xí)曲線等。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量,降低模型復(fù)雜度。欠擬

合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質(zhì)量,增加模型復(fù)雜度。

誤差分析也是機器學(xué)習(xí)至關(guān)重要的步驟。通過觀察誤差樣本,全面分析誤差

產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本

身的問題……

診斷后的模型需要進(jìn)行調(diào)優(yōu),調(diào)優(yōu)后的新模型需要重新進(jìn)行診斷,這是一個

反復(fù)迭代不斷逼近的過程,需要不斷地嘗試,進(jìn)而達(dá)到最優(yōu)狀態(tài)。

6模型融合

一般來說,模型融合后都能使得效果有一定提升。而且效果很好。

工程上,主要提升算法準(zhǔn)確度的方法是分別在模型的前端(特征清洗和預(yù)處

理,不同的采樣模式)與后端(模型融合)上下功夫。因為他們比較標(biāo)準(zhǔn)可復(fù)制,

效果比較穩(wěn)定。而直接調(diào)參的工作不會很多,畢竟大量數(shù)據(jù)訓(xùn)練起來太慢了,而

且效果難以保證。

7上線運行

這一部分內(nèi)容主要跟工程實現(xiàn)的相關(guān)性比較大。工程上是結(jié)果導(dǎo)向,模型在

線上運行的效果直接決定模型的成敗。不單純包括其準(zhǔn)確程度、誤差等情況,還

包括其運行的速度(時間復(fù)雜度)、資源消耗程度(空間復(fù)雜度)、穩(wěn)定性是否可

接受。

這些工作流程主要是工程實踐上總結(jié)出的一些經(jīng)驗。并不是每個項目都包含

完整的一個流程。這里的部分只是一個指導(dǎo)性的說明,只有大家自己多實踐,多

積累項目經(jīng)驗,才會有自己更深刻的認(rèn)識。

邏輯斯特回歸為什么要對特征進(jìn)行離散化

在工業(yè)界,很少直接將連續(xù)值作為邏輯回歸模型的特征輸入,而是將連續(xù)特

征離散化為一系列0、1特征交給邏輯回歸模型,這樣做的優(yōu)勢有以下幾點:

離散特征的增加和減少都很容易,易于模型的快速迭代;

稀疏向量內(nèi)積乘法運算速度快,計算結(jié)果方便存儲,容易擴展;

離散化后的特征對異常數(shù)據(jù)有很強的魯棒性:比如一個特征是年齡〉30是1,

否則0。如果特征沒有離散化,一個異常數(shù)據(jù)“年齡300歲”會給模型造成很大的

干擾;

邏輯回歸屬于廣義線性模型,表達(dá)能力受限;單變量離散化為N個后,每個

變量有單獨的權(quán)重,相當(dāng)于為模型引入了非線性,能夠提升模型表達(dá)能力,加大

擬合;

離散化后可以進(jìn)行特征交叉,由M+N個變量變?yōu)镸*N個變量,進(jìn)一步引

入非線性,提升表達(dá)能力;

特征離散化后,模型會更穩(wěn)定,比如如果對用戶年齡離散化,20-30作為一

個區(qū)間,不會因為一個用戶年齡長了一歲就變成一個完全不同的人。當(dāng)然處于區(qū)

間相鄰處的樣本會剛好相反,所以怎么劃分區(qū)間是門學(xué)問;

特征離散化以后,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的

風(fēng)險。

李沐曾經(jīng)說過:模型是使用離散特征還是連續(xù)特征,其實是一個“海量離散

特征+簡單模型”同“少量連續(xù)特征+復(fù)雜模型”的權(quán)衡。既可以離散化用線性模型,

也可以用連續(xù)特征加深度學(xué)習(xí)。就看是喜歡折騰特征還是折騰模型了。通常來說,

前者容易,而且可以n個人一起并行做,有成功經(jīng)驗;后者目前看很贊,能走多

遠(yuǎn)還須拭目以待。

new和malloc的區(qū)別

1.malloc與free是C++/C語言的標(biāo)準(zhǔn)庫函數(shù),new/delete是C++的運算符。

它們都可用于申請動態(tài)內(nèi)存和釋放內(nèi)存。

2.對于非內(nèi)部數(shù)據(jù)類型的對象而言,光用maloc/free無法滿足動態(tài)對象的要

求。對象在創(chuàng)建的同時要自動執(zhí)行構(gòu)造函數(shù),對象在消亡之前要自動執(zhí)行析構(gòu)函

數(shù)。由于malloc/free是庫函數(shù)而不是運算符,不在編譯器控制權(quán)限之內(nèi),不能夠

把執(zhí)行構(gòu)造函數(shù)和析構(gòu)函數(shù)的任務(wù)強加于malloc/freeo

3.因此C++語言需要一個能完成動態(tài)內(nèi)存分配和初始化工作的運算符new,

以一個能完成清理與釋放內(nèi)存工作的運算符delete。注意new/delete不是庫函數(shù)。

4.C++程序經(jīng)常要調(diào)用C函數(shù),而C程序只能用malloc/free管理動態(tài)內(nèi)存

hash沖突及解決辦法

關(guān)鍵字值不同的元素可能會映象到哈希表的同一地址上就會發(fā)生哈希沖突。

解決辦法:

1)開放定址法:當(dāng)沖突發(fā)生時,使用某種探查(亦稱探測)技術(shù)在散列表中形

成一個探查(測)序列。沿此序列逐個單元地查找,直到找到給定的關(guān)鍵字,或者

碰到一個開放的地址(即該地址單元為空)為止(若要插入,在探查到開放的地址,

則可將待插入的新結(jié)點存入該地址單元)。查找時探查到開放的地址則表明表中

無待查的關(guān)鍵字,即查找失敗。

2)再哈希法:同時構(gòu)造多個不同的哈希函數(shù)。

3)鏈地址法:將所有哈希地址為i的元素構(gòu)成一個稱為同義詞鏈的單鏈表,

并將單鏈表的頭指針存在哈希表的第i個單元中,因而杳找、插入和刪除主要在

同義詞鏈中進(jìn)行。鏈地址法適用于經(jīng)常進(jìn)行插入和刪除的情況。

4)建立公共溢出區(qū):將哈希表分為基本表和溢出表兩部分,凡是和基本表

發(fā)生沖突的元素,一律填入溢出表。

下列哪個不屬于CRF模型對于HMM和MEMM模型的優(yōu)勢(B)

A.特征靈活B.速度快C.可容納較多上下文信息D.全局最優(yōu)

首先,CRF,HMM(隱馬模型),MEMM(最大牖隱馬模型)都常用來做序列標(biāo)

注的建模.

隱馬模型一個最大的缺點就是由于其輸出獨立性假設(shè),導(dǎo)致其不能考慮上下

文的特征,限制了特征的選擇

最大嫡隱馬模型則解決了隱馬的問題,可以任意選擇特征,但由于其在每一

節(jié)點都要進(jìn)行歸一化,所以只能找到局部的最優(yōu)值,同時也帶來了標(biāo)記偏見的問

題,即凡是訓(xùn)練語料中未出現(xiàn)的情況全都忽略掉

條件隨機場則很好的解決了這一問題,他并不在每一個節(jié)點進(jìn)行歸一化,而

是所有特征進(jìn)行全局歸一化,因此可以求得全局的最優(yōu)值。

什么是墉

從名字上來看,精給人一種很玄乎,不知道是啥的感覺。其實,嫡的定義很

簡單,即用來表示隨機變量的不確定性。之所以給人玄乎的感覺,大概是因為為

何要取這樣的名字,以及怎么用。

精的概念最早起源于物理學(xué),用于度量一個熱力學(xué)系統(tǒng)的無序程度。在信息

論里面,睛是對不確定性的測量。

精的引入

事實上,嫡的英文原文為entropy,最初由德國物理學(xué)家魯?shù)婪?克勞修斯提

出,其表達(dá)式為:

△s=¥

它表示一個系系統(tǒng)在不受外部干擾時,其內(nèi)部最穩(wěn)定的狀態(tài)。后來一中國學(xué)

者翻譯entropy時,考慮到entropy是能量Q跟溫度T的商,且跟火有關(guān),便把

entropy形象的翻譯成“烯二

我們知道,任何粒子的常態(tài)都是隨機運動,也就是“無序運動",如果讓粒子

呈現(xiàn)“有序化",必須耗費能量。所以,溫度(熱能)可以被看作“有序化”的一種

度量,而"燧"可以看作是“無序化”的度量。

如果沒有外部能量輸入,封閉系統(tǒng)趨向越來越混亂(嫡越來越大)。比如,

如果房間無人打掃,不可能越來越干凈(有序化),只可能越來越亂(無序化)。

而要讓一個系統(tǒng)變得更有序,必須有外部能量的輸入。

1948年,香農(nóng)ClaudeE.Shannon引入信息(精),將其定義為離散隨機事件

的出現(xiàn)概率。一個系統(tǒng)越是有序,信息嫡就越低;反之,一個系統(tǒng)越是混亂,信

息燧就越高。所以說,信息牖可以被認(rèn)為是系統(tǒng)有序化程度的一個度量。

墉、聯(lián)合燧、條件煽、相對燧、互信息的定義

為了更好的理解,需要了解的概率必備知識有:

大寫字母X表示隨機變量小寫字母x表示隨機變量X的某個具體的取值;

P(X)表示隨機變量X的概率分布,P(X,Y)表示隨機變量X、Y的聯(lián)合概率分

布,P(Y|X)表示已知隨機變量X的情況下隨機變量Y的條件概率分布;

p(X=x)表示隨機變量X取某個具體值的概率,簡記為p(x);

p(X=x,Y=y)表示聯(lián)合概率,簡記為p(x,y),p(Y=y|X=x)表示條件概率,簡記

為p(y|x),且有:p(x,y)=p(x)*p(y|x).

燧:如果一個隨機變量X的可能取值為X={xl,x2,...,xk},其概率分布為

P(X=xi)=pi(i=l,2,...,n),則隨機變量X的嫡定義為:

H(X)=-匯p(x)log夕(x)

把最前面的負(fù)號放到最后,便成了:

上面兩個嫡的公式,無論用哪個都行,而且兩者等價,一個意思

聯(lián)合燃:兩個隨機變量X,Y的聯(lián)合分布,可以形成聯(lián)合嫡J(rèn)ointEntropy,

用H(X,Y)表示。

條件燧:在隨機變量X發(fā)生的前提下,隨機變量Y發(fā)生所新帶來的嫡定義

為Y的條件嫡,用H(Y|X)表示,用來衡量在已知隨機變量X的條件下隨機變量

Y的不確定性。

且有此式子成立:H(Y|X)=H(X,Y)-H(X),整個式子表示(X,Y)發(fā)生所包含的

嫡減去X單獨發(fā)生包含的嫡。至于怎么得來的請看推導(dǎo):

=-Z0(xj)logP(xJ)+Zp(x)logp(x)

X

/

=—ZMx/)l°gP(KJ')+2ZP(XJ)logp(k)

X7

=-Zp(x,y)logP(X,y)+2PEy)logp(x)

x,y

=-LX^v)logp(v|x)

X

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論