作者: style="font-size:14px;">伯乐在" />

虽知数据也枉然,某淘商城的day01

原标题:短史记 | 中文互联网上流传的假名人名言

(点击上方蓝字,快速关注我们)

-1:为什么还要写某马的某淘商城呢?

文 | 谌旭彬

style="font-size:14px;">作者: style="font-size:14px;">伯乐在线 - abel_cao,个人公号:喔家ArchiSelf(ID:wireless_com)

  答:万物更新,季节交替。新人总把旧人换。所以呢,前人写了N多遍的东西,我们依旧在学,所以下决心写某马的某淘商城。(也因为在学校还没找工作,所以找个相对长期的事情做~~~)。

在中文互联网上,泛滥成灾的假名人名言,是一种奇特的景观。

数据的重要性毋庸置疑,但是如何让数据产生价值呢?

-2:为什么选择这个项目呢?

试举几个例子。

对一个全栈老码农而言,经常在开发或者研发管理的时候遇到各种预测、决策、推断、分类、检测、排序等诸多问题。面对“你的代码还有 bug 么?”这样的挑战,一种理智的回答是,我们已经执行了若干测试用例,代码中存在bug的可能性是百分之零点几。也就是说,我们对当前程序中没有bug的信心是百分之九十九点几。这实际上就是一直贝叶斯思维,或者说使用了贝叶斯方法。不论我们看到,还是没有看到,它都在那里,熠熠生辉。

  答:LZ还是在校生,想给自己攒点经验,所以从网上找的视频,也刚学完ssh,ssm框架,找个项目练练手。

出自南怀瑾的“杜月笙做人语录”

如果预测当前软件有没有bug呢?还是要从贝叶斯定理看起。

-3:为什么看着视频还写博客呢?

活着的名人可以站出来澄清“我没说过这句话”。已故的历史名人,往往只能听任自己的形象被重塑。

贝叶斯定理的浅解

对老码农来说,贝叶斯定理的概率表达相对清晰,理解起来会相对容易。回忆一下我们学过的概率论,联合概率是满足交换律的,即:

style="border-width:0px;"> style="background-color:rgb(255,255,255);border-width:0px;font-size:13px;">P(A and B) = P (B and A) style="border-width:0px;">

对联合概率以条件概率展开:

style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-i" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;">A class="crayon-h" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;line-height: !important;font-weight:bold !important;">and class="crayon-h" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;">B class="crayon-h" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">) class="crayon-h" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">A class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">) class="crayon-h" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">B class="crayon-o" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">| class="crayon-v" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">A class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-i" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;">B class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight:bold !important;">and class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;">A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">) class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: 虽知数据也枉然,某淘商城的day01。!important;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: 虽知数据也枉然,某淘商城的day01。!important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">) class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">P class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: 虽知数据也枉然,某淘商城的day01。!important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">A class="crayon-o" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">| class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

从而得到:

P(A) P(B|A) = P(B) P(A|B)

简单的变换一下,得到:

图片 1

大功告成,这就是神奇的贝叶斯定理。其中:

  • P(B) 为先验概率,即在得到新数据前某一假设的概率;

  • P(B|A) 为后验概率,即在观察到新数据后计算该假设的概率;

  • P(A|B)为似然度,即在该假设下得到这一数据的概率;

  • 虽知数据也枉然,某淘商城的day01。P(A)为标准化常量,即在任何假设下得到这一数据的概率。

还可以加点料,在计算P(A)的时候,可以用加法定理表示:

P(A) = P(A and B) P(A and B_) = P(A|B)P(B) P(A|B_) P(B_虽知数据也枉然,某淘商城的day01。)

从而有:

图片 2

其中B_ 是与B相反的事件。就测试与bug 之间的估算而言,《贝叶斯推断的思想》一文给出了贝叶斯推断的结果,其中就使用了这样的方法。

  答:好记性不如烂笔头啊,这东西看着视频怼,最后写写博客,日后好看看,算是自己脑补吧。(所以还请大牛,大虾们多多指教哦~~~)。

比如,杜月笙生前绝对料不到,自己会成为“做人大师”。

贝叶斯方法

贝叶斯方法是一个非常通用的推理框架,用客观的新信息更新我们最初关于某个事物的信念后,就会得到一个新的改进了的信念。通过引入先验的不确定性,允许了初始推断的错误,获得了更新的证据后,也没有放弃初始的推断,而是调整为更符合目前的证据。

但是,P(A|B) 和 P(B|A) 之类的经常让人混淆,@待字闺中的陈老师给出了理解的一个关键点,区分出规律和现象,就是将A看成“规律”,B看成“现象”,那么贝叶斯公式看成:

图片 3

陈老师在《这的理解贝叶斯公式吗》和《又一个生活中的贝叶斯应用》给出了几个通俗易懂的例子,这里不再赘述。

回归到码农生活,我们在改善系统功能的时候,通常的一个手段是AB测试。AB测试是用来检测两种不同处理方式的差异化程度的一种统计设计模式,例如两个网站谁会带来更高的转化率,这里的转化可以是用户的购买、注册、或其他的行为。AB测试的关键点在于组别之间只能容许一个不同点。实验后的分析一般都是用假设检验完成的,例如均值差异检验或者比例差异检验,往往涉及Z分数或令人困惑的p值,而用贝叶斯方法则会自然的多。

对A,B两个网站的转化概率进行建模。转化率在0~1之间,可采用Beta分布。如果先验是Beta(a1,b1),且 观测到N次访问里有X次转化,那么此时的后验分布是Beta(a1 X,b1 N-X). 假设先验是Beta(1,1),等价于【0,1】上的均匀分布,则示例代码如下:

style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:#008080 !important;">from style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">spicy class="crayon-sy" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">. class="crayon-e" style="border-width:0px;font-family:inherit;line-height: !important;font-weight: !important;color:#008080 !important;">stats import beta

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">a1_prior class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: 虽知数据也枉然,某淘商城的day01。!important;color:rgb(0,153,153) !important;">1

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">b1_prior class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">1

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">visitors_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">12345 class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 网站A的访问人数

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">visitors_B class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">1616 class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">   class="crayon-c" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 网站B的访问人数

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">conversions_from_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">1200 class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 网站A的转化人数

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">conversions_from_B class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">15 class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">0 class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">   class="crayon-c" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 网站B的转化人数

 

style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">posterior_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">beta class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">a1_prior class="crayon-o" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">conversions_from_A class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">, class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">b1_prior class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">

  • style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">visitors_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">
  • style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">conversions_from_A class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">posterior_B class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">Beta class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">a1_prior class="crayon-o" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">converiosns_from_B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">, class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">b1_prior class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">

  • style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">visitors_B class="crayon-o" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;">- class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">conversions_from_B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 对后验概率进行采样,用rvs方法生成样本

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,153,153) !important;">20000

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples_posterior_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">posterior_A class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">. class="crayon-e" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">rvs class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples_posterior_B class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> = style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">posterior_B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">. class="crayon-e" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">rvs class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">)

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(153,153,153) !important;font-style:italic !important;">// 对后验概率进行比较

    style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">print class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">( class="crayon-v" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples_posterior_A class="crayon-h" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,111,224) !important;"> > style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(0,45,122) !important;">samples_posterior_B class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">). class="crayon-e" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:#008080 !important;">mean class="crayon-sy" style="border-width:0px;font-family:inherit;font-size: !important;line-height: !important;font-weight: !important;color:rgb(51,51,51) !important;">()

使用贝叶斯方法,是从思考数据是如何产生的开始。
1)什么随机变量能过描述这些统计数据
2)确实概率分布的所需参数
3)参数对应早期行为,或后期行为,定义各种变化点
4)定义参数的概率分布
5)参数概率分布的变量选择,直到一个可以假设的均匀分布

对先验及后验概率的选择,针对应用场景而定。就先验分布而言,除了常见的分布外,还有:
* Gamma分布,指数随机变量的推广
* 威沙特分布 ,是所有半正定矩阵的分布,是一个协方差矩阵的适当的先验。
* Beta分布,随机变量定义在0到1之间,使其成为概率和比例的热门选择。
* 幂律分布,满足公司规模和公司数量之间的关系

在AB测试中使用了Beta分布, 应用了一个Beta先验分布连同二项式生成的观测数据形成一个Beta后验分布这一原理。

当面对多种对象之间的因果关系的时候,贝叶斯方法演变成为了贝叶斯网络。

-4:为什么写着某马-某淘商城呢?

中文互联网上流传着各种“跟着杜月笙学做人”的语录:

贝叶斯网络

贝叶斯网络是为了解决不定性和不完整性问题而提出的,在多个领域中获得了广泛应用。贝叶斯网络是基于概率推理的图形化网络,而贝叶斯公式则是这个概率网络的基础。贝叶斯网络中的每个点代表一个随机变量,都是具有实际含义、需要人为设计的,点和点之间的边代表不确定的因果关系,例如 节点E直接影响到节点H,即E→H,则用从E指向H的箭头建立结点E到结点H的有向弧(E,H),权值(即连接强度)用条件概率P(H|E)来表示。

实际上,如果事物之间的关系能够用一条链串起来,形成了贝叶斯网络的一个特例——马尔可夫链,换个角度看, 贝叶斯网络是马尔可夫链的非线性扩展。贝叶斯网络中当某点的一个证据出现后,整个网络中事件的概率都会变化。

简单地,由于多个变量间存在着可能的依赖性,贝叶斯网络说明了其中的联合条件概率分布,允许在变量的子集间定义条件独立性。使用贝叶斯网络的过程与使用贝叶斯方法的过程是类似的:

  1. 通过多个离散变量建立网络,是一个有向无环图

  2. 参数的设置或学习,即对DAG进行遍历,计算各节点的概率表

  3. 网络推理,对因果关系得到置信概率

  4. 推理结果

例如, 社交网络中不真实账户的检测问题。首先确定网络中的随机变量:

* 账户的真实性 A
* 头像的真实性 H
* 发帖即日志的密度 L
* 好友的密度 F

使用观测值示例化H,L,F,把随机值赋给A,得到

P(A|H,L,F) = P(H|A)P(L|A)P(F|A,H)

然后就可以在社交网络中尝试使用该推理结果了。在《算法杂货铺——分类算法之贝叶斯网络》一文中对这一例子给出了相对详细的说明。

可以说,贝叶斯方法席卷了整个概率论,并将应用延伸到各个问题领域,所有需要作出概率预测的地方都可以见到贝叶斯方法的影子,特别地,贝叶斯方法对机器学习能够有什么帮助呢?

  答:因为LZ不想被怀疑打广告哦~~~(这里说句实话,其实想要学的好而快,国内大型培训机构的免费视频也是一个给自己快速充电的充电宝啊,眼看国内互联网行业真是一天一个样子。不罗嗦了,作为菜鸟的我眼中技术才是Number one);

头等人,有本事,没脾气;二等人,有本事,有脾气;末等人,没本事,大脾气。

不要怕被别人利用,人家利用你说明你还有用。

对你吹拍的人,最可能背叛你。伤你最深的人,一定是你最爱的人。

……

贝叶斯与机器学习

机器学习在业界炙手可热,但我们在机器学习里同样会遇到预测、决策、分类、检测等问题,贝叶斯方法同样大有用武之地。

机器学习中有大量的模型,如线性模型、非线性模型,可以采用贝叶斯方法来做模型的预测。也就是说,某一场景可能采用的模型是无限多的,可以用概率分布去描述它。对于假设的先验,对新来的样本做预测如计算它的似然,然后用前面推出来的后验分布做积分,这个给定模型下样本的似然,就是所有可能模型的分布。

机器学习中模型的选择和比较也是一个常见的问题。例如,在分类问题时,我们使用线性模型还是深度学习的非线性模型呢?贝叶斯方法是这样考虑的: 用A 表示一个模型类别,可能是线性模型,B 表示另一个模型类别,可能是非线性模型。在同样的数据集X下,计算在A,B 情况下观察到训练集的似然Ma,Mb,然后比较Ma和Mb,这是贝叶斯方法做模型选择的一个基本规则。

实际上, 贝叶斯定理是信息处理的一种准则, 输入是一个先验分布和一个似然函数,输出是一个后验分布。对机器学习中的模型本身,也可以通过贝叶斯方法尝试改进,例如贝叶斯SVM, 高斯过程的贝叶斯等等。

另外,贝叶斯方法对深度学习而言,至少在调参的这一环节还是很有用的。在神经网络中,每一层参数如卷积核的大小和数量等,都不会在深度学习中被模型自动优化的,需要手工指定,这或许就是贝叶斯优化。

感慨一下,码农不识贝叶斯,虽知数据也枉然呀!

-5:顺便LZ自己脑补一下互联网电商行业的名词!!!

以“头等人”一句为例。这句话最早见于南怀瑾。1995年出版的《南怀瑾谈历史与人生》中,有这么一段:

其他参考资料
  • 《贝叶斯方法-概率编程与贝叶斯推断》

  • 《贝叶斯思维:统计建模的python学习法》

  • 《数学之美番外篇:平凡而又神奇的贝叶斯方法》

  • 《Bayesian Method for Machine Learning》www.cs.toronto.edu/~radford/ftp/bayes-tut.pdf

看完本文有收获?请转发分享给更多人

关注「P**ython开发者」,提升Python技能**

图片 4

  B2B模式:商家到商家---->阿里巴巴1688(lz特别关注过这个,还不错,建议看看,批发网),慧聪网,铭万网;

以前有一位老朋友,读书不多,但他从人生经验中,得来几句话,蛮有意思,他说:‘上等人,有本事没有脾气;中等人,有本事也有脾气;末等人,没有本事而脾气却大。’这可以说是名言,也是他的学问。”①

  B2C模式:商家到用户---->京东;

杜月笙当然不是南怀瑾的“老朋友”。

  C2C模式:用户到用户---->淘宝;

笔者查不到能够证实二人有过直接交往的任何材料(南怀瑾与杨管北有过交往,杨与杜月笙有旧,南可能间接从杨处听过一些杜的轶事)。

  B2B2C模式:商家到商家到用户---->天猫;

在做人方面,杜月笙可能确有心得,但没有材料能证明他说过那些话。

  O2O模式:线上到线下---->美团,百度外卖,饿了么;(插一句,LZ觉得美团还真不错,每次出去玩都用的美团,lz这里给王兴CEO点个赞)

图片 5


图:杜月笙

1:工程搭建---->使用maven管理工程。

出自斯托雷平的“普京豪言”

  1.1:使用maven管理工程可以对Jar包的管理,工程之间的依赖管理,自动打包;

有些人只能听任自己的“名言”,被更有名的人占用。

  1.2:maven常使用jar(jar包),war(web工程打包),pom(project object model)打包方式。pom一般指父工程,管理jar包的版本,maven插件的版本,统一的依赖管理。聚合工程;

比如,中文互联网广为流传普京的一句豪言:“给我二十年,还你一个强大的俄罗斯。”

  1.3:开发环境:

这句话的原始版权拥有者,其实是俄国末代沙皇尼古拉二世的重臣斯托雷平。

    Eclipse Mars.2 Release (4.5.2) JDK1.7 Tomcat 7.0 apache-maven-3.5.0 mysql5.7

斯托雷平曾试图通过改革挽救沙皇俄国的覆灭。普京多次公开讲话赞扬斯托雷平,曾提议发起诞辰纪念活动,并为其建造纪念碑。

    注意:自己maven的本地仓库记得修改一下,之前写过,这里不啰嗦:

“给我二十年,还你一个强大的俄罗斯”之语的由来,学者闻一有很清晰的介绍:

2:开始搭建父工程(parent project):父工程,打包方式pom,管理jar包的版本号,项目中所有工程都应该继承父工程;

“就在普京(2011年)建议立碑纪念斯托雷平时,他向政府成员复述了斯托雷平的一段讲话:‘给国家20年的安定——国内的和国际的,现今的俄国会变得你们辨认不出来。’这很像多年来媒体上盛传的普京的一句话:‘给我20年的时问,我将还你一个强大的俄罗斯。’普京的话是斯托雷平原话的准确变体。斯托雷平是1909年10月1日对《伏尔加报》发表讲话时这样说的,这两段话的近似之处表明普京和斯托雷平在谋求安定的治国环境理念上是一致的,所以普京在复述了这段话后补充说:‘这些话里包含着对俄罗斯本身和对其人民的深刻信任。’所不同的是,斯托雷平讲的是‘给国家20年的安定’,而普京的讲话则强调‘给我20年的时间'’,这里的差异也是很大的。”②

  2.1:File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish

图片 6

    图片 7

图:斯托雷平

  2.2:上面操作结束,开始配置一下pom.xml,这里直接复制粘贴的;由于太长了,所以不直接显示了;

但丁认不出自己的“名言”

图片 8图片 9

有些人不得不接受自己的名言“被整容”。

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2   <modelVersion>4.0.0</modelVersion>
  3   <groupId>com.taotao</groupId>
  4   <artifactId>taotao-parent</artifactId>
  5   <version>0.0.1-SNAPSHOT</version>
  6   <packaging>pom</packaging>
  7   
  8   <!-- ssm的版本号 -->
  9   <properties>
 10         <junit.version>4.12</junit.version>
 11         <spring.version>4.2.4.RELEASE</spring.version>
 12         <mybatis.version>3.2.8</mybatis.version>
 13         <mybatis.spring.version>1.2.2</mybatis.spring.version>
 14         <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
 15         <mysql.version>5.1.32</mysql.version>
 16         <slf4j.version>1.6.4</slf4j.version>
 17         <jackson.version>2.4.2</jackson.version>
 18         <druid.version>1.0.9</druid.version>
 19         <httpclient.version>4.3.5</httpclient.version>
 20         <jstl.version>1.2</jstl.version>
 21         <servlet-api.version>2.5</servlet-api.version>
 22         <jsp-api.version>2.0</jsp-api.version>
 23         <joda-time.version>2.5</joda-time.version>
 24         <commons-lang3.version>3.3.2</commons-lang3.version>
 25         <commons-io.version>1.3.2</commons-io.version>
 26         <commons-net.version>3.3</commons-net.version>
 27         <pagehelper.version>3.4.2-fix</pagehelper.version>
 28         <jsqlparser.version>0.9.1</jsqlparser.version>
 29         <commons-fileupload.version>1.3.1</commons-fileupload.version>
 30         <jedis.version>2.7.2</jedis.version>
 31         <solrj.version>4.10.3</solrj.version>
 32         <dubbo.version>2.5.3</dubbo.version>
 33         <zookeeper.version>3.4.7</zookeeper.version>
 34         <zkclient.version>0.1</zkclient.version>
 35         <activemq.version>5.11.2</activemq.version>
 36         <freemarker.version>2.3.23</freemarker.version>
 37         <quartz.version>2.2.2</quartz.version>
 38     </properties>
 39     
 40     <!-- 依赖管理,管理版本号 -->
 41     <dependencyManagement>
 42         <dependencies>
 43             <!-- 时间操作组件 -->
 44             <dependency>
 45                 <groupId>joda-time</groupId>
 46                 <artifactId>joda-time</artifactId>
 47                 <version>${joda-time.version}</version>
 48             </dependency>
 49             <!-- Apache工具组件 -->
 50             <dependency>
 51                 <groupId>org.apache.commons</groupId>
 52                 <artifactId>commons-lang3</artifactId>
 53                 <version>${commons-lang3.version}</version>
 54             </dependency>
 55             <dependency>
 56                 <groupId>org.apache.commons</groupId>
 57                 <artifactId>commons-io</artifactId>
 58                 <version>${commons-io.version}</version>
 59             </dependency>
 60             <dependency>
 61                 <groupId>commons-net</groupId>
 62                 <artifactId>commons-net</artifactId>
 63                 <version>${commons-net.version}</version>
 64             </dependency>
 65             <!-- Jackson Json处理工具包 -->
 66             <dependency>
 67                 <groupId>com.fasterxml.jackson.core</groupId>
 68                 <artifactId>jackson-databind</artifactId>
 69                 <version>${jackson.version}</version>
 70             </dependency>
 71             <!-- httpclient -->
 72             <dependency>
 73                 <groupId>org.apache.httpcomponents</groupId>
 74                 <artifactId>httpclient</artifactId>
 75                 <version>${httpclient.version}</version>
 76             </dependency>
 77             <!-- quartz任务调度框架 -->
 78             <dependency>
 79                 <groupId>org.quartz-scheduler</groupId>
 80                 <artifactId>quartz</artifactId>
 81                 <version>${quartz.version}</version>
 82             </dependency>
 83             <!-- 单元测试 -->
 84             <dependency>
 85                 <groupId>junit</groupId>
 86                 <artifactId>junit</artifactId>
 87                 <version>${junit.version}</version>
 88                 <scope>test</scope>
 89             </dependency>
 90             <!-- 日志处理 -->
 91             <dependency>
 92                 <groupId>org.slf4j</groupId>
 93                 <artifactId>slf4j-log4j12</artifactId>
 94                 <version>${slf4j.version}</version>
 95             </dependency>
 96             <!-- Mybatis -->
 97             <dependency>
 98                 <groupId>org.mybatis</groupId>
 99                 <artifactId>mybatis</artifactId>
100                 <version>${mybatis.version}</version>
101             </dependency>
102             <dependency>
103                 <groupId>org.mybatis</groupId>
104                 <artifactId>mybatis-spring</artifactId>
105                 <version>${mybatis.spring.version}</version>
106             </dependency>
107             <dependency>
108                 <groupId>com.github.miemiedev</groupId>
109                 <artifactId>mybatis-paginator</artifactId>
110                 <version>${mybatis.paginator.version}</version>
111             </dependency>
112             <dependency>
113                 <groupId>com.github.pagehelper</groupId>
114                 <artifactId>pagehelper</artifactId>
115                 <version>${pagehelper.version}</version>
116             </dependency>
117             <!-- MySql -->
118             <dependency>
119                 <groupId>mysql</groupId>
120                 <artifactId>mysql-connector-java</artifactId>
121                 <version>${mysql.version}</version>
122             </dependency>
123             <!-- 连接池 -->
124             <dependency>
125                 <groupId>com.alibaba</groupId>
126                 <artifactId>druid</artifactId>
127                 <version>${druid.version}</version>
128             </dependency>
129             <!-- Spring -->
130             <dependency>
131                 <groupId>org.springframework</groupId>
132                 <artifactId>spring-context</artifactId>
133                 <version>${spring.version}</version>
134             </dependency>
135             <dependency>
136                 <groupId>org.springframework</groupId>
137                 <artifactId>spring-beans</artifactId>
138                 <version>${spring.version}</version>
139             </dependency>
140             <dependency>
141                 <groupId>org.springframework</groupId>
142                 <artifactId>spring-webmvc</artifactId>
143                 <version>${spring.version}</version>
144             </dependency>
145             <dependency>
146                 <groupId>org.springframework</groupId>
147                 <artifactId>spring-jdbc</artifactId>
148                 <version>${spring.version}</version>
149             </dependency>
150             <dependency>
151                 <groupId>org.springframework</groupId>
152                 <artifactId>spring-aspects</artifactId>
153                 <version>${spring.version}</version>
154             </dependency>
155             <dependency>
156                 <groupId>org.springframework</groupId>
157                 <artifactId>spring-jms</artifactId>
158                 <version>${spring.version}</version>
159             </dependency>
160             <dependency>
161                 <groupId>org.springframework</groupId>
162                 <artifactId>spring-context-support</artifactId>
163                 <version>${spring.version}</version>
164             </dependency>
165             <!-- JSP相关 -->
166             <dependency>
167                 <groupId>jstl</groupId>
168                 <artifactId>jstl</artifactId>
169                 <version>${jstl.version}</version>
170             </dependency>
171             <dependency>
172                 <groupId>javax.servlet</groupId>
173                 <artifactId>servlet-api</artifactId>
174                 <version>${servlet-api.version}</version>
175                 <scope>provided</scope>
176             </dependency>
177             <dependency>
178                 <groupId>javax.servlet</groupId>
179                 <artifactId>jsp-api</artifactId>
180                 <version>${jsp-api.version}</version>
181                 <scope>provided</scope>
182             </dependency>
183             <!-- 文件上传组件 -->
184             <dependency>
185                 <groupId>commons-fileupload</groupId>
186                 <artifactId>commons-fileupload</artifactId>
187                 <version>${commons-fileupload.version}</version>
188             </dependency>
189             <!-- Redis客户端 -->
190             <dependency>
191                 <groupId>redis.clients</groupId>
192                 <artifactId>jedis</artifactId>
193                 <version>${jedis.version}</version>
194             </dependency>
195             <!-- solr客户端 -->
196             <dependency>
197                 <groupId>org.apache.solr</groupId>
198                 <artifactId>solr-solrj</artifactId>
199                 <version>${solrj.version}</version>
200             </dependency>
201             <!-- dubbo相关 -->
202             <dependency>
203                 <groupId>com.alibaba</groupId>
204                 <artifactId>dubbo</artifactId>
205                 <version>${dubbo.version}</version>
206             </dependency>
207             <dependency>
208                 <groupId>org.apache.zookeeper</groupId>
209                 <artifactId>zookeeper</artifactId>
210                 <version>${zookeeper.version}</version>
211             </dependency>
212             <dependency>
213                 <groupId>com.github.sgroschupf</groupId>
214                 <artifactId>zkclient</artifactId>
215                 <version>${zkclient.version}</version>
216             </dependency>
217             <dependency>
218                 <groupId>org.apache.activemq</groupId>
219                 <artifactId>activemq-all</artifactId>
220                 <version>${activemq.version}</version>
221             </dependency>
222             <dependency>
223                 <groupId>org.freemarker</groupId>
224                 <artifactId>freemarker</artifactId>
225                 <version>${freemarker.version}</version>
226             </dependency>
227 
228         </dependencies>
229     </dependencyManagement>
230 
231     <build>
232         <finalName>${project.artifactId}</finalName>
233         <plugins>
234             <!-- 资源文件拷贝插件 -->
235             <plugin>
236                 <groupId>org.apache.maven.plugins</groupId>
237                 <artifactId>maven-resources-plugin</artifactId>
238                 <version>2.7</version>
239                 <configuration>
240                     <encoding>UTF-8</encoding>
241                 </configuration>
242             </plugin>
243             <!-- java编译插件 -->
244             <plugin>
245                 <groupId>org.apache.maven.plugins</groupId>
246                 <artifactId>maven-compiler-plugin</artifactId>
247                 <version>3.2</version>
248                 <configuration>
249                     <source>1.7</source>
250                     <target>1.7</target>
251                     <encoding>UTF-8</encoding>
252                 </configuration>
253             </plugin>
254         </plugins>
255         <pluginManagement>
256             <plugins>
257                 <!-- 配置Tomcat插件 -->
258                 <plugin>
259                     <groupId>org.apache.tomcat.maven</groupId>
260                     <artifactId>tomcat7-maven-plugin</artifactId>
261                     <version>2.2</version>
262                 </plugin>
263             </plugins>
264         </pluginManagement>
265     </build>
266   
267 </project>

比如,“走自己的路,让别人去说吧”这句话,曾被当作格言挂在全国各地中小学教室的墙上,知名度极高,后面的署名是“但丁”。

View Code

如果但丁复生,他肯定认不出自己这句话。

  2.3:开始搭建子工程taotao-common,继承父工程taotao-parent,通用的工具类通用的pojo(Plain Ordinary Java Object普通的java类)。打包方式jar;

因为这句话是马克思说的。

    File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish

早有学者指出:

    图片 10

“马克思《资本论》初版序言最后一段是这样说的:‘任何真正的科学批评的意见我都是欢迎的。而对于我从来就不让步的所谓舆论的偏见,我仍然遵守伟大的佛罗伦萨诗人的格言:走你的路,让人们去说罢!’最后这句话原文为黑体字,是马克思用意大利文写的:Segui il tuo corso, e lascia dir le genti(走你的路,让人们说去吧)。而马克思称之为佛罗伦萨诗人格言的这句话与但丁《神曲》中的原文显然不同:但丁的原文为“Vien dietro a me, e lascia dir le genti”(跟我来,让人们说去吧)。”③

  2.4:上面操作结束之后,将taotao-common的pom.xml配置一下,需要注意的是将插件从父工程拷贝过来之后可以将<version>...</version>去掉,因为版本号已经在父工程中定义好了,同时之前如果自己没将jar包拷贝到自己的本地仓库中,那么你将父工程的插件拷贝到taotao-common的pom.xml中的时候将在线下载到你的本地仓库中;

但丁说“跟我来,让人们去说吧”(这个“我”指古罗马诗人维吉尔),马克思修改为“走你的路,让人们去说罢!”,某些《资本论》的中译本再修改成“走自己的路,不要管别人的话”。

图片 11图片 12

这场“整容”,已然面目全非。

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 2   <modelVersion>4.0.0</modelVersion>
 3   <parent>
 4     <groupId>com.taotao</groupId>
 5     <artifactId>taotao-parent</artifactId>
 6     <version>0.0.1-SNAPSHOT</version>
 7   </parent>
 8   <groupId>com.taotao</groupId>
 9   <artifactId>taotao-common</artifactId>
10   <version>0.0.1-SNAPSHOT</version>
11   
12 
13   <!-- 添加依赖 -->
14   <dependencies>
15       <!-- 时间操作组件 -->
16         <dependency>
17             <groupId>joda-time</groupId>
18             <artifactId>joda-time</artifactId>
19         </dependency>
20         <!-- Apache工具组件 -->
21         <dependency>
22             <groupId>org.apache.commons</groupId>
23             <artifactId>commons-lang3</artifactId>
24         </dependency>
25         <dependency>
26             <groupId>org.apache.commons</groupId>
27             <artifactId>commons-io</artifactId>
28             
29         </dependency>
30         <dependency>
31             <groupId>commons-net</groupId>
32             <artifactId>commons-net</artifactId>
33         </dependency>
34         <!-- Jackson Json处理工具包 -->
35         <dependency>
36             <groupId>com.fasterxml.jackson.core</groupId>
37             <artifactId>jackson-databind</artifactId>
38         </dependency>
39         <!-- httpclient -->
40         <dependency>
41             <groupId>org.apache.httpcomponents</groupId>
42             <artifactId>httpclient</artifactId>
43         </dependency>
44         <!-- quartz任务调度框架 -->
45         <dependency>
46             <groupId>org.quartz-scheduler</groupId>
47             <artifactId>quartz</artifactId>
48         </dependency>
49         <!-- 单元测试 -->
50         <dependency>
51             <groupId>junit</groupId>
52             <artifactId>junit</artifactId>
53             <scope>test</scope>
54         </dependency>
55         <!-- 日志处理 -->
56         <dependency>
57             <groupId>org.slf4j</groupId>
58             <artifactId>slf4j-log4j12</artifactId>
59         </dependency>
60   
61   </dependencies>
62   
63   
64   
65 </project>

图片 13

View Code

图:但丁画像

   2.5:开始搭建子工程taotao-manager,继承父工程taotao-parent;服务层工程。聚合工程。Pom工程;

子虚乌有的胡适名言

    File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish

有些人收获了许多完全不属于自己的名言。

    图片 14

中文互联网上流传着很多胡适的名言,其中有些是伪造的。比如这段话:

  2.6:操作完上面的,将taotao-manager的pom.xml配置一下,因为taotao-manager依赖于taotao-common。如下:

“一个肮脏的国家,如果人人讲规则而不是空谈道德,最终会变成一个有人味的正常国家,道德自然会逐渐回归;反之,一个干净的国家,如果人人都不讲规则却大谈道德、谈高尚,天天没事就谈道德规范,人人大公无私,最终这个国家会堕落成为一个伪君子遍布的肮脏国家。”

图片 15图片 16

本文由新葡萄京娱乐场手机版发布于新萄京娱乐场手机版,转载请注明出处:虽知数据也枉然,某淘商城的day01