漫談概率 PCA 和變分自編碼器

姓名:劉成龍 ?學(xué)號:16020199016

轉(zhuǎn)載自:https://www.jiqizhixin.com/articles/2018-08-16-7,有刪節(jié)。

【嵌牛導(dǎo)讀】:漫談概率 PCA 和變分自編碼器

【嵌牛鼻子】:概率 PCA? ?變分自編碼器

【嵌牛提問】:關(guān)于概率 PCA 和變分自編碼器烙荷,你了解多少?

【嵌牛正文】:

介紹

主成分分析(PCA)和自編碼器(AutoEncoders, AE)是無監(jiān)督學(xué)習(xí)中的兩種代表性方法。

PCA 的地位不必多說式撼,只要是講到降維的書,一定會把 PCA 放到最前面求厕,它與 LDA 同為機(jī)器學(xué)習(xí)中最基礎(chǔ)的線性降維算法著隆,SVM/Logistic Regression扰楼、PCA/LDA 也是最常被拿來作比較的兩組算法。

自編碼器雖然不像 PCA 那般在教科書上隨處可見美浦,但是在早期被拿來做深度網(wǎng)絡(luò)的逐層預(yù)訓(xùn)練弦赖,其地位可見一斑。盡管在 ReLU浦辨、Dropout 等神器出現(xiàn)之后蹬竖,人們不再使用 AutoEncoders 來預(yù)訓(xùn)練,但它延伸出的稀疏 AutoEncoders流酬,降噪 AutoEncoders 等仍然被廣泛用于表示學(xué)習(xí)币厕。2017 年 Kaggle 比賽?Porto Seguro’s Safe Driver Prediction?的冠軍就是使用了降噪 AutoEncoders 來做表示學(xué)習(xí),最終以絕對優(yōu)勢擊敗了手工特征工程的選手們芽腾。

PCA 和 AutoEncoders 都是非概率的方法旦装,它們分別有一種對應(yīng)的概率形式叫做概率 PCA (Probabilistic PCA) 和變分自編碼器(Variational AE, VAE),本文的主要目的就是整理一下 PCA晦嵌、概率 PCA同辣、AutoEncoders、變分 AutoEncoders 這四者的關(guān)系惭载。?

先放結(jié)論旱函,后面就圍繞這個表格展開:

降維的線性方法和非線性方法

降維分為線性降維和非線性降維,這是最普遍的分類方法描滔。

PCA 和 LDA 是最常見的線性降維方法棒妨,它們按照某種準(zhǔn)則為數(shù)據(jù)

找到一個最優(yōu)投影方向 W 和截距 b,然后做變換

得到降維后的數(shù)據(jù)集

含长。因?yàn)?/p>

是一個線性變換(嚴(yán)格來說叫仿射變換券腔,因?yàn)橛薪鼐囗?xiàng)),所以這兩種方法叫做線性降維拘泞。

非線性降維的兩類代表方法是流形降維和 AutoEncoders纷纫,這兩類方法也體現(xiàn)出了兩種不同角度的“非線性”。流形方法的非線性體現(xiàn)在它認(rèn)為數(shù)據(jù)分布在一個低維流形上陪腌,而流形本身就是非線性的辱魁,流形降維的代表方法是兩篇 2000 年的 Science 論文提出的:多維放縮(multidimensional scaling, MDS)和局部線性嵌入(locally linear embedding, LLE)。不得不說實(shí)在太巧了诗鸭,兩種流形方法發(fā)表在同一年的 Science 上染簇。

AutoEncoders 的非線性和神經(jīng)網(wǎng)絡(luò)的非線性是一回事,都是利用堆疊非線性激活函數(shù)來近似任意函數(shù)强岸。事實(shí)上锻弓,AutoEncoders 就是一種神經(jīng)網(wǎng)絡(luò),只不過它的輸入和輸出相同蝌箍,真正有意義的地方不在于網(wǎng)絡(luò)的輸出青灼,而是在于網(wǎng)絡(luò)的權(quán)重暴心。

降維的生成式方法和非生成式方法

兩類方法

降維還可以分為生成式方法(概率方法)接非生成式方法(非概率方法)。

教科書對 PCA 的推導(dǎo)一般是基于最小化重建誤差或者最大化可分性的杂拨,或者說是通過提取數(shù)據(jù)集的結(jié)構(gòu)信息來建模一個約束最優(yōu)化問題來推導(dǎo)的酷勺。事實(shí)上,PCA 還有一種概率形式的推導(dǎo)扳躬,那就是概率 PCA,PRML 里面有對概率 PCA 的詳細(xì)講解甚亭,感興趣的讀者可以去閱讀贷币。需要注意的是,概率 PCA 不是 PCA 的變體亏狰,它就是 PCA 本身役纹,概率 PCA 是從另一種角度來推導(dǎo)和理解 PCA,它把 PCA 納入了生成式的框架暇唾。

設(shè)

是我們拿到的數(shù)據(jù)集促脉,我們的目的是得到數(shù)據(jù)集中每個樣本的低維表示

,其中

策州。

降維的非生成式方法不需要概率知識瘸味,而是直接利用數(shù)據(jù)集

的結(jié)構(gòu)信息建模一個最優(yōu)化問題,然后求解這個問題得到

對應(yīng)的

够挂。

降維的生成式方法認(rèn)為數(shù)據(jù)集

是對一個隨機(jī)變量 x 的 n 次采樣旁仿,而隨機(jī)變量 x 依賴于隨機(jī)變量 z ,對 z 進(jìn)行建模:

再對這個依賴關(guān)系進(jìn)行建模:

有了這兩個公式孽糖,我們就可以表達(dá)出隨機(jī)變量 x 的分布:

隨后我們利用數(shù)據(jù)集

對分布的參數(shù)?θ 進(jìn)行估計枯冈,就得到這幾個分布。好了办悟,設(shè)定了這么多尘奏,可是降維降在哪里了呢,為什么沒有看到病蛉?

回想一下降維的定義:降維就是給定一個高維樣本 xi 炫加,給出對應(yīng)的低維表示 zi ,這恰好就是 p(z|x) 的含義铡恕。所以我們只要應(yīng)用 Bayes 定理求出這個概率即可:

這樣我們就可以得到每個樣本點(diǎn) xi 上的 z 的分布 p(z|x=xi) 琢感,可以選擇這個分布的峰值點(diǎn)作為 zi,降維就完成了探熔。

Q:那么問題來了驹针,生成式方法和非生成式方法哪個好呢?

A:當(dāng)然是非生成式方法好了诀艰,一兩行就能設(shè)定完柬甥,君不見生成式方法你設(shè)定了一大段饮六?

應(yīng)該會有很多人這樣想吧?事實(shí)也的確如此苛蒲,上面這個回答在一定意義上是正確的卤橄。如果你只是為了對現(xiàn)有的數(shù)據(jù)

進(jìn)行降維,而沒有其他需求臂外,那么簡單粗暴的非生成式方法當(dāng)然是更好的選擇窟扑。

那么,在什么情況下漏健,或者說什么需求下嚎货,生成式方法是更好的選擇更好呢?答案就蘊(yùn)含在“生成式”這個名稱中:在需要生成新樣本的情況下蔫浆,生成式方法是更好的選擇殖属。

生成式方法的應(yīng)用場景

相似圖片生成就是一種最常見的應(yīng)用場景,現(xiàn)在我們考慮生成 MNIST 風(fēng)格的手寫體數(shù)字瓦盛。假設(shè) xi 代表一張圖片洗显,

是整個 MNIST 數(shù)據(jù)集,我們該怎樣建模才能生成一張新圖片呢原环?

最容易想到的方法就是:對

進(jìn)行 KDE(核密度估計)得到 x 的分布 p(x)挠唆,如果順利的話 p(x) 應(yīng)該是一個 10 峰分布,一個峰代表一個數(shù)字扮念,從對應(yīng)的峰中采樣一個樣本

损搬,它就代表了相應(yīng)的數(shù)字。

是不是看起來很簡單柜与,然而 x 的維度太高(等于 MNIST 的分辨率, 28×28=784 )巧勤,每一維中包含的信息又十分有限,直接對

進(jìn)行 KDE 完全沒有可行性弄匕,所以更好的方法是先對數(shù)據(jù)集進(jìn)行降維得到

颅悉,然后再對

進(jìn)行 KDE,再從 p(z) 中采樣

并通過逆變換得到

迁匠。

這樣做當(dāng)然也是可以的剩瓶,但是依然存在嚴(yán)重的問題。上面的方法相當(dāng)于把新樣本生成拆分成了降維城丧、KDE 和采樣這三個步驟延曙。降維這一步驟可以使用 PCA 或者 AutoEncoders 等方法,這一步不會有什么問題亡哄。

存在嚴(yán)重問題的步驟是 KDE 和采樣枝缔。回想一下 KDE 其實(shí)是一種懶惰學(xué)習(xí)方法,每來一個樣本 x 愿卸,它就會計算一下這個樣本和數(shù)據(jù)集中每一個樣本 xi 的核距離

灵临,然后估計出這一點(diǎn)的密度。

這就意味著我們需要把 z 所屬的空間劃分成網(wǎng)格趴荸,估計每個網(wǎng)格點(diǎn)上的密度儒溉,才能近似得到 p(z) ,計算復(fù)雜度是 O(n*grid_scale)发钝,而 grid_scale 關(guān)于 z 的維數(shù)是指數(shù)級的顿涣,這個計算復(fù)雜度是十分恐怖的。即使得到了近似的 p(z) 酝豪,從這樣一個沒有解析形式的分布中采樣也是很困難的园骆,依然只能求助于網(wǎng)格點(diǎn)近似。因此寓调,KDE 和采樣這兩步無論是計算效率還是計算精度都十分堪憂。

這時候就要求助于生成式方法了锄码。注意到生成式方法中建模了 pθ(z) 和 pθ(x|z)夺英,一旦求出了參數(shù)θ,我們就得到了變量 z 的解析形式的分布滋捶。只要從?pθ(z)?中采樣出一個

痛悯,再取

的峰值作為我們的

,新樣本生成就完成了重窟。

在需要生成新樣本時,非生成式方法需要對 z 的概率分布進(jìn)行代價巨大的數(shù)值逼近,然后才能從分布中采樣靡努;生成式方法本身就對 z 的概率分布進(jìn)行了建模炊琉,因此可以直接從分布中進(jìn)行采樣。所以厅翔,在需要生成新樣本時乖坠,生成式方法是更好的選擇,甚至是必然的選擇刀闷。

概率PCA和變分AutoEncoders

下面簡單整理一下這四種降維方法熊泵。注意一些術(shù)語,編碼=降維甸昏,解碼=重建顽分,原數(shù)據(jù)=觀測變量,降維后的數(shù)據(jù)=隱變量施蜜。

PCA

原數(shù)據(jù):

編碼后的數(shù)據(jù):

解碼后的數(shù)據(jù):

重建誤差:

最小化重建誤差卒蘸,就可以得到 W 和 b 的最優(yōu)解和解析解,PCA 的求解就完成了花墩。

補(bǔ)充說明:?

PCA 中的 p=2 悬秉,即最小化二范數(shù)意義下的重建誤差澄步,如果 p=1 的話我們就得到了魯棒 PCA (Robust PCA)。而最小化誤差的二范數(shù)等價于對高斯噪聲的 MLE和泌,最小化誤差的一范數(shù)等價于對拉普拉斯噪聲的 MLE村缸。

因此,PCA 其實(shí)是在假設(shè)存在高斯噪聲的條件下對數(shù)據(jù)集進(jìn)行重建武氓,這個高斯誤差就是我們將要在下面概率 PCA 一節(jié)中提到的 ?梯皿。你看,即使不是概率 PCA县恕,其中也隱含著概率的思想东羹。?

編碼和解碼用到的 W 和 b 是一樣的,即編碼過程和解碼過程是對稱的忠烛,這一點(diǎn)與下面要講的 AutoEncoders 是不同的属提。?

求解上述最優(yōu)化問題可以得到

,這恰好是樣本均值的相反數(shù)美尸。也就是說冤议,PCA 中截距項(xiàng)的含義是讓每個樣本都減去樣本均值,這正是“樣本中心化”的含義师坎。

既然我們已經(jīng)知道求出來的截距就是樣本均值恕酸,所以干脆一開始就對樣本進(jìn)行中心化,這樣在使用 PCA 的時候就可以忽略截距項(xiàng) b 而直接使用

胯陋,變量就只剩下 W 了蕊温。教科書上講解 PCA 時一般都是上來就說“使用 PCA 之前需要進(jìn)行樣本中心化”,但是沒有人告訴我們?yōu)槭裁匆@樣做遏乔,現(xiàn)在大家應(yīng)該明白為什么要進(jìn)行中心化了吧义矛。

AutoEncoders?

原數(shù)據(jù):

編碼后的數(shù)據(jù):

解碼后的數(shù)據(jù):

重建誤差:

最小化重建誤差,利用反向傳播算法可以得到

的局部最優(yōu)解&數(shù)值解盟萨,AutoEncoders 的求解完成症革。

補(bǔ)充說明: 這里可以使用任意范數(shù),每一個范數(shù)都代表我們對數(shù)據(jù)的一種不同的假設(shè)鸯旁。為了和 PCA 對應(yīng)噪矛,我們也取 p=2。

σ(·) 是非線性激活函數(shù)铺罢。AutoEncoder 一般都會堆疊多層艇挨,方便起見我們只寫了一層。

W 和

完全不是一個東西韭赘,這是因?yàn)榻?jīng)過非線性變換之后我們已經(jīng)無法將樣本再用原來的基 W 進(jìn)行表示了缩滨,必須要重新訓(xùn)練解碼的基

。甚至,AutoEncoders 的編碼器和解碼器堆疊的層數(shù)都可以不同脉漏,例如可以用 4 層來編碼苞冯,用 3 層來解碼。

概率PCA

隱變量邊緣分布:

觀測變量條件分布:

確定函數(shù):

x 的生成過程:

因?yàn)?p(z) 和 pθ(x|z) 都是高斯分布侧巨,且 pθ(x|z) 的均值 f(z;θ) = Wz+μ 是 z 的線性函數(shù)舅锄,所以這是一個線性高斯模型。線性高斯模型有一個非常重要的性質(zhì): pθ(x) 和 pθ(z|x) 也都是高斯分布司忱。千萬不要小瞧這個性質(zhì)皇忿,這個性質(zhì)保證了我們能夠使用極大似然估計或者EM算法來求解PCA。

如果沒有這個性質(zhì)的話坦仍,我們就只能借助變分法(變分 AE 采用的)或者對抗訓(xùn)練(GAN 采用的)來近似 pθ(x) 和 pθ(z|x)$ 了鳍烁。有了這個優(yōu)秀的性質(zhì)之后,我們至少有三種方法可以求解概率 PCA:

是一個形式已知繁扎,僅參數(shù)未知的高斯分布幔荒,因此可以用極大似然估計來求解 θ。

也是一個形式已知梳玫,僅參數(shù)未知的高斯分布铺峭,因此可以用 EM 算法來求解 θ,順便還能得到隱變量 zi 汽纠。

如果你足夠無聊,甚至也可以引入一個變分分布 qΦ(z|x) 來求解概率 PCA傀履,不過似乎沒什么意義虱朵,也算是一種方法吧。?

一旦求出了 θ钓账,我們就得到了所有的四個概率:

有了這四個概率碴犬,我們就可以做這些事情了:?

1.?降維:給定樣本 xi ,就得到了分布 pθ(z|x=xi) 梆暮,取這個分布的峰值點(diǎn) zi 就是降維后的數(shù)據(jù)服协;

2. 重建:給定降維后的樣本 zi ,就得到了分布 pθ(x|z=zi)啦粹,取這個分布的峰值點(diǎn) xi 就是重建后的數(shù)據(jù)偿荷;

3. 生成:從分布 p(z) 中采樣一個

,就得到了分布

唠椭,取這個分布的峰值點(diǎn)

就是新生成的數(shù)據(jù)跳纳;

4. 密度估計:給定樣本 xi ,就得到了這一點(diǎn)的概率密度 pθ(x=xi) 贪嫂。

PCA 只能做到 1 和 2寺庄,對 3 和 4無力,這一點(diǎn)我們已經(jīng)分析過了。

Q:為什么隱變量要取單位高斯分布(標(biāo)準(zhǔn)正態(tài)分布)斗塘??

A:這是兩個問題赢织。

subQ1:為什么要取高斯分布?

subA1:為了求解方便馍盟,如果不取高斯分布于置,那么 pθ(x) 有很大的可能沒有解析解,這會給求解帶來很大的麻煩朽合。還有一個原因俱两,回想生成新樣本的過程,要首先從 p(z) 中采樣一個

曹步,高斯分布采樣簡單宪彩。

subQ2:為什么是零均值單位方差的?

subA2:完全可以取任意均值和方差讲婚,但是我們要將 p(z) 和 pθ(x|z) 相乘尿孔,均值和方差部分可以挪到 f(z;θ) 中,所以 p(z) 的均值和方差取多少都無所謂筹麸,方便起見就取單位均值方差了活合。

Q:pθ(x|z) 為什么選擇了高斯分布呢?

A:因?yàn)楹唵挝锔希蜕弦粋€問題的一樣白指。還有一個直覺的解釋是 pθ(x|z) 認(rèn)為 x 是由 f(z:θ) 和噪聲 ? 加和而成的,如果 ? 是高斯分布的話酵紫,恰好和 PCA 的二范數(shù)重建誤差相對應(yīng)告嘲,這也算是一個佐證吧。

Q:pθ(x|z) 的方差為什么選擇了各向同性的而不是更一般的 ∑ 呢奖地??

A:方差可以選擇一般的 ∑ 橄唬,但是

個參數(shù)一定會給求解帶來困難,所導(dǎo)出的方法雖然也是線性降維参歹,但它已經(jīng)不是 PCA 了仰楚,而是另外的方法(我也不知道是什么方法)。方差也可以選擇成一個的各向異性的對角陣 λ犬庇,這樣只有 d 個參數(shù)僧界,事實(shí)上這就是因子分析,另一種線性降維方法臭挽。只有當(dāng)方差選擇成各向同性的對角陣時捎泻,導(dǎo)出來的方法才叫主成分分析,這個地方 PRML 里有介紹埋哟。

變分AutoEncoders

隱變量邊緣分布:

觀測變量條件分布:

確定函數(shù):

x 的生成過程:

因?yàn)?f(z;θ) 是 z 的非線性函數(shù)笆豁,所以這不再是一個線性高斯模型郎汪。觀測變量的邊緣分布:

沒有解析形式。這就意味著我們無法直接使用極大似然估計來求解參數(shù)?θ闯狱。更加絕望的是煞赢,隱變量的后驗(yàn)分布:

也沒有解析形式(這是當(dāng)然,因?yàn)榉帜笡]有解析形式了)哄孤。這就意味著我們也無法通過 EM 算法來估計參數(shù)和求解隱變量照筑。

那么,建出來的模型該怎么求解呢瘦陈?這就需要上變分推斷(Variational Inference)凝危,又稱變分貝葉斯(Variational Bayes)了。本文不打算細(xì)講變分推斷晨逝,僅僅講一下大致的流程蛾默。

變分推斷會引入一個變分分布 qΦ(z|x) 來近似沒有解析形式的后驗(yàn)概率?pθ(z|x) 。在變分 AE 的原文中捉貌,作者使用了 SGD 來同時優(yōu)化參數(shù)?θ 和 Φ支鸡。一旦求出了這兩個參數(shù)就可以得到這些概率:

注意因?yàn)?pθ(x) 和 pθ(z|x) 沒有解析形式,所以即使求出了 θ 我們也無法獲得這兩個概率趁窃。但是牧挣,正如上面說的, qΦ(z|x) 就是 pθ(z|x) 的近似醒陆,所以需要用pθ(z|x) 的地方都可以用 qΦ(z|x) 代替瀑构。

有了這三個概率,我們就可以做這些事情了:?

1.?降維:給定樣本 xi 刨摩,就得到了分布 qΦ(z|x=xi) 寺晌,取這個分布的峰值點(diǎn) zi 就是降維后的數(shù)據(jù);

2. 重建:給定降維后的樣本 zi 码邻,就得到了分布 pθ(x|z=zi),取這個分布的峰值點(diǎn) xi 就是重建后的數(shù)據(jù)另假;

3. 生成:從分布 p(z) 中采樣一個

像屋,就得到了分布

,取這個分布的峰值點(diǎn)

就是新生成的數(shù)據(jù)边篮。

與概率 PCA 不同的是己莺,這里無法解析地得到 pθ(xi) ,進(jìn)行密度估計需要進(jìn)行另外的設(shè)計戈轿,通過采樣得到凌受,計算代價還是比較大的,具體步驟變分 AE 的原文中有介紹思杯。

?AutoEncoders 只能做到 1 和 2胜蛉,對 3 無力挠进。

對比

1. 從 PCA 和 AutoEncoders 這兩節(jié)可以看出,PCA 實(shí)際上就是線性?Autoencoders誊册。兩者無論是編碼解碼形式還是重建誤差形式都完全一致领突,只有是否線性的區(qū)別。線性與否給優(yōu)化求解帶來了不同性質(zhì):PCA 可以直接得到最優(yōu)的解析解案怯,而 AutoEncoders 只能通過反向傳播得到局部最優(yōu)的數(shù)值解君旦。

2. 從概率 PCA 和變分 AutoEncoders 這兩節(jié)可以看出,概率 PCA 和變分 AutoEncoders 的唯一區(qū)別就是 f(z;θ) 是否是 z 的線性函數(shù)嘲碱,但是這個區(qū)別給優(yōu)化求解帶來了巨大的影響金砍。在概率 PCA 中,f(z;θ) 是線性的麦锯,所以我們得到了一個線性高斯模型恕稠,線性高斯模型的優(yōu)秀性質(zhì)是牽扯到的 4 個概率都是高斯分布,所以我們可以直接給出邊緣分布和編碼分布的解析形式离咐,極大似然估計和 EM 算法都可以使用谱俭,一切處理都非常方便。

在變分AutoEncoders中宵蛀,f(z;θ) 是非線性的昆著,所以邊緣分布

不再有解析形式,極大似然估計無法使用术陶;編碼分布

也不再有解析形式凑懂,EM 算法無法使用,我們只能求助于變分推斷梧宫,得到編碼分布的近似 qΦ(z|x) 接谨,再利用別的技巧得到邊緣分布 pθ(x) 的估計。

3. 從 PCA 和概率 PCA 兩小節(jié)可以看出塘匣,PCA 和概率 PCA 中 x 都是 z 的線性函數(shù)脓豪,只不過概率 PCA 顯式地把高斯噪聲 ? 寫在了表達(dá)式中;PCA 沒有顯式寫出噪聲忌卤,而是把高斯噪聲隱含在了二范數(shù)重建誤差中扫夜。

4. 從 AutoEncoders 和變分 AutoEncoders 這兩節(jié)可以看出,AE 和 VAE 的最重要的區(qū)別在于 VAE 迫使隱變量 z 滿足高斯分布?p(z)=N(z|0,I) 驰徊,而 AE 對 z 的分布沒有做任何假設(shè)笤闯。

這個區(qū)別使得在生成新樣本時,AE 需要先數(shù)值擬合 p(z) 棍厂,才能生成符合數(shù)據(jù)集分布的隱變量颗味,而 VAE 直接從 N(z|0,I) 中采樣一個 z ,它天然就符合數(shù)據(jù)集分布牺弹。事實(shí)上浦马,這是因?yàn)樵谑褂米兎滞茢噙M(jìn)行優(yōu)化時时呀,VAE 迫使 z 的分布向 N(z|0,I) 靠近,不過本文中沒有講優(yōu)化細(xì)節(jié)捐韩,VAE 的原文中有詳細(xì)的解釋退唠。

5. PCA 求解簡單,但是都是線性降維荤胁,提取信息的能力有限瞧预;非線性的 AE 提取信息的能力強(qiáng),但是求解復(fù)雜仅政。要根據(jù)不同的場景選擇不同的降維算法垢油。

6. 要生成新樣本時,不能選擇 PCA 或 AE圆丹,而是要選擇概率 PCA 或 VAE滩愁。

總結(jié)

本文將降維按照是否線性、是否生成式劃分辫封,將 PCA硝枉、概率 PCA、AutoEncoders 和變分 AutoEncoders 納入了這個劃分框架中倦微,并分析了四種算法的內(nèi)在聯(lián)系妻味。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欣福,隨后出現(xiàn)的幾起案子责球,更是在濱河造成了極大的恐慌,老刑警劉巖拓劝,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雏逾,死亡現(xiàn)場離奇詭異,居然都是意外死亡郑临,警方通過查閱死者的電腦和手機(jī)栖博,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厢洞,“玉大人仇让,你說我怎么就攤上這事∠洌” “怎么了妹孙?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵秋柄,是天一觀的道長获枝。 經(jīng)常有香客問我,道長骇笔,這世上最難降的妖魔是什么省店? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任嚣崭,我火速辦了婚禮,結(jié)果婚禮上懦傍,老公的妹妹穿的比我還像新娘雹舀。我一直安慰自己,他們只是感情好粗俱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布说榆。 她就那樣靜靜地躺著,像睡著了一般寸认。 火紅的嫁衣襯著肌膚如雪签财。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天偏塞,我揣著相機(jī)與錄音唱蒸,去河邊找鬼。 笑死灸叼,一個胖子當(dāng)著我的面吹牛神汹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播古今,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼屁魏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沧卢?” 一聲冷哼從身側(cè)響起蚁堤,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎但狭,沒想到半個月后披诗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡立磁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年呈队,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唱歧。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡宪摧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颅崩,到底是詐尸還是另有隱情几于,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布沿后,位于F島的核電站沿彭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏尖滚。R本人自食惡果不足惜喉刘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一瞧柔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧睦裳,春花似錦造锅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛛蒙,卻和暖如春肺素,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宇驾。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工倍靡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人课舍。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓塌西,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筝尾。 傳聞我的和親對象是個殘疾皇子捡需,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.介紹 主成分分析(PCA)和自編碼器(AutoEncoders, AE)是無監(jiān)督學(xué)習(xí)中的兩種代表性方法。 PC...
    小木曾雪菜閱讀 6,299評論 3 14
  • 查看原文 1 簡介 Deep Learning最簡單的一種方法是利用人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn)筹淫,人工神經(jīng)網(wǎng)絡(luò)(ANN)本身...
    JinkeyAI閱讀 6,769評論 0 4
  • 是否在同一片陽光下的所有生物站辉,都應(yīng)該被平等相待? 走出空調(diào)運(yùn)作的房間损姜,來到鳥籠前饰剥,一股熱浪頓時撲來,是一種...
    羽meteor閱讀 214評論 0 0
  • 作者〡俊杰詩人 編輯〡阿谷 出品〡俊杰文學(xué) 書法〡莫之 貂裘換酒-俊杰,一座愛的豐碑 ——致俊杰文學(xué)也致自己...
    翰墨詩韻閱讀 1,003評論 10 30
  • 因?yàn)橐槐緯矚g咖啡 突然我也發(fā)覺從咖啡中也許真的能看透一個人的內(nèi)心(這個等我喝棒卷,認(rèn)識豐富了再聊) 每當(dāng)有推送咖啡...
    許秀慧在聽歌閱讀 386評論 0 0