支持向量機(jī) (SVM)2

二、核函數(shù)

上一節(jié)我們說到唾糯,在引入對(duì)偶問題與KKT條件以后怠硼,此時(shí)的w為

于是此時(shí)的模型從wx+b轉(zhuǎn)換成了另一個(gè)形式:

以下的核函數(shù),都是基于上面的式子來說的:

對(duì)于比較簡(jiǎn)單的樣例趾断,比如X = [x1,x2]只有兩個(gè)特征,就可以用上一節(jié)的圖中“圈與×”的點(diǎn)很方便的進(jìn)行表示吩愧,也可以很方便的線性可分芋酌。
并且對(duì)于需要預(yù)測(cè)的 x的類別,我們就會(huì)計(jì)算每個(gè)支持向量機(jī)的樣例x(i)與x之間的內(nèi)積雁佳。
最終再與正負(fù)1進(jìn)行比較脐帝。

以上都是線性可分時(shí)的情況。

那么線性不可分時(shí)怎么辦呢糖权?怎么把SVM應(yīng)用到線性不可分的情況中呢堵腹?

比如下面舉的例子中,X = [x12星澳,x22疚顷,x2]在二維坐標(biāo)系中是線性不可分的,那應(yīng)該怎么辦呢禁偎?就根據(jù)特征構(gòu)造一個(gè)映射函數(shù)Φ(X)腿堤,把特征映射到新的高維的坐標(biāo)系中去,這樣如暖,這個(gè)特征點(diǎn)在新的高維的坐標(biāo)系中就線性可分了笆檀,就可以用SVM進(jìn)行分類了。
于是盒至,此時(shí)模型中酗洒,需要計(jì)算的內(nèi)積士修,就不再是x(i)與x了,而是二者的映射函數(shù)之間的內(nèi)積了(因?yàn)橹挥羞@樣樱衷,才能線性可分):

但是這樣棋嘲,需要每次都實(shí)現(xiàn)計(jì)算一次映射函數(shù),然后計(jì)算樣例與需要預(yù)測(cè)的樣例的映射函數(shù)之間的內(nèi)積箫老,十分麻煩并且會(huì)維度爆炸封字。
我們又發(fā)現(xiàn),右邊兩個(gè)映射函數(shù)的結(jié)果耍鬓,可以用一個(gè)x(i)與x的式子表示阔籽。而這個(gè)式子,只需要在低維度計(jì)算x(i)與x的式子牲蜀,就可以達(dá)到同樣的計(jì)算效果笆制,即二者的wx+b的結(jié)果是一樣一樣的,那么肯定是后者好呀涣达,后者就是核函數(shù)在辆。

先總的概括三步,再分別細(xì)細(xì)的解釋這三步

2.1 核函數(shù)總結(jié):

    1. 實(shí)際中度苔,我們會(huì)經(jīng)常遇到線性不可分的樣例匆篓,此時(shí),我們的常用做法是把樣例特征映射到高維空間中去寇窑,映射到高維空間后鸦概,相關(guān)特征便被分開了,也就達(dá)到了分類的目的甩骏;
    1. 但進(jìn)一步窗市,如果凡是遇到線性不可分的樣例,一律映射到高維空間饮笛,那么這個(gè)維度大小是會(huì)高到可怕的(甚至?xí)綗o窮維咨察,維度爆炸)。
    1. 此時(shí)福青,核函數(shù)就隆重登場(chǎng)了摄狱,核函數(shù)絕就絕在它在低維上進(jìn)行計(jì)算,但是和 采用第二步(映射到高維以后進(jìn)行運(yùn)算)計(jì)算得到的結(jié)果是相同的无午,效果也是一樣的二蓝。(這句話是精髓,后面會(huì)解釋指厌。)
      但是刊愚,相比于第二步(映射到高維以后進(jìn)行運(yùn)算),核函數(shù)的優(yōu)點(diǎn)就體現(xiàn)出來了:避免了直接在高維空間中的復(fù)雜運(yùn)算踩验,不需要顯示的寫出映射函數(shù)Φ(高維)鸥诽,大大降低了時(shí)間復(fù)雜度商玫。

2.2 分步講解以上三點(diǎn)

2.2.1 遇到線性不可分的情況

線性不可分?jǐn)?shù)據(jù)

如上圖,此時(shí)是線性不可分的牡借。
如果用X1和X2來表示這個(gè)二維平面的兩個(gè)坐標(biāo)的話拳昌,這條二次曲線的實(shí)際方程是如下(加了少量噪聲 生成得到的):

從上式可以看出,此時(shí)關(guān)于X的多項(xiàng)式是有三個(gè)的:X12钠龙,X22炬藤,X2
原來的特征點(diǎn)碴里,使用二維平面上的坐標(biāo)表示的沈矿,即X = (X1,X2)∫б福現(xiàn)在羹膳,我們?cè)囍?strong>將樣例特征映射到高維空間中去”,因?yàn)樯鲜接腥齻€(gè)多項(xiàng)式根竿,所以三個(gè)特征就足夠線性可分了(下面會(huì)解釋)涛菠。
經(jīng)過映射函數(shù)Φ(X)综芥,我們得到了新的特征 X' = (X12,X22募疮,X2)涣易,此時(shí)用這三個(gè)特征來簡(jiǎn)歷坐標(biāo)系蚯嫌,那么上面的二維平面圖會(huì)變成這個(gè)樣子:

再旋轉(zhuǎn):

此時(shí)贬蛙,數(shù)據(jù)是可以通過一個(gè)平面切分開來的室琢,此時(shí)就可以用SVM分類了。

由上冕广,可以得出結(jié)論疏日,也即上面的總結(jié)1:當(dāng)我們遇到線性不可分的樣例時(shí)偿洁,我們的常用做法是把樣例特征映射到高維空間中去撒汉,映射到高維空間后,相關(guān)特征便被分開了涕滋,也就達(dá)到了分類的目的睬辐。

2.2.2、維度爆炸的情況

首先宾肺,上面的線性不可分?jǐn)?shù)據(jù)的圖形是二次曲線中的特例溯饵,一般情況下,二次曲線的方程如下:

也就是說锨用,此時(shí)關(guān)于特征X1和X2的多項(xiàng)式丰刊,變?yōu)榱?個(gè)(原始空間的所有特征一階和二階的組合)。那么為了讓這個(gè)曲線中的樣例線性可分增拥,根據(jù) 上一節(jié)的的想法啄巧,就需要將特征映射到一個(gè)5維空間中去寻歧。

這么看似乎沒什么問題,但是秩仆!如果現(xiàn)在原始空間是3維呢码泛?

  • 如果映射原始空間的特征的二項(xiàng)式的組合(比如X1X1,X1X2共有3*3個(gè)) 那么就會(huì)得到一個(gè)9維空間澄耍;
  • 如果映射到原始空間特征所有的一階和二階的組合噪珊,就會(huì)得到一個(gè)19維的空間。

假設(shè)現(xiàn)在原始空間有100個(gè)特征呢齐莲?
------------------------------------------------------------------------------------------------
可以看到痢站,這個(gè)數(shù)目,是呈爆炸性增長(zhǎng)的铅搓,這樣下去

  • 首先計(jì)算映射函數(shù)Φ(X)就十分困難了:考慮所有的特征組合
  • 還會(huì)增加運(yùn)算的復(fù)雜度:兩個(gè)高維(比如10000或無窮)的向量相乘瑟押,耗費(fèi)時(shí)間

------------------------------------------------------------------------------------------------

2.2.3、核函數(shù)的隆重登場(chǎng)

分兩部分進(jìn)行星掰,先解釋第一部分的這句話:在低維上進(jìn)行計(jì)算多望,但是和 采用第二步(映射到高維以后進(jìn)行運(yùn)算)計(jì)算得到的結(jié)果是相同的,效果也是一樣的氢烘。

再解釋第二部分的這句話:避免了直接在高維空間中的復(fù)雜運(yùn)算怀偷,大大降低了時(shí)間復(fù)雜度。

一播玖、與‘’映射到高維以后進(jìn)行計(jì)算‘’的效果相同的核函數(shù)
1.1 直觀了解一下核函數(shù)

核函數(shù)的定義:計(jì)算兩個(gè)向量在隱式映射過后的空間中的內(nèi)積的函數(shù)叫做核函數(shù)(Kernel Function)椎工。

看不懂沒關(guān)系,舉幾個(gè)核函數(shù)的例子先直觀了解一下:

甚至把上式 中的數(shù)字1 去掉也是一個(gè)核函數(shù)蜀踏。

1.2 不采用核函數(shù)的情況下维蒙,SVM的表達(dá)

如2.2.1小節(jié),我們希望將得到的特征映射后的特征應(yīng)用于SVM分類果覆,而不是最初的特征颅痊。這樣我們需要將判別模型中wTx+b公式中的內(nèi)積從<x(i),x>映射到<Φ(x(i)),Φ(x)>。其中x(i)是支持向量局待,x是需要判別的樣本斑响。

將核形式化定義,如果原始特征內(nèi)積是<x,z>钳榨,映射后為<Φ(x),Φ(z)>舰罚,那么定義核(Kernel)為

至此,我們可以得出結(jié)論薛耻,如果要實(shí)現(xiàn)2.2.1小節(jié)的效果营罢,只需計(jì)算出Φ(x),然后計(jì)算Φ(x)TΦ(z)即可饼齿。

然而饲漾,這種計(jì)算方式是非常低效的瘟滨。
比如最初的特征是n維的,我們將其映射到n2維能颁,然后再計(jì)算杂瘸,這樣為我們需要O(n2)的時(shí)間。
for i in range(n2):
---- xi*zi(n2次)

1.3 采用核函數(shù)的情況下伙菊,有什么效果

上面講到败玉,單純的先把特征映射到高維再計(jì)算內(nèi)積的方式是十分耗時(shí)間的,那么能不能想辦法镜硕,減少計(jì)算時(shí)間呢运翼?

舉個(gè)栗子:

假設(shè)x和z都是n維的

展開后,得

這個(gè)時(shí)候發(fā)現(xiàn)我們可以只計(jì)算原始特征x和z內(nèi)積的平方(時(shí)間復(fù)雜度是O(n) 兴枯。血淌。。for i in range(n)财剖。悠夯。。)躺坟,就等價(jià)與計(jì)算映射后特征的內(nèi)積沦补。

是不是很有意思?

也就是說咪橙,用不同的計(jì)算方法夕膀,取得了相同的結(jié)果。(一個(gè)映射到高維以后做內(nèi)積美侦,一個(gè)(核函數(shù))直接在原來的低維空間中進(jìn)行運(yùn)算)产舞。而這里的K(x,z)就是一個(gè)核函數(shù)。核函數(shù)的優(yōu)越可見一斑菠剩。

現(xiàn)在看一下映射函數(shù)(n=3時(shí))易猫,根據(jù)上面的公式,得到

說明赠叼,一個(gè)核函數(shù)只能對(duì)應(yīng)著一個(gè)映射函數(shù)擦囊。上面的這個(gè)核函數(shù)只有選擇上面的這個(gè)映射函數(shù)時(shí)违霞,才能夠等價(jià)嘴办。

再比如,另一個(gè)核函數(shù)

對(duì)應(yīng)的映射函數(shù)(n=3時(shí))是

更一般的买鸽,核函數(shù)

對(duì)應(yīng)的映射后特征維度為

綜上涧郊,就是前面所說的:

  • 1、核函數(shù)在在低維上進(jìn)行計(jì)算眼五,但是和 采用第二步(映射到高維以后進(jìn)行運(yùn)算)計(jì)算得到的結(jié)果是相同的

  • 2妆艘、因?yàn)樽罱K計(jì)算的結(jié)果是相同的彤灶, 而判別模型就是求得內(nèi)積的結(jié)果以后和1比較大小,所以最終用SVM判斷的效果也是一樣的批旺。

  • 3幌陕、但是,相比于第二步(映射到高維以后進(jìn)行運(yùn)算)汽煮,核函數(shù)的優(yōu)點(diǎn)就體現(xiàn)出來了:避免了直接在高維空間中的復(fù)雜運(yùn)算搏熄,不需要顯示的寫出映射函數(shù)Φ(高維),大大降低了時(shí)間復(fù)雜度暇赤。

1.4 幾個(gè)核函數(shù)

通常人們會(huì)從一些常用的核函數(shù)中選擇(根據(jù)問題和數(shù)據(jù)的不同心例,選擇不同的參數(shù),實(shí)際上就是得到了不同的核函數(shù))鞋囊,例如:

  • 1止后、多項(xiàng)式核

上面所舉的例子也就是多項(xiàng)式核,而且這個(gè)核所對(duì)應(yīng)的映射實(shí)際上是可以寫出來的溜腐,該空間的維度是Cdm+d译株,其中m 是原始空間的維度。

  • 2挺益、高斯核

因?yàn)檫@個(gè)函數(shù)類似于高斯分布古戴,所以稱為高斯核函數(shù),也叫做徑向基函數(shù)(Radial Basis Function 簡(jiǎn)稱RBF)矩肩。它能夠把原始特征映射到無窮維现恼。

不過,如果?σ選得很大的話黍檩,高次特征上的權(quán)重實(shí)際上衰減得非巢媾郏快,所以實(shí)際上(數(shù)值上近似一下)相當(dāng)于一個(gè)低維的子空間刽酱;反過來喳逛,如果?σ選得很小,則可以將任意的數(shù)據(jù)映射為線性可分——當(dāng)然棵里,這并不一定是好事润文,因?yàn)殡S之而來的可能是非常嚴(yán)重的過擬合問題。不過殿怜,總的來說典蝌,通過調(diào)控參數(shù)?σ,高斯核實(shí)際上具有相當(dāng)高的靈活性头谜,也是使用最廣泛的核函數(shù)之一骏掀。

如下所示的例子便是把低維線性不可分的數(shù)據(jù)通過高斯核函數(shù)映射到了高維空間:

  • 3、線性核

這實(shí)際上就是原始空間中的內(nèi)積。這個(gè)核存在的主要目的是使得“映射后空間中的問題”和“映射前空間中的問題”兩者在形式上統(tǒng)一起來了(意思是說截驮,咱們有的時(shí)候笑陈,寫代碼,或?qū)懝降臅r(shí)候葵袭,只要寫個(gè)模板或通用表達(dá)式涵妥,然后再代入不同的核,便可以了坡锡,于此妹笆,便在形式上統(tǒng)一了起來,不用再分別寫一個(gè)線性的娜氏,和一個(gè)非線性的)拳缠。

即 ,不用再寫一下線性的SVM贸弥,再寫一個(gè)非線性的SVM了窟坐,只需要寫同樣的代碼,前者用線性核绵疲,后者用別的核就行了哲鸳。

2.3 使用核函數(shù)以后,怎么分類新來的樣本呢盔憨?

只需要將原來的內(nèi)積替換成核函數(shù)就行了徙菠。值的判別也是同1進(jìn)行比較。

2.4 核函數(shù)的有效性判定

詳細(xì)參考Jerrylead的第八小節(jié) 郁岩。

問題:給出了一個(gè) 函數(shù)K婿奔,我們能否認(rèn)為K是一個(gè)有效的核函數(shù),或者說问慎,能夠找到一個(gè)映射函數(shù)Φ萍摊,使得對(duì)于所有的x和z,都有

證明:
如果假設(shè)K是有效地核函數(shù)如叼,那么根據(jù)核函數(shù)定義:

可見冰木,矩陣K應(yīng)該是個(gè)對(duì)稱陣。讓我們得出一個(gè)更強(qiáng)的結(jié)論笼恰,那么對(duì)于任意向量z踊沸,有

最后一步,是因?yàn)?i 和 j 是同屬性的社证,相當(dāng)于xTx逼龟。從這個(gè)公式我們可以看出,如果K是個(gè)有效的核函數(shù)猴仑,那么审轮,在訓(xùn)練集上得到的核函數(shù)矩陣K應(yīng)該是半正定的。

這樣我們得到一個(gè)核函數(shù)的必要條件:

K是有效的核函數(shù) ==> 核函數(shù)矩陣K是對(duì)稱半正定的辽俗。

可幸的是疾渣,這個(gè)條件也是充分的,由Mercer定理來表達(dá)崖飘。

簡(jiǎn)而言之就是:
核函數(shù)矩陣K是對(duì)稱半正定的K是有效的核函數(shù) ==> K是有效的核函數(shù)

寫在最后:核函數(shù)不僅僅用在SVM上榴捡,但凡在一個(gè)模型后算法中出現(xiàn)了了<x,z>,我們都可以常使用K(x,z)去替換朱浴,這可能能夠很好地改善我們的算法吊圾。

三、規(guī)則化和不可分情況的處理

3.1翰蠢、什么情況下才是不可分项乒?

我們之前討論過:

  • 樣例線性可分時(shí)可以直接使用SVM進(jìn)行分類
  • 當(dāng)樣例線性不可分時(shí)(比如同心圓的情況),使用核函數(shù)來將特征映射到高維梁沧,這樣很可能就可分了檀何。

然而,映射后我們也不能100%保證可分廷支。如下圖:

上圖中频鉴,有‘背叛’點(diǎn)出現(xiàn),那么映射到三維恋拍,四維以后垛孔,也不一定能保證可分。如果非要給映射到非常高的維度施敢,也許最終可分了周荐,但是可過擬合了。這也不是我們想要的結(jié)果僵娃。

那怎么辦呢羡藐,我們需要將模型進(jìn)行調(diào)整(加入松弛變量ξ),以保證在不可分的情況下悯许,也能夠盡可能地找出分隔超平面仆嗦。

3.2 調(diào)整模型,使之能夠容忍不好歸類的因子-- 軟間隔

3.2.1 之前的模型的缺點(diǎn)

之前討論過的模型中先壕,是想找到一個(gè)絕對(duì)正確的平面能夠分類出所有的正負(fù)例瘩扼,但是,這種太‘硬’的做法可能取得反效果垃僚。如下圖所示:

可以看到一個(gè)離群點(diǎn)(可能是噪聲)可以造成超平面的移動(dòng)集绰,間隔縮小,可見以前的模型對(duì)噪聲非常敏感谆棺。
再有甚者栽燕,如果離群點(diǎn)在另外一個(gè)類中罕袋,如上上圖所示,那么這時(shí)候就是線性不可分了碍岔。

3.3.2 調(diào)整模型浴讯,實(shí)現(xiàn)軟間隔

為了避免上述情況的發(fā)生,我們應(yīng)該允許一些點(diǎn)游離并在在模型中違背限制條件(限制條件:函數(shù)間隔必須大于1)蔼啦。于是我們?cè)O(shè)計(jì)得到新的模型如下(也稱軟間隔)

原約束條件右邊等于1榆纽,說明,必須必須大于1捏肢,不能接受背叛(x點(diǎn)出現(xiàn)在了圈點(diǎn)內(nèi))的情況奈籽。這種情況,有兩個(gè)缺點(diǎn)鸵赫,一是分隔超平面容易受離群點(diǎn)的影響衣屏,二是甚至不可分。

現(xiàn)在約束條件右邊變成了1-ξ辩棒,且每個(gè)樣例的ξ>=0勾拉,也就是說允許出現(xiàn)離群點(diǎn)了(函數(shù)間隔可以小于1了)。甚至當(dāng) ξ 足夠大時(shí)盗温,可能1-ξ<0藕赞,間隔變?yōu)樨?fù)數(shù),也就是說可以出現(xiàn)背叛點(diǎn)了卖局。

但是斧蜕,不能慣著那些不安分的點(diǎn),所以在 目標(biāo)函數(shù)后面加上Cξ(大于0)砚偶,最小化目標(biāo)函數(shù)的情況下批销,就是表明一種態(tài)度,最好不要出現(xiàn)這種情況染坯,但是出現(xiàn)了我也能忍均芽,但是我會(huì)盡力壓制。所以被稱為軟間隔单鹿。

松弛變量ξ是為了糾正或約束少量“不安分”或脫離集體不好歸類的因子掀宋。

3.3.3 修改以后的模型 的對(duì)偶形式:

模型加入松弛變量以后,拉格朗日公式(加入約束條件)也要修改如下:

按照我們?cè)诶窭嗜諏?duì)偶中提到的求法仲锄,定義函數(shù)θp使之合理劲妙,再變成對(duì)偶問題θd,最里面的參數(shù)就變成了w儒喊、b和ξ镣奋。分別對(duì)w、b和ξ求 偏導(dǎo)怀愧,代入公式中就得到了min L侨颈。然后就是求max了余赢。這里只寫出最后結(jié)果如下:

此時(shí)我們發(fā)現(xiàn)沒有了參數(shù)ξ,與之前的模型不同之處在于0<=α 變成了0<=α<=C哈垢。為什么會(huì)這樣勒妻柒?

前面所說,為得到最小值温赔,對(duì)w蛤奢、b和ξ分別求偏導(dǎo)鬼癣,并另之為0(這也是KKT的第一個(gè)條件)陶贼。得到

又因?yàn)樗沙谧兞肯禂?shù) r 是大于等于零的,所以有α<=C待秃。于是得到約束條件的第一個(gè)式子拜秧。

------------------------------------------------------------------------------------
之前說過,當(dāng)目標(biāo)函數(shù)是凸規(guī)劃問題的時(shí)候==>

x * 滿足KKT條件 是 強(qiáng)對(duì)偶條件(對(duì)偶問題的解等于原問題的解)的充要條件章郁。
即枉氮,若d* = p* <==> x * 滿足KKT條件
------------------------------------------------------------------------------------

也就是說,只有當(dāng) x * 滿足KKT條件時(shí)暖庄,才能有d* = p聊替,化成對(duì)偶問題才有意義。那么此時(shí)培廓,就要讓上述的最優(yōu)解 α 向量滿足KKT條件.

其中第一條偏導(dǎo)數(shù)為零比較好解釋惹悄。
由第三個(gè)條件 αigi=0 可以得到

αi作為樣例的系數(shù),取不同的值 時(shí)肩钠,代表著不同的樣例位置泣港。比如之前問題中,αi=0時(shí)价匠,說明樣例在間隔平面內(nèi)部当纱。αi>0時(shí),說明在間隔平面上踩窖,是支持向量坡氯。

這里也一樣:
αi=0時(shí):

αi=C時(shí):

0<αi<C時(shí):

簡(jiǎn)單些就是:

注意:當(dāng)ξ>0時(shí),說明此時(shí)就出現(xiàn)‘不安分’的點(diǎn)了洋腮,因?yàn)榇藭r(shí)約束條件--函數(shù)間隔小于1廉沮。

上圖中

  • 第一種情況,αi=0徐矩,ξ=0滞时,說明該樣例點(diǎn)在界內(nèi)煤杀,正常的點(diǎn)被正確分類吃粒。
  • 第二種情況,0<αi<C扛伍,ξ=0,說明αi是支持向量窒百,該樣例點(diǎn)在邊界上黍判。
  • 第三種情況,αi<0篙梢,ξ>0顷帖,此時(shí)約束條件--函數(shù)間隔小于1,說明該樣例點(diǎn)或者在兩條邊界之間渤滞,或者在錯(cuò)誤的陣營(yíng)中贬墩。

----------------------------------------------------------------------------------------------

至此,算是得到了軟間隔的SVM的目標(biāo)函數(shù)妄呕,并且此時(shí)的 α 向量滿足KKT條件陶舞,是對(duì)偶問題的最優(yōu)解,也是原問題的最優(yōu)解

3.4绪励、懸而未決的問題

不論是‘硬’間隔的目標(biāo)函數(shù)肿孵,還是軟間隔的目標(biāo)函數(shù),我們都得到了預(yù)測(cè)新來樣例的方法:用判別模型wx+b和1比較疏魏。

后來通過引入對(duì)偶問題停做,我們發(fā)現(xiàn),可以不用計(jì)算w大莫,直接用α就可以進(jìn)行判別蛉腌。

所以呢,怎么求α葵硕?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末眉抬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子懈凹,更是在濱河造成了極大的恐慌蜀变,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件介评,死亡現(xiàn)場(chǎng)離奇詭異库北,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)们陆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門寒瓦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坪仇,你說我怎么就攤上這事杂腰。” “怎么了椅文?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵喂很,是天一觀的道長(zhǎng)惜颇。 經(jīng)常有香客問我,道長(zhǎng)少辣,這世上最難降的妖魔是什么凌摄? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮漓帅,結(jié)果婚禮上锨亏,老公的妹妹穿的比我還像新娘。我一直安慰自己忙干,他們只是感情好器予,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著豪直,像睡著了一般劣摇。 火紅的嫁衣襯著肌膚如雪弓乙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天暇韧,我揣著相機(jī)與錄音懈玻,去河邊找鬼涂乌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诅妹,可吹牛的內(nèi)容都是我干的罚勾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吭狡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尖殃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起划煮,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤送丰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后弛秋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體器躏,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牵现,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邀桑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞎疼。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖壁畸,靈堂內(nèi)的尸體忽然破棺而出贼急,到底是詐尸還是另有隱情,我是刑警寧澤捏萍,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布太抓,位于F島的核電站,受9級(jí)特大地震影響令杈,放射性物質(zhì)發(fā)生泄漏走敌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一逗噩、第九天 我趴在偏房一處隱蔽的房頂上張望掉丽。 院中可真熱鬧,春花似錦异雁、人聲如沸捶障。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)项炼。三九已至,卻和暖如春示绊,著一層夾襖步出監(jiān)牢的瞬間锭部,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工面褐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拌禾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓盆耽,卻偏偏與公主長(zhǎng)得像蹋砚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摄杂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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