決策樹(shù)

決策樹(shù)在看西瓜書(shū)的時(shí)候已記錄過(guò),此次看《統(tǒng)計(jì)學(xué)習(xí)方法》的決策樹(shù)部分奉芦,除了當(dāng)作復(fù)習(xí)坯汤,也有若干新的思考。因此本篇可視為http://www.reibang.com/p/8b56ea5a1607
的一個(gè)補(bǔ)充蓝晒。

1、決策樹(shù)與條件概率分布

決策樹(shù)除了可以看作一個(gè)if-then規(guī)則的集合以外帖鸦,還可以表示給定特征條件下類(lèi)的條件概率分布芝薇。這一條件概率分布定義在特征空間的一個(gè)劃分上,將特征空間劃分為互不相交的單元或區(qū)域作儿,并在每個(gè)單元或區(qū)域定義一個(gè)類(lèi)的概率分布就構(gòu)成了一個(gè)條件概率分布洛二。

假設(shè)X為表示特征的隨機(jī)變量,Y為表示類(lèi)的隨機(jī)變量,則這個(gè)條件概率分布可表示為P(Y|X)晾嘶。X取值于給定劃分下單元的集合妓雾,Y取值于類(lèi)的集合。各葉結(jié)點(diǎn)上的條件概率往往偏向于某個(gè)類(lèi)变擒,即屬于某個(gè)類(lèi)的概率較大君珠,決策樹(shù)分類(lèi)將該結(jié)點(diǎn)的實(shí)例強(qiáng)行分到條件概率大的那一類(lèi)去。

2娇斑、決策樹(shù)學(xué)習(xí)

決策樹(shù)本質(zhì)上是從訓(xùn)練數(shù)據(jù)集中歸納出一組分類(lèi)規(guī)則策添。與訓(xùn)練數(shù)據(jù)集不矛盾的決策樹(shù)可能有多個(gè)也可能一個(gè)都沒(méi)有。我們需要的是一個(gè)與訓(xùn)練數(shù)據(jù)矛盾較小的決策樹(shù)毫缆,同時(shí)具有很好的泛化能力唯竹。另一個(gè)角度看,決策樹(shù)學(xué)習(xí)是由訓(xùn)練數(shù)據(jù)集估計(jì)條件概率模型苦丁。基于特征空間劃分的類(lèi)的條件概率模型有無(wú)窮多個(gè)浸颓。我們選擇的條件概率模型應(yīng)不僅對(duì)訓(xùn)練數(shù)據(jù)很好的擬合,而且對(duì)未知數(shù)據(jù)有很好的預(yù)測(cè)旺拉。

從所有可能的決策樹(shù)中選擇最優(yōu)的決策樹(shù)是NP-Hard的产上,因此現(xiàn)實(shí)中通常采用啟發(fā)式算法。這樣得到的決策樹(shù)是次最優(yōu)的(sub-optimal)的蛾狗。

決策樹(shù)學(xué)習(xí)算法通常遞歸地選擇最優(yōu)特征晋涣,并根據(jù)該特征對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行分割,這一過(guò)程對(duì)應(yīng)特征空間的劃分與決策樹(shù)的構(gòu)建沉桌。生成決策樹(shù)后為了解決過(guò)擬合問(wèn)題通常要由下向上進(jìn)行決策樹(shù)剪枝谢鹊。

可以看到,決策樹(shù)學(xué)習(xí)算法包含特征選擇留凭、決策樹(shù)生成與決策樹(shù)剪枝過(guò)程佃扼。決策樹(shù)的生成只考慮局部最優(yōu),決策樹(shù)剪枝則考慮全局最優(yōu)蔼夜。

3兼耀、信息增益

這部分《統(tǒng)計(jì)學(xué)習(xí)方法》比西瓜書(shū)講得要細(xì)致。信息增益是信息論的內(nèi)容求冷,這里也只是較為淺顯的理解翠订。但對(duì)于決策樹(shù)而言這樣的理解已經(jīng)足夠了。

隨機(jī)變量不確定性的度量遵倦。設(shè)X是一個(gè)取有限個(gè)值的離散隨機(jī)變量,其概率分布為:

P(X=x_i)=p_i\quad i=1,2,\dots,n

則隨機(jī)變量X的熵定義為:

H(X)=-\sum_{i=1}^n p_i log(p_i)

可以看到官撼,熵只依賴(lài)于X的概率分布而與其具體取值無(wú)關(guān)梧躺。因此也可以將X的熵記為H(p)

H(p)=-\sum_{i=1}^n p_i log(p_i)

條件熵H(Y|X)表示已知隨機(jī)變量X的條件下隨機(jī)變量Y的不確定性。其定義為X給定的條件下Y的條件概率分布對(duì)X的數(shù)學(xué)期望

H(Y|X)=\sum_{i=1}^n p_i H(Y|X=x_i)

這里p_i=P(X=x_i)\quad i=1,2,\dots,n

一般的掠哥,熵H(Y)與條件熵H(Y|X)之差稱(chēng)為互信息:

I(X;Y)=H(Y)-H(Y|X)

互信息是一個(gè)隨機(jī)變量(X)包含另一個(gè)隨機(jī)變量(Y)的信息量的度量巩踏。也可以看作給定X知識(shí)下Y的不確定性的縮減量

決策樹(shù)學(xué)習(xí)中的信息增益等價(jià)于訓(xùn)練數(shù)據(jù)集中的類(lèi)與特征的互信息

g(D,A)=H(D)-H(D|A)

這里A表示特征或?qū)傩裕?img class="math-inline" src="https://math.jianshu.com/math?formula=D" alt="D" mathimg="1">表示訓(xùn)練數(shù)據(jù)集续搀。H(D)表示對(duì)數(shù)據(jù)D分類(lèi)的不確定性塞琼,H(D|A)表示在特征A給定條件下對(duì)數(shù)據(jù)集D進(jìn)行分類(lèi)的不確定性。所以?xún)烧咧罱希葱畔⒃鲆妫?strong>表示由于特征A使得對(duì)數(shù)據(jù)集D分類(lèi)的不確定性減少的程度彪杉。

因此基于信息增益的決策樹(shù)算法就很自然了,每次選擇信息增益最大的結(jié)點(diǎn)劃分方式直至信息增益小于某個(gè)閾值或結(jié)點(diǎn)中樣本類(lèi)別相同為止牵咙。

采用信息增益作為劃分結(jié)點(diǎn)的指標(biāo)有一個(gè)問(wèn)題——算法會(huì)偏向于選擇取值較多的特征派近。為解決這個(gè)問(wèn)題,我們可以采用信息增益比

g_R(D,A)=\frac{g(D,A)}{H_A(D)}

其中H_A(D)是訓(xùn)練數(shù)據(jù)集D關(guān)于特征A的熵洁桌。顯然A的取值越多渴丸,其不確定性?xún)A向于越大,從而熵傾向于越大另凌,這樣就相當(dāng)于在信息增益基礎(chǔ)上增加了一個(gè)關(guān)于特征取值多少的罰項(xiàng)谱轨。

4、決策樹(shù)生成——ID3&C4.5&CART

ID3算法:

輸入:訓(xùn)練數(shù)據(jù)集D吠谢,特征集A土童,閾值\epsilon

(1)若D中所有實(shí)例屬于同一類(lèi)C_k,擇T為單節(jié)點(diǎn)樹(shù)囊卜,將類(lèi)C_k作為該結(jié)點(diǎn)類(lèi)標(biāo)記娜扇,返回T

(2)若A=\varnothing栅组,則T為單結(jié)點(diǎn)樹(shù)雀瓢,并將D中實(shí)例數(shù)最大的類(lèi)C_k作為該結(jié)點(diǎn)標(biāo)記,返回T玉掸。

(3)否則計(jì)算各特征對(duì)D的信息增益刃麸,選擇信息增益最大的特征A_g

(4)如果A_g的信息增益小于閾值\epsilon司浪,則置T為單結(jié)點(diǎn)樹(shù)泊业,并將D中實(shí)例數(shù)最大的類(lèi)C_k作為該結(jié)點(diǎn)的類(lèi)標(biāo)記,返回T啊易。

(5)否則吁伺,對(duì)A_g的每一可能值a_i,依A_g=a_iD分割為若干非空子集D_i租谈,將D_i中實(shí)例數(shù)最大的類(lèi)作為標(biāo)記篮奄,構(gòu)建子結(jié)點(diǎn)捆愁,由結(jié)點(diǎn)及子結(jié)點(diǎn)構(gòu)成樹(shù)T,返回T窟却。

(6)對(duì)第i個(gè)子結(jié)點(diǎn)昼丑,以D_i為訓(xùn)練集,以A-\{A_g\}為特征集夸赫,遞歸地調(diào)用步驟(1)~(5)得到子樹(shù)T_i菩帝,返回T_i

C4.5算法:

C4.5算法和ID3算法唯一的差異就是把結(jié)點(diǎn)劃分準(zhǔn)則由信息增益改進(jìn)為信息增益比茬腿。

CART(Classification And Regression Tree呼奢,分類(lèi)與回歸樹(shù))算法:

CART假設(shè)決策樹(shù)是二叉樹(shù),內(nèi)部結(jié)點(diǎn)取值特征為“是”和“否”滓彰,左分支是取值為“是”的分支,右分支為取值為“否”的分支揭绑。

在特征選擇方面弓候,對(duì)于回歸樹(shù),采用平方誤差最小準(zhǔn)則他匪,對(duì)分類(lèi)樹(shù)采用基尼系數(shù)最小化準(zhǔn)則菇存。

(a)最小二乘回歸樹(shù):

(1)選擇最優(yōu)切分變量j和切分點(diǎn)s,求解:

\min_{j,s}[\min_{c_1}\sum_{x_i\in R_1(j,s)}(y_i-c_1)^2+\min_{c_2}\sum_{x_i\in R_2(j,s)}(y_i-c_2)^2]

這里R_1(j,s)=\{x|x^{(j)}\leq s\}R_2(j,s)=\{x|x^{(j)} > s \}表示由切分變量x^{(j)}和切分點(diǎn)s產(chǎn)生的兩個(gè)劃分區(qū)域邦蜜,c_1=ave(y_i|x_i\in R_1(j,s))c_2=ave(y_i|x_i\in R_2(j,s))則表示在R_1R_2區(qū)域上的樣本輸出值的均值依鸥。

也就是說(shuō),遍歷j悼沈,對(duì)固定的j贱迟,掃描切分點(diǎn)s,找到使得上式最小的(j,s)絮供。

(2)用選定的(j,s)劃分區(qū)域并決定相應(yīng)的輸出值:

R_1(j,s)=\{x|x^{(j)}\leq s\} \quad R_2(j,s)=\{x|x^{(j)}> s \}

\hat{c}_m=\frac{1}{N_m}\sum_{x_i\in R_m(j,s)}y_i,\quad x\in R_m,\quad m=1,2

(3)繼續(xù)對(duì)兩個(gè)子區(qū)域調(diào)用步驟(1)(2)直至滿(mǎn)足停止條件衣吠。

(b)分類(lèi)樹(shù)CART算法:

(1)設(shè)結(jié)點(diǎn)的訓(xùn)練數(shù)據(jù)集為D,計(jì)算現(xiàn)有特征對(duì)該數(shù)據(jù)集的基尼系數(shù)壤靶,此時(shí)對(duì)每一個(gè)特征及其可能取的每個(gè)取值a缚俏,根據(jù)樣本點(diǎn)對(duì)A=a的測(cè)試為是或否將D分割成D_1D_2兩個(gè)部分,利用下式計(jì)算A=a時(shí)的基尼系數(shù):

Gini(D)=1-\sum_{k=1}^K(\frac{|C_k|}{|D|})^2

Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2)

基尼系數(shù)Gini(D)表示集合D的不確定性贮乳,Gini(D,A)表示經(jīng)過(guò)A=a分割后集合D的不確定性忧换。基尼指數(shù)越大不確定性越大向拆。

(2)在所有可能特征A以及它們所有可能的切分點(diǎn)a中選擇基尼指數(shù)最小的特征及對(duì)應(yīng)切分點(diǎn)作為最優(yōu)特征與最優(yōu)切分點(diǎn)亚茬,將此結(jié)點(diǎn)分成兩個(gè)子結(jié)點(diǎn)。

(3)對(duì)兩個(gè)子結(jié)點(diǎn)遞歸地調(diào)用(1)(2)直至滿(mǎn)足停止條件(結(jié)點(diǎn)中樣本個(gè)數(shù)小于閾值或基尼系數(shù)小于閾值或沒(méi)有更多特征)浓恳。

5刹缝、決策樹(shù)剪枝

決策樹(shù)剪枝往往通過(guò)極小化決策樹(shù)整體的損失函數(shù)來(lái)實(shí)現(xiàn)葡兑,設(shè)樹(shù)T的葉結(jié)點(diǎn)個(gè)數(shù)為|T|t是樹(shù)T的葉結(jié)點(diǎn)赞草,改葉結(jié)點(diǎn)有N_t個(gè)樣本點(diǎn),其中第k類(lèi)樣本點(diǎn)有N_{tk}個(gè)吆鹤,k=1,2,\dots,K厨疙,H_t(T)為葉結(jié)點(diǎn)t上的熵,\alpha\geq 0為參數(shù)疑务,則決策樹(shù)學(xué)習(xí)的損失函數(shù)可定義為:

C_\alpha(T)=\sum_{t=1}^{|T|} N_tH_t(T)+\alpha |T|

其中熵為:

H_t(T)=-\sum_k \frac{N_{tk}}{N_t}log\frac{N_{tk}}{N_t}

將第一項(xiàng)記作:

C(T)=\sum_{t=1}^{|T|}N_t H_t(T)=-\sum_{t=1}^{|T|}\sum_{k=1}^K N_{tk}log\frac{N_{tk}}{N_t}

則損失函數(shù)為:

C_\alpha(T)=C(T)+\alpha |T|

其中C(T)表示模型對(duì)訓(xùn)練數(shù)據(jù)的預(yù)測(cè)誤差沾凄,|T|表示模型復(fù)雜度,在這里作為正則項(xiàng)來(lái)防止模型過(guò)擬合知允。

樹(shù)的剪枝算法:

(1)計(jì)算每個(gè)結(jié)點(diǎn)的熵撒蟀。

(2)遞歸地從樹(shù)的葉結(jié)點(diǎn)向上回縮。設(shè)一組葉結(jié)點(diǎn)回縮到父節(jié)點(diǎn)前后的整樹(shù)分別為T_BT_A温鸽,其對(duì)應(yīng)損失函數(shù)分別為C_\alpha(T_B)C_\alpha(T_A)保屯,若:

C_\alpha(T_A)\leq C_\alpha(T_B)

則進(jìn)行剪枝,將父節(jié)點(diǎn)變成新的葉子結(jié)點(diǎn)涤垫。

(3)重復(fù)(2)直至不能繼續(xù)為止姑尺,得到損失函數(shù)最小的子樹(shù)T_\alpha

CART剪枝:

CART剪枝算法由兩步組成:

  • 從生成的決策樹(shù)T_0底端開(kāi)始不斷剪枝蝠猬,直到T_0的根結(jié)點(diǎn)切蟋,形成一個(gè)子樹(shù)序列\{T_0,T_1,\dots,T_n \}
  • 通過(guò)交叉驗(yàn)證法在獨(dú)立的驗(yàn)證集上對(duì)子樹(shù)序列進(jìn)行測(cè)試榆芦,從中選出最優(yōu)子樹(shù)柄粹。

如何形成子樹(shù)序列呢?Breiman等人證明:可以用遞歸的方式對(duì)數(shù)進(jìn)行剪枝匆绣,將\alpha從小增大型宝,產(chǎn)生一系列的區(qū)間[\alpha_i,\alpha_{i=1}),i=1,2,\dots,n;剪枝得到的子樹(shù)序列對(duì)應(yīng)著各區(qū)間的最優(yōu)子樹(shù)序列暖呕。

這個(gè)結(jié)論其實(shí)不難理解挂签,當(dāng)我們緩慢增加\alpha的時(shí)候,可能得到的最優(yōu)子樹(shù)并不會(huì)發(fā)生變化凯力,也就是說(shuō)當(dāng)\alpha在某個(gè)區(qū)間內(nèi)取值時(shí)茵瘾,我們得到的最優(yōu)子樹(shù)都是相同的,而當(dāng)\alpha超過(guò)某個(gè)閾值咐鹤,則剪枝后得到的子樹(shù)更優(yōu)拗秘,此時(shí)最優(yōu)子樹(shù)才發(fā)生改變。于是很自然的思路就是找到這些區(qū)間的端點(diǎn)來(lái)進(jìn)行分析祈惶。

具體地雕旨,從整體樹(shù)T_0開(kāi)始剪枝扮匠,對(duì)T_0的內(nèi)部結(jié)點(diǎn)t,以t為單結(jié)點(diǎn)樹(shù)的損失函數(shù)為:

C_\alpha(t)=C(t)+\alpha

t為根結(jié)點(diǎn)的子樹(shù)T_t的損失函數(shù)為:

C_\alpha(T_t)=C(T_t)+\alpha|T_t|

當(dāng)\alpha=0\alpha充分小時(shí)凡涩,有不等式:

C_\alpha(T_t)<C_\alpha(t)

當(dāng)\alpha增大時(shí)棒搜,在某一\alpha有:

C_\alpha(T_t)=C_\alpha(t)

此時(shí)解出的\alpha為:

\alpha=\frac{C(t)-C(T_t)}{|T_t|-1}

為此,對(duì)T_0中每一個(gè)內(nèi)部結(jié)點(diǎn)t活箕,計(jì)算:

g(t)=\frac{C(t)-C(T_t)}{|T_t|-1}

它表示剪枝后整體損失函數(shù)減少的程度力麸。T_0中減去g(t)最小的T_t,將得到的子樹(shù)作為T_1育韩,同時(shí)將最小的g(t)作為\alpha_1克蚂。T_1為區(qū)間[\alpha_1,\alpha_2)的最優(yōu)子樹(shù)。

總結(jié)下來(lái)算法流程如下:

(1)設(shè)k=0筋讨,T=T_0埃叭。

(2)設(shè)\alpha=+\infty

(3)自下而上地對(duì)各內(nèi)部結(jié)點(diǎn)t計(jì)算C(T_t)悉罕,|T_t|以及:

g(t)=\frac{C(t)-C(T_t)}{|T_t|-1}

\alpha=\min(\alpha,g(t))

(4)對(duì)g(t)=\alpha的內(nèi)部結(jié)點(diǎn)t進(jìn)行剪枝赤屋,并對(duì)葉結(jié)點(diǎn)t以多數(shù)表決法確定其類(lèi)別,得到樹(shù)T蛮粮。

(5)設(shè)k=k+1,\alpha_k=\alpha,T_k=T益缎。

(6)如果樹(shù)T_k不是由根結(jié)點(diǎn)及兩個(gè)葉結(jié)點(diǎn)構(gòu)成的樹(shù)則返回(2)否則令T_k=T_n

(7)采取交叉驗(yàn)證法在子樹(shù)序列T_0,T_1,\dots,T_n中選取最優(yōu)子樹(shù)T_\alpha然想。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末莺奔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子变泄,更是在濱河造成了極大的恐慌令哟,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妨蛹,死亡現(xiàn)場(chǎng)離奇詭異屏富,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蛙卤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)狠半,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人颤难,你說(shuō)我怎么就攤上這事神年。” “怎么了行嗤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵已日,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我栅屏,道長(zhǎng)飘千,這世上最難降的妖魔是什么堂鲜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮护奈,結(jié)果婚禮上缔莲,老公的妹妹穿的比我還像新娘。我一直安慰自己霉旗,他們只是感情好酌予,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著奖慌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪松靡。 梳的紋絲不亂的頭發(fā)上简僧,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音雕欺,去河邊找鬼岛马。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屠列,可吹牛的內(nèi)容都是我干的啦逆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笛洛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼夏志!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起苛让,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沟蔑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后狱杰,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瘦材,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年仿畸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了食棕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡错沽,死狀恐怖簿晓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甥捺,我是刑警寧澤抢蚀,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站镰禾,受9級(jí)特大地震影響皿曲,放射性物質(zhì)發(fā)生泄漏唱逢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一屋休、第九天 我趴在偏房一處隱蔽的房頂上張望坞古。 院中可真熱鬧,春花似錦劫樟、人聲如沸痪枫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奶陈。三九已至,卻和暖如春附较,著一層夾襖步出監(jiān)牢的瞬間吃粒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工拒课, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留徐勃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓早像,卻偏偏與公主長(zhǎng)得像僻肖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卢鹦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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