2018 & 2019's One algrithm per day



Clustering



Clustering中文译“聚类”,目的是将相似的东西分到一类。因为不需要带标签的数据进行训练学习,因而是一种无监督学习过程,需要和Classification(分类)区别开来。

Day 5 | K-Means - 1.19 


K-means是最基本的聚类算法(baseline般的存在),以欧氏距离为特征把m维的数据点映射到欧氏空间中进行聚类。

算法的核心思想是根据数据初始化K个中心点(center),然后按样本点和中心点的距离将样本点划分到不同的类中。使得每个样本点到所在聚类中心的距离尽可能地小于到其他类中心的距离。而剩下的误差就是问题的不可分性以及算法的固有缺陷了。基于上述要求可以写出目标函数J=\sum_{n=1}^N\sum_{k=1}^K\pi_{nk} ||X_n-\mu_k||^2。优化时,令\frac{dJ}{d\mu_k} =0\mu_k=\frac{\sum_n\pi_{nk}x_n}{\sum_n\pi_{nk}}---①。

由此可得K-means的伪代码:

1、随机选取k个中心点\mu_k;

2、将每个数据点归类到离它最近中心点的类中;(固定\mu_k更新\pi_{nk}

3、固定\pi_{nk},由①式更新\mu_k

4、重复2、3步优化J直到迭代至最大步数或者J收敛为止。

最后,总结一下K-means算法的一些特点:首先算法有简单,运算时间短的优点。但因为初始中心点的随机性只能收敛到局部最优,这是其最大的缺陷。所以K-means算法都需要重复多次试验再选取最优的结果。

K-means实现

Day 6 | K-Medoids & Hungarian algorithm - 1.21


K-means 与 K-medoids不同的地方在于中心点的选取。K-means算法的中心点相当于直接取同类数据的”均值“,这样对非数值类型的特征是不友好的。比如狗的品种(萨摩、柯基),距离||x_i-x_j||^2是无法度量的。

而K-medoids的中心点相当于取样本的“中值”,其中心点将会从原样本点中产生,只要将K-means的欧式距离度量改为相似度度量,得目标函数J=\sum_{n=1}^N\sum_{k=1}^K\pi_{nk}V(x_n,\mu_k)--V为x_n\mu_k的dissimilarity度量函数,可以用相似矩阵来实现,有点相对距离的意味。

总结:除了应用范围更广外,K-medoids还比K-means更好地消除outlier的影响。不过初始化中心点的方法同样决定其结果只能是局部最优。


Day 7 | GMM - 1.22


混合高斯模型是一种基于数据学习出概率密度函数的参数,是一种soft assignment。其好处是同时获得每个样本的cluster和assign到每个cluster的概率。所以除了用在clustering外,还能用于density estimation。对于风险较大的任务,算法能根据概率判断是否对决策有把握,在把握比较低的时候能拒绝参与决策。

介绍完背景,接着切入算法的原理。首先,m维向量的正态概率密度是长这样的N(x)=\frac{1}{(2\pi)^{\frac{n}{2} }|\sum|^{\frac{1}{2} }} e^{-\frac{1}{2}(x-\mu)^T \sum^{-1}(x-\mu)},高斯混合分布为p_m(x)=\sum_{i=1}^kp(k)p(x|\mu_k,\Xi_ k)。贝叶斯分类器的最佳划分为argmax_{(k)}p_m(k=i|x_j)=\frac{p(k=i)p(x_j|\mu_i,\Xi_i)}{\sum_{k=1}^Kp(k)p(x_j|\mu_i,\Xi_i)} --①。

优化上式其实相当于求出每个k类分布下最有可能的高斯分布参数(最大化似然)以及在每个混合高斯模型下可能性最大的K类(K的后验概率分布p(k|x_j,\theta _k))。是应用EM算法解最大似然估计的一个具体例子,在原数据x不完整的情况下,引入隐变量k能“补全”缺少的信息解出似然函数。EM算法就是分别处理隐变量k(E步)以及模型参数\theta (M步)的一个过程。即:

1、根据当前参数求①式样本关于k的后验概率(E步);

2、对似然函数LL(\Theta )=ln(\prod\nolimits_{j=1}^np_m(xj) )分别求导更新\mu_k,\Xi _k,p(k)(M步)


Day 8 | EM(Expectation Maximization)算法 - 1.24


EM算法是一种解决特殊最大似然问题的迭代方法。这类问题通常引入合适的隐变量来获得最大似然解,当估计p(X|\theta )中的\theta很困难,而优化p(X,Z|\theta)却容易得多时,此时EM算法就适用了。

推导过程

对数似然函数引入一个关于隐变量的分布q(Z)作分解:logp(X|\theta)=\sum_Zq(Z)log{\frac{p(X,Z|\theta)}{q(Z)} +(-\sum_Zq(Z)log{\frac{p(Z|X,\theta)}{q(Z)}})}=g(q,\theta)+KL(q||p)

KL(q||p)是散度(非负的),所以肯定有g(q,\theta)≤logp(X|\theta),即g(q,\theta)logp(X|\theta)的下界。

E步

\theta^t是固定的,易知logp(X|\theta)q(Z)无关,为一个定值。这时可以令q(Z)=p(Z|X,\theta)使得KL散度为0。logp(X|\theta)=g(q,\theta)=\sum_Zp(Z|X,\theta^t)logp(X,Z|\theta)-\sum_Zp(Z|X,\theta^t)logp(Z|X,\theta^t)=Q(\theta,\theta^t)+const

这时对数似然函数已经得到了很大的化简,Q(\theta,\theta^t)是包含样本变量和隐变量的似然函数logp(X,Z|\theta)关于后验概率p(Z|X,\theta^t)期望。

M步

是固定的,对logp(X|\theta)求导更新相当于对Q(\theta,\theta^t)求导。更新\theta时,若KL散度仍是0,则说明达到某一个局部最优解了,迭代可以停止了;一般KL散度变为非0,更新会提升对数似然的上界。

有时M步除了做最大似然之外,也可以引入先验概率做Maximum a Posterior(MAP)来做。而当似然函数求不出最大值时,还可以做Generalized EM(GEM),只需要能得到比旧值更好的结果就行。


Day 9 | 向量量化(Vector Quantization) - 1.26


VQ可以理解为:将一个向量空间中的点用其中的一个有限向量子集来进行编码(聚类后的索引总能起到压缩效果的)。


Day 1 | 谱聚类(Spectral Clustering)- 11.15


比起传统K-Means,谱聚类对数据分布的适应性更强,聚类效果优秀,计算量小同时实现起来也不复杂。

主要思想是把数据看作空间中的点,通过图论的无向图描述数据关系并通过矩阵分析进行“切图”聚类。

⚪无向权重图

主要由对称的邻接矩阵W和对角矩阵D描述。

度矩阵
顶点的度
vol(A)可看作子图的权重

⚪邻接矩阵

邻接矩阵常用KNN(K近邻)方法获取,为了保持对称性,一般加条件:

或者通过加核的方法处理点的邻接度,常用高斯核函数RBF

⚪拉普拉斯矩阵

拉普拉斯矩阵L=D-W,有良好的性质:对称,特征数都是实数,矩阵半正定以及以下关系:

矩阵降维特征空间的获取

▲另一个常用的形式是f^TLf=\sum_{1\leq i<j\leq n}w_{ij}(f_i-f_j)^2

⚪无向图切图

两个子图间切图的(损失)权重
k个子图的切图

被切断的边的权值之和就是cut值。让子图内的点权重和大,子图间的点权重和小。最小化cut(A1,A2,..Ak)可实现,但会存在只切小权重边缘点的问题。

Like this

⚪RatioCut切图

为了解决上面的问题,RatioCut不仅最小化切图损失权重,还考虑最大化每个子图的个数(类似于平均权重)

RatioCut

引入指示向量(特征向量)hij(表示样本i属于j类)有h_i^Th_i=|A_j|*\frac{1}{|A_j|}=1,h_i^Th_j=0

j=1,2,...k
转化为最小化迹
目标函数

⚪Ncut切图

子图样本个数多并不意味子图的权重大(子图类内相似性大),所以Ncut采用子图的权重和vol(Ai)进行正规化:

Ncut切图
目标函数

解的过程与RatioCut相近,不同的是H^TH\neq I。将D拆开有另一个表示形式:

拆解H的形式

*这里的指示向量相当于h_i=D^{-\frac{1}{2}}f_i

D^{-\frac{1}{2}} LD^{-\frac{1}{2} }标准化拉普拉斯矩阵,即\frac{Lij}{\sqrt{didj} }

最后,谱聚类还是有点缺点的:(1)若谱聚类的最终的维度非常高,聚类的效果以及运算时间也不友好;(2)谱聚类比较依赖相似矩阵,所取的相似矩阵不同会影响到聚类效果。

频谱切图


Optimize

目标函数有了,怎么解出结构矩阵H却是个NP hard。引入瑞利商-Rayleigh Quotient后可以巧妙地解目标函数,以Radio Cut为例:

argmin_{(H)}tr(H^TLH)相当于分别对每个向量h_iargmin_{(h_i)}h_i^TLh_i

⚪而Rayleigh quotient指出,R(L,h)=\frac{h^TLh}{h^Th}的最大值和最小值分别在L的最大特征值以及最小特征值取得,并且极值也在对应的其他特征值取得。由于h_i^Th_i=1,所以minR(L,h)->minh^TLh

分别求出L的k个最小特征值对应的特征向量,就有H的轮廓了。最后给这k个特征向量做Kmeans就能得到样本的聚类结果了。


Day 14 | Hierarchical Clustering - 2.1




Day 2 | 马尔可夫链(Markov Chains)- 11.23




Day 3 | 评估准则 - 12.8


转自维基百科


Day 4 | 协方差的意义 - 1.18


协方差Cov(X,Y)描述两个随机变量X和Y之间的相互关系,具体可以分为如下三种情况:

在图中的区域(1)中,有 X>EX ,Y-EY>0 ,所以(X-EX)(Y-EY)>0;

在图中的区域(2)中,有X<EX ,Y-EY>0 ,所以(X-EX)(Y-EY)<0;

在图中的区域(3)中,有X<EX ,Y-EY<0 ,所以(X-EX)(Y-EY)>0;

在图中的区域(4)中,有X>EX ,Y-EY<0 ,所以(X-EX)(Y-EY)<0。

平均来说,就是正相关的面积大部分分布在(1)(3),负相关的面积大部分分布在(2)(4)。

协方差的意义如同(1)(3)的面积减去(2)(4)的面积,说明X,Y的相关关系。

由此可看出方差是失去方向信息的协方差,只指示数据分布离平均值的离散程度。

正相关
负相关
不相关


Day 9 | t test & p-value - 1.25




Day 10 | Soft Thresholding - 1.29


Soft Thresholding又称软阈值,一般在稀疏规则化的文章中都会出现。

Soft Thresholding 有三种常用表达方式

1、soft(\omega ,\lambda)=sgn(\omega)(|\omega|-\lambda)_+

2、soft(\omega ,\lambda)=sgn(\omega)max(0,|\omega|-\lambda)

3、soft(\omega,\lambda)=\omega+\lambda,\omega\leq-\lambda|or|0,|\omega|\leq\lambda|or|\omega-\lambda,\omega\geq\lambda

第三种表达方式

Soft Thresholding 可以优化以下问题

argmin_{(x)}||x-b||_2^2+\lambda||x||_1argmin_{x}\alpha x^2-2\beta x+2\lambda |x|

上式(第一项)相当于解f(x_i)=(x_i-b_i)^2+\lambda|x_i|的最小值,逐一对x_i求导并令导数为0即可得到解为\tilde{x} =soft(b,\frac{\lambda}{2})=sgn(b)(|b|-\frac{\lambda}{2})_+\frac{1}{\alpha}sgn(\beta)(|\beta|-\lambda)_+


Day 11 | Dimesionality Reduction - 1.30


首先,关于特征“feature”有两种重要的处理方法-feature selection 和 dimensionality reduction。前者(选出重要的特征并抛弃不重要的特征)可以看作是后者(把高维向量映射成低维向量)的特例。

降维的通常目标是最大限度地降低数据的维度同时保留目标的重要信息。

PCA、LDA...


Day 12 | (瑞利商)Rayleigh Quotient - 1.31


瑞利商常用于优化拉普拉斯矩阵构成的算子,除了优化谱聚类外,还能优化PCA、Fisher LDA等结构相似的算子

1、普通瑞利商R(L,h)=\frac{h^TLh}{h^Th}

可以看出对h幅值进行正则化既不影响R(L,h)的取值,也不改变h的方向

maxR(L,h)可以转化为拉格朗日乘子问题maxR(L,h)=\frac{h^TLh}{h^Th},s.t.h^Th=c

J(h)=h^TLh-\lambda (h^Th-c)\frac{dJ(h)}{dh}=0\Rightarrow Lh=\lambda h

所以R(L,h)的极值为L的特征值\lambda,对应的解为其特征向量。

普通瑞利商能解Ratio CutPCA:maxp^TA^TAp=p^TRp,s.t.p^Tp=1

2、泛化瑞利商R(L,h)=\frac{h^TLh}{h^TDh}=\frac{f^T(D^{-\frac{1}{2}}LD^{-\frac{1}{2}})f}{f^Tf}

上式加上正则化约束h^TDh=c后的解为Lh=\lambda Dh

作变形h=D^{-\frac{1}{2}}f,可得D^{-\frac{1}{2}}LD^{-\frac{1}{2}}f= \lambda f

泛化瑞利商能解NcutFisher LDA(线性判别分析).

Day 13 | AUC & ROC - 3.1


ROC曲线全称为受试者工作特征曲线(Receiver operating characteristic curve)。最早运用实在军事上,雷达兵会难以区分敌机和飞鸟,每个雷达兵的预报标准(谨慎程度)不同,将他们漏报和错报的概率画到二维坐标上(纵轴为敏感性-对应准确预报概率,横轴为特异性-对应错报概率)。汇总后会发现预报性能分布在一条曲线上,对应于不同取阀值区分正负样本的性能。

从列联表中引出不同指标

减小判别正类的阀值,会同时提高准确率和误报率,这说明离左上角最近的点是这个系统的最佳性能。通常我们只关心上报的情况,所以以TPR为纵坐标和以TNR为横坐标即可画出ROC曲线,分别对应与收益和代价。

分类的四种情况

由于ROC曲线不能直接说明分类器的效果,所以就引入了数值AUC(Area Under Curve)来直观地衡量分类器的效果。AUC即ROC曲线下与坐标轴围成的面积。

用一句话来说明AUC的意义,就是:随机取一个正例和一个负例,分类器给正样本打分高于负样本的概率。

AUC判断分类器的几种情况:

1、AUC=1,是完美分类器,至少存在一个阀值能得出完美预测。

2、AUC=0.5,跟随机预测一样,模型没有预测价值。

3、AUC<0.5,比随机预测还差;但只要反预测,就能优于随机预测。

最后说一下ROC和AUC的一个很好的特性,测试集中的正负样本分布变化时,ROC曲线能保持稳定。如下图所示:

Reference

zhwhong的文章(简书):机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率


Day 14 | 绝对中位差(MAD)- 3.15


绝对中位差是对单变量数值型数据样本偏差的鲁棒性测量,表示为MAD=median(|X_i-median(X)|)

是数据点到中位数绝对偏差的中位数,比标准差的鲁棒性更佳。因为标准差使用距离的平方,偏差大的权重更大,因而异常值对其影响更大。而MAD能消除少量异常值的影响。


Day 15 | 维度灾难 - 3.19


维度灾难:随着维度的增加,样本将会在维度空间里变得越来越稀疏,而要取得足够覆盖范围的数据,就只能增大样本数量(指数级),否则只能陷入过拟合,导致预测性能下降。(比如总数为1000的属性空间中要求样本属性覆盖总体的60%,选定一个属性所需的样本数为600,选定两个属性需774个,选定三个属性则需要843个样本)




集成聚类评估




Day 16 | 算法集成聚类的集成效果分析 - 3.22


优秀的算法集成方法往往能发现数据的一致性并挖掘数据的互补信息,但是也存在引入冲突信息甚至得出错误结构的问题。关于这几种情况,通过下图一一介绍:

首先,为了简化分析,我们取局部结构进行对比,因为确保了局部结构的发掘也就逐渐确保了全局结构识别。因此,我们主要分析关于样本1、2的划分情况。

1、一致性:划分的子结果统一且正确或者错误的子结果相互抵消,子结果的集成增强了稳定性(如C1和C21或C22、C23、C3)

2、互补性:划分的子结果不统一,但是正确的子划分信号较强,带来了正确的互补信息(如C1和C22、C23、C3,这里没有显示强度)

3、矛盾性:划分的子结果不统一,正确和错误的子信号强度相当混淆了正确的结构(同互补性)

4、错误性:错误的子信号掩盖了正确的子信号,导致判定的结构错误(同互补性)

三样本的划分集


Day 17 | 规范化互信息(NMI)- 4.9


    首先,描述互信息I(X; Y)的一些性质:

  (1) I(X; Y)≥0 (2)I(X; Y)=I(Y; X)

(3)X,Y独立时,I(X; Y)=0 (4)当X,Y能相互推出时,I(X; Y)=H(X)=H(Y)

其次,I(X; Y)的定义为

,实际上是更广泛的相对熵的特殊形式。如果X, Y不独立,可通过联合概率分布和边缘概率分布乘积的KL散度来判断他们是否接近独立,

这就是X和Y之间的互信息。同时它也能表示为自信息和条件熵的关系:


通俗地说,互信息可以看作知道y值而使得x不确定性的减少(即Y透露了多少关于X的信息量)因为X的熵H(X)指X的不确定度,H(Y|X)表示已知X的情况下,Y的不确定度。

互信息、条件熵和联合熵的关系图:


关于NMI的缺点:只考虑变量的分布而没有考虑变量的出现频率,如文本分类任务中判断一个词和某类的相关程度,但往往未考虑词频的影响。


Day 18 | *希尔伯特空间(Hilber Space) - 4.15(较散乱,有待梳理)


希尔伯特空间与线性空间有着不少的关联,可以将希尔伯特空间理解为:

把函数投影到函数空间(核函数)的一个点上,而这个点又能映射到一个无穷维的(特征函数)特征空间。最终,该特征空间的基底(特征函数向量)又能够重构出这个函数空间


首先,需要介绍一下距离、范数以及内积。所有空间都有距离和角度的概念:

距离的定义要满足非负性、对称性和三角不等式三个条件;

范数的定义需要满足非负性、数乘性和三角不等式;

内积的定义也有对称性、数乘性和正定性;

内积可以导出范数,而范数也可以导出距离,同时内积还能导出角度。


其次,对一个函数按照x以无穷小间隔采样就能将其表示为一个无穷维向量的形式(f(x_{0}),f(x_{1}),...,f(x_{∞}) ),其内积可以定义为<f,g>=\int f(x)g(x)dx

所以,具有线性结构且定义了内积的,具有完备性的无穷维空间就称为希尔伯特空间


都知道一个矩阵可以进行特征值分解时,其特征向量构成了这n维空间的一组基底。

函数空间中的无穷维矩阵K(x,y)若满足:

正定性\int \int f(x)K(x,y) f(y)dxdy \geq 0

对称性K(x,y)=K(y,x)

则这个函数称为核函数,有特征函数\int K(x,y)\psi (x)dx=\lambda \psi(y),所有的特征函数\{ \psi_i\}^{∞}_{i=1}就构成核函数空间的一组基地。


最后介绍再生希尔伯特空间 - RKHS

RKHS 是由核函数构成的空间,其中任意函数都可以由基底\{\sqrt{\lambda_i} \psi_i\}^{∞}_{i=1}表示。将核函数的一个元素固定,其内积为<K(x_0,y),K(y_0,x)>_H=\sum^{∞}_{i=0}\lambda_i\psi _i(x_0)\psi _i(y_0)=K(x_0,y_0),这就是RKHS的再生性


Day 19 | Graph Embeddings - 4.16



Day 20 | L2 norm Regularization - 4.17



Day 21 | Lagrange Methods & KKT & 对偶问题 - 4.22


用于优化的Lagrange Multiplier(LM) 的缺点是收敛困难,在接近最优解的时候会有振荡。Augmented Lagrange Multiplier (ALM)加入二次偏差项,提高了Lagrange Function 的收敛性,但又会引入分解特性差的问题。所以有人提出Augmented lagrange + Alternating Direction Minimzation(ADMM),固定其他“方向”来优化其中一个“方向”,能进行二次项解耦并优化,进而保留了可分解性又能收敛。

⚪(Lagrange Multiplier)拉格朗日乘子法

拉格朗日乘子法能寻找多元函数在一组约束下的极值。通过引入拉格朗日乘子

⚪KKT 条件

⚪对偶问题

Day 22 | Pseudo Inverse 伪逆 - 4.28


在秩r<m,n 的情况下,没有合适的左逆或者右逆矩阵来重构出单位矩阵。而阻碍求逆的因素在于零空间中的向量,所以采用伪逆矩阵A^†是一种逼近单位矩阵的办法。

由于行列空间的秩都为r,行空间中的点x可以通过A一一对应地映射到列空间的Ax上,而列空间中的Ax也可以通过伪逆矩阵A^†映射回行空间中,分割开了零空间的影响。

重要的四个子空间

伪逆可以通过SVD来求取。



Day 23 | Trace norm regularization - 5.20


低秩约束能应用在很多问题上,例如matrix completion。

低秩约束常用核范数||X||_*=\sum^r_{i=1}\sigma_i(X) ,而||X||_F^2= \sqrt{Tr(X^TX)} =(\sum^m_{i=1}\sum^n_{j=1}X^2_{ij})=\sum^r_{i=1}\sigma^2_i

所以||X||^2_F=||XX^T||_*XX^T有同样的低秩约束效果。

假设M\in R^{n×n}是原本的低秩矩阵,且有m 个非零项M_{ij}\in \OmegaP_\Omega (X)_{ij}=X_{ij}, if(i,j)\in \Omega。则低秩优化的问题写成:

{min||X||_*\\s.t. X_{ij}=M_{ij},(i,j)\in\Omega }或  {min||X||_*\\s.t. P_\Omega(X)=P_\Omega(M) }

*上式有个前提:m\ge Cn^{6/5}rlogn ,C某个正数。

解上式常用SVT算法[cai, 2010],该算法能在一分钟内恢复低秩大样本(n=1000)的矩阵,且有稀疏的特性。算法具体如下:

{X^k=shrink(Y^{k-1}, \tau)=UD_{\tau}(\Sigma )V^T\\ Y^k=Y^{k-1}+\delta_kP_\Omega(M-X^k)}

shrink(Y,\tau)是作用在奇异值上的软阈值函数,\delta_k是步长序列。阈值和步长的设置见于后文。

最终收敛的条件为:

{X=D_\tau(Y)=argmin_X\frac{1}{2}||X-Y||^2_F+\tau||X||_*\\ P_\Omega(X-M)=0}

*奇异值阈值算子的迭代更新规则:

首先经验值取\tau=5n,再设奇异值数目s_k=rank(X^{k-1})+1,然后查看Y^{k-1}的前s_k个奇异值是否有小于\tau(最小的)的值,有就不用变更s_k;否则更新s_k=s_k+l,常取l=5

步长的设法:一般0<\delta<2能保证收敛,但其更新速度会很慢,作者建议采用\delta =1.2\frac{n_1n_2}{m}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容