Categories
读书有感

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十二)

第九章 可加模型、树模型相关方法

1. 可加模型(additive model)

大家都知道线性模型是最简单好用的,但是往往现实中很多效应都是非线性的。前面举过一个学历的例子,再抄一下:

一方面,学历是你受教育的体现,也就是在取得学历的过程中完成了一定程度的知识积累。当然一定程度的学校录取证实了你一定程度的才智,但是也不是只有天才没有汗水就可以毕业的。更有意思的是,知识的积累往往是厚积而薄发,或者说是个非线性的...这也是为什么在衡量劳动者劳动价值的时候会放入受教育年限和其二次方的一个缘故(至少我是这么理解那个著名的xx公式中的二次方项的)。

也就是说,在线性模型中,我们最简单的方法就是利用多项式拟合非线性,不是有个著名的魏尔斯特拉斯(Weierstrass)逼近定理么?闭区间上的连续函数可用多项式级数一致逼近。

这个定理貌似在数分、实变、复变、泛函都有证明(如果我没记错名字的话)...泰勒(局部展开)也是一种局部使用多项式逼近的思路。不过 人类的智慧显然是无穷的,自然有了应对各种各样情况的“万能药”和“特效药”,任君对症下药什么的。

这一节主要是讲generalized additive models,即广义可加模型。广义可加模型假设的是:各个自变量之间不相关,即可以被拆分开(虽然书上是用期望定义为,但是我觉得加入一些人为认定的交叉项再扩展开是没有问题的~)。数学表达式就是:

(1) 定义:,其中是已知的,而是需要估计的。可见,如果只是从我们线性模型的进化到,那么我们是放松了对于是线性的要求,可以对每个自变量进行非线性回归,但y和这些之间依旧是线性关系;如果进一步放松,那么就可以引入新的非线性函数,那么y和那一堆之外还可以再套一层非线性函数。不过这里就要求给定一个g了,常用的就是那些指数函数对数函数等。

不过这里我们还要要求有一些比较优良的性质,首当其中就是可逆...(对于连续函数来说,可逆必定单调...因为可逆一一映射,又是连续的函数,不单调这就没法玩了呀!)好在我们一般就用一些比较简单的exp和log...常用的有:,这样...其中最后一个就是我们常用的logit regression。这样我们就可以定义“广义可加的logit模型”:

(2) 算法。还是一样的,有了大致的idea我们还得有好用的算法。下面介绍一种比较一般性的方法。

数据集依旧记作:,然后我们使用OLS准则:。然后我们有迭代算法:即已知,如何迭代到t+1?

p个小步:每一次我们都是用给定的其他,其中,求得,来最小化计算第k个变量的系数,求的。这样的方法称为一维平滑值(one dimension smoother)。而在这个过程中,需要利用B-splines来求。所以“其实本来该模型的卖点是非参数,但是最后做一维平滑的时候还要利用参数化的B-splines...”,所以有点打折扣的感觉对不?

每p个小步构成一个的大步。如果最后是用B-splines来拟合,那么其实一开始就可以代入各种参数一次性完成参数化计算。

唯一值得考量的就是,这个迭代可能是局部最优化而不是全局最优化,有点取决于起始值的味道...我有点怀疑这个起始函数要怎么给...

(3) Na?ve Bayes Assumption(朴素贝叶斯假定)

有个有趣的结论:在Na?ve Bayes 假定下,分类器一定是可加模型。

直觉上讲,Na?ve Bayes假定其实也是假定分量独立:

这样就很容易推导这个结论了:我们有后验概率。取个对数,我们有,所以就成了可加模型的形式。这样,Na?ve Bayes 假定比可加模型的假定就更弱一点。关于这点,我又去搜了一下,呃,找到了一点有关的信息,抄如下:

  • In supervised classification, inputs x and their labels y arise from an unknown joint probability p(x; y). If we can approximate p(x,y) using a parametric family of models G = {pθ(x,y),θ in Θ}, then a natural classifier is obtained by first estimating the class-conditional densities, then classifying each new data point to the class with highest posterior probability. This approach is called generative classification.
  • However, if the overall goal is to find the classification rule with the smallest error rate, this depends only on the conditional density p(y|x). Discriminative methods directly model the conditional distribution, without assuming anything about the input distribution p(x). Well known generative-discriminative pairs include Linear Discriminant Analysis (LDA) vs. Linear logistic regression and naive Bayes vs. Generalized Additive Models (GAM). Many authors have already studied these models e.g. [5,6]. Under the assumption that the underlying distributions are Gaussian with equal covariances, it is known that LDA requires less data than its discriminative counterpart, linear logistic regression [3]. More generally, it is known that generative classifiers have a smaller variance than.
  • Conversely, the generative approach converges to the best model for the joint distribution p(x,y) but the resulting conditional density is usually a biased classifier unless its pθ(x) part is an accurate model for p(x). In real world problems the assumed generative model is rarely exact, and asymptotically, a discriminative classifier should typically be preferred [9, 5]. The key argument is that the discriminative estimator converges to the conditional density that minimizes the negative log-likelihood classification loss against the true density p(x, y) [2]. For finite sample sizes, there is a bias-variance tradeoff and it is less obvious how to choose between generative and discriminative classifiers.

简单的说,就是“判别式模型与生成式模型”的问题。如果我们使用参数方法逼近联合分布,那么就是生成式模型(generative models);相对的,如果我们直接对条件密度p(y|x)建模而不对p(x)进行任何假定,那么就是判别式模型(Discriminative methods)。我们常见的就是LDA和线性logit模型、朴素贝叶斯和广义可加模型。在一些已知如高斯分布的情况下,我们发现LDA优于logit并且有更小的方差,但是生成式模型的问题就是他的参数假定不满足...所以估计可能是有偏的。所以现实中,我们需要在无偏性和方差之间做一个trade off。关于这里的总结我搜到一篇:Discriminative vs Informative Learning - Stanford University,习惯中文的可以参考一下这个。其实这里看看这些概念和思想之争也挺好玩的,以前完全没有从这个角度看过回归模型...可见计量经济学关心的完全不是这些东西。我现在完全没概念我在machine learning这个深潭里面到底涉足多深了,但是可以明显的感觉统计学习的一些思维已经开始影响我的思维方式了...需要再继续融会贯通一下。

2. 树模型(Tree Model)

(1) 树的一般概念:见过二叉树么?差不多的样子可以有多个叉叉...自行脑补一下分形去吧。

(2) 回归树(regression tree)

还是数据集,然后我们可以根据不同的门限来分类,比如x<;1分在左边枝子上放在右边枝子上。然后在下一层继续分叉分叉...一层又一层。感觉当初发明树模型的孩子一定很喜欢生物学尤其是植物学吧!有没有类似于顶端优势的定理呢?嘻嘻,可以叫做歪脖子树定理嘛!

D09AE40BF1CAAEF145604494C7945E06八卦来源

对于一颗树T,我们采用如下记号:

:叶子的总数

,某个叶子或者根节点。

:叶子节点 中的样本数。

,这个点y的平均值。

,每个

中的均方误差(方差)。

这样一颗树的质量就可以定义为。这样给定一棵树,有了一个函数,然后就可以预测了。

树的生长:这就是叶子和层次的选择,显然我们一共有中选择。需要从中选出最好的。当生长不动的时候,停止。而长得太大的时候,就是过拟合的问题。所以我们需要剪枝。

树的剪枝:准则需要变,,即加入一个惩罚项,然后就可以使用cross-validation或者bootstrap了。

(3) 分类树

同样的,只是我们需要定义新的准则,类似于0-1准则。,也就是节点中属于第k类的比例,所以

这样我们就有,即主导类别占据该节点。

定义1:我们的预测误差就是,就可以定义

定义2:熵。我们定义,这样就可以定义

定义3: 基尼准则(Gini),定义函数,然后

有了准则之后,我们就可以生长、剪枝和预测了。

为啥我觉得这就是决策树呢?喵了个咪的,就是一个质量定义问题嘛。回归和分类器之鸿沟一直延续呀,无论是线性模型还是树模型...

Categories
事儿关经济

从激励相容说起市场营销

以下为某天早晨打车来上班的十几分钟路上乱想到的,海涵。
---------------------------
有的时候我都觉得自己被microeconomics毒害太深...整个思维体系全是架构在其之上的,不管是最简单的供求和弹性之类,还是更强调互动的game theory...相比而言,我的macroeconomics直觉就差了很多了,除了能偶尔侃侃税制、社保和房市,我实在是不知道还有什么好关注的宏观经济动向。

大家都在一窝蜂的挤入金融市场,各种各样纷杂缭乱的手段都有,真是集各学科智慧于大成。所有人都在预测、预测。其实预测和信息这东西,只有在“你先于市场知道”的时候才有价值,你知道别人也知道,这信息就已经富含在预期里面了,价格就已经包含了这部分预期。前两天看到新华社一常驻纽约和纳斯达克证交所记者说,美股其实比较好预测——是的,几乎有什么新闻就有什么相应的反应。这也就是说对于大家都知道的信息,价格的反应是很有规律可循的。

看了那么多模型,我还是觉得金融的本质是博弈——你需要比别人先知先觉,不管是以什么方式。更有资本的,就是去找体制的漏洞,所以有索罗斯搅乱英国和香港汇率市场(商务印书馆的索罗斯三部曲不妨一读:金融炼金术、开放社会: 改革全球资本主义、索罗斯论全球化);或者引领市场,比如巴菲特对于投资的带动(我印象最深的就是比亚迪的案例了)。神话之所以成为神话,就是他们是领先而且不可复制的。机不可失,失不再来。

说了这么多金融市场,只是想多少建立一点概念:这个「机制」是一个多么神奇而好玩的东西。玩过魔兽或者三国杀的朋友们或许都对游戏平衡设计印象颇深,这是多么活生生的机制设计案例呀。扯回到市场营销嗯...

营销其实无非就是一个「投入、产出」的过程。你有一堆起始营销资源,然后投放到各个渠道,然后衡量一下各个渠道的投入产出比(ROI),然后根据产出决定下一期怎么优化后继续投入...这说起来和其他投资并无二致之处。对于不同层次的营销人员来说,区别可能是营销资源的量不同、资源的形式不同(钱,时间,精力,实体物质等),再就是可选的营销渠道不同、对于每个渠道的掌控能力和信息不同、ROI的衡量方式不同。这么再去看各种形式的营销,大致也就是在这个框架之内,没什么太神秘的。只是这个环节比较多分工比较细,大家在不同环节上努力罢了。

说个最常见的营销资源投放案例吧:我有一堆优惠券,怎么发放?(瞬间想起小时候去KFC门口,然后一个和蔼可亲的肯德基爷爷塞到我手中一把KFC优惠券的场景了...拿到券的瞬间就不会在KFC还是麦当劳这个问题上犹豫了)优惠券是个很神奇的东西,其实就是变相的价格歧视——有路子找到优惠券的可以享受更低廉的价格,而没有路子的就只能原价付款了。所以我们要找出来的目标群体无非就是:价格敏感的、在买与不买之间徘徊不绝的。这样才能发挥优惠券的最大功效嘛——你给那些一天三顿非KFC不吃的人发券有什么意义?他们本来也要来吃的。找到这样的合适群体,就是建立"参与约束";而使得合适群体做出你想要的行为,就是"激励相容"了。一个机制设计的成功,无非就是满足如上两点。

所以我现在在看到手里经过的分析任务之时,总会不自觉的去开一分钟小差考量一下,这东西满足"激励相容"么?然后默默的继续工作...同样的,经常会在收到各种促销短信邮件的时候,考察一下店家是不是足够聪明...如果有明显的套利机会(过度相容了),就会立马实行:比如某品牌的药妆,我每次都是在其淘宝旗舰店打5折的时候买一年的量囤着,然后等明年打折的时候再去买。类似的例子还有一些,基本就是在我的时间耐心与价格敏感之间寻的一个平衡点,然后就可以优化一下消费流。所以我一直觉得我是一个很符合"贴现效用最大化"的理性消费者...

还是说一个更让大家熟悉一点的参与约束和激励相容例子吧。我们一直期冀"我劝天公重抖擞,不拘一格降人才",但是又在求职和招人的时候不自觉的考量人家的学历。学历到底有多少含金量?学历不等于能力?

一方面,学历是你受教育的体现,也就是在取得学历的过程中完成了一定程度的知识积累。当然一定程度的学校录取证实了你一定程度的才智,但是也不是只有天才没有汗水就可以毕业的。更有意思的是,知识的积累往往是厚积而薄发,或者说是个非线性的...这也是为什么在衡量劳动者劳动价值的时候会放入受教育年限和其二次方的一个缘故(至少我是这么理解那个著名的xx公式中的二次方项的)。

另一方面,这也是一个信号:如果你是能力低下的人,那么完成学位需要付出的痛苦会有很多,这样就使得只有能力强一点的人才会选择更高的学历。因此,学历成为了能力的一个信号。

但问题也来了:这个信号区分度如何?显然是比较粗的。再者,这个机制的顺畅运行显然不仅仅是录取阶段的公平考核及没有经济负担能力等现实约束,而且更多是学习过程的努力付出。我隐约觉得中国的研究生扩招就是把两个重要环节的标准都放低了,所以这个信号的作用越来越差,噪音越来越多。研究生找工作难不单单是一个经济大形势和供给增加导致失衡的问题。

医保体制可以研究的就更多了,比如挂号费到底应该怎么设置才合理,医生的劳动价值怎么可以被体现出来...这都是微观经济学基础上的机制设计研究的问题。当然经济学也在脚踏实地的解决更多现实的问题。我一直觉得经济学给出的是抽茧剥丝分析问题的框架,而不像某些经济学家一天到晚只会在媒体上骇人听闻。我现在看到某些人的微博夸夸其谈的言论真是一阵胃里泛酸。

Categories
读书有感

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十一)

上海的冬天越来越冷了,这门课也越来越临近这学期结束了。这节课公式推导不多,有也是那种烂熟于胸无数次的,所以可以稍稍歪楼,不时掺杂一点八卦什么的。

BootStrap

1. 定义

BootStrap的基本思想就仨字:重抽样。先开始八卦~

跟高斯窥探天机猜出来正态分布的密度函数表达式相似,Efron搞出来BootStrap的时候,大概也在偷偷的抿嘴而笑吧。“上帝到底掷不掷骰子呢?”,每次我们都在揣测天意,也是现在越来越有点理解为什么牛顿老先生晚年致力于神学了。每当我们猜中一次,就会有一个新的突破到来。BootStrap思想简单到如斯,以至于我的一位朋友在当高中老师的时候(可惜是美国不是中国),就尝试着跟 teenagers 介绍BootStrap思想了(貌似用的还是Econometrica上的一篇文章,我瞬间声讨“你们这群高中老师真凶残-_-||)——结果显然是我多虑了,那群熊孩子居然表示理解毫无压力!可见BootStrap这个东西是有多么的平易近人。什么测度论什么高等代数都不需要,会摸球就可以了!

顺便抄一下杨灿童鞋《那些年,我们一起追的EB》上的一段八卦:

五十多年前,Efron为 Stanford 的一本幽默杂志 Chapparal 做主编。那年,他们恶搞 (parody) 了著名杂志Playboy。估计是恶搞得太给力了,还受到当时三藩的大主教的批评。幽默的力量使 Efron 在“错误”的道路上越走越远,差点就不回Stanford 读 PhD 了。借用前段时间冰岛外长的语录:“Efron 从事娱乐时尚界的工作,是科学界的一大损失!”在关键时刻,Efron在周围朋友的关心和支持下,终于回到 Stanford,开始把他的犀利与机智用在 statistics 上。告别了娱乐时尚界的 EB,从此研究成果犹如滔滔江水,连绵不绝,citation又如黄河泛滥,一发不可收拾...

所以说嘛,天才之人做什么都是能闪光的,Efron从事科学界的工作,怕也是美国几亿人民周末娱乐的损失吧。好了,满足了你们这群越来越挑剔的读者八卦的胃口了,开始正儿八经的说BootStrap。

我们有观测数据集,然后对这N个样本,进行有放回的重抽样。每轮我们还是抽N个,然后一共抽B轮(比如几百轮,话说前几天weibo上有人问“如果给你一万个人,你要做什么”,放在这里我就要他们不停的抽小球抽小球抽小球,哈哈!)。这样就得到了新的观测样本

2. 应用

BootStrap几乎可以用来干各种合法的不合法的事儿,只要是跟数据估计有关的...这就如同你问一个画家,“什么最好画?”“上帝和魔鬼,因为大家都没有见过。”大家都没有那么明确的知道BootStrap的界限在哪里,所以BootStrap就被应用在各种跟估计有关的地方了。

在统计学习中,我们最常用的可能就是估计精度:对于每一个,我们都可以得到一个预测函数,然后就对于给定的,有B个预测值,这样就可以做直方图什么的,还可以排排序算出来的置信区间。

最大似然估计(MLE)

我们有一族密度函数,其中为参数集,可不止一个参数。按照概率的定义,我们有,而且

数据方面,我们有一组数据,为\emph{i.i.d}(独立同分布)。

这样就可以写出来似然函数: ,从而可以写出来对数似然函数:。接下来驾轻就熟的,我们就有最大似然估计量:

最大似然估计之所以这么受欢迎,主要是他有一个非常好的性质:一致性,即当,估计值收敛于真值

仅仅渐进一致还不够,我们当然更喜欢的是MLE的附加优良性质:渐进正态,即,其中称为信息矩阵,定义为。实际中,如果我们不知道真值,则会用估计值来代替正态分布中的参数。(没想到事隔这么多年,我居然又手动推导了一遍MLE...真的是,我跟统计的缘分怎么这么纠缠不断呀)。

MLE大都要求数值解的,少数情况下可以求解解析解。比如正态分布。

正态分布的密度函数为:,所以我们有对数似然函数:

还有一个特例是正态线性回归模型(Gauss-Markov),即,其中,这个就和OLS的BLUE性质蛮像了,MLE和OLS对于此种情形估计值是完全一样的。所以说高斯王子在搞出OLS的时候,也是各种深思熟虑过的...揣测上帝的“旨意”也不是件信手拈来的事儿的。

简单情形下,我们可以直接求得估计量的置信区间,但是在复杂的情形下,就只能用BootStrap了。人们的思路就从传统的数学推倒,越来越多的转换到计算能力了。有的时候稍稍感觉这更符合统计学的思维——归纳嘛,这也是统计学在computer

area和数学渐行渐远的表现之一么?

吴老师总结了一句话:BootStrap类方法,就是思想简单、实际有效,虽然不知道为什么...

模型平均

模型平均也是有点延续上面的BootStrap思想,就是我有很多重抽样出来的模型之后,要怎么平均这些结果来找出最优模型的。

1. Bagging方法。 这个就有点直截了当了。利用BootStrap,我可以,然后自然收集了一堆,所以简单一点就平均一下:

2. Stacking方法。这个就稍稍动了一点心思,直接平均看起来好简单粗暴呀,还是加权平均一下比较细致一点。所以:,其中权重。实际操作中,的选取也是一个蛮tricky的事儿。可以利用validation集来优化...

3. Bumpping (优选)方法。,即在所有的中,选择最好的那个,使得一定标准下的损失最小。

话说,Machine learning或者统计学习,无非就是四件事儿:数据(D)、函数族()、准则()、算法(A)。说来说去,每一样改进都是在这四个的某一方面或者某几方面进行提升的。

Categories
读书有感

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十)

一个东西写到10,总会多少有点成就感...只是不知道已经磨掉了多少人的耐心了呢?

此外这节公式密集,大家看着办吧...

-----------笔记开始------------

继续上一讲,先说说EM算法。

MM、EM和GMM

1. MM(混合模型)

(1) 定义:,其中,构成一个离散分布。同时有,且

(2) 隐变量

我们有数据,同时依据条件概率分布,有。记,则,其中

则有为x的边际分布。

(3) GMM(正态混合模型)

,我们有,且

(4) 对数似然函数和最大似然估计

对数似然函数写为。则我们要求的就是,其中

2. EM算法 (expectation maximum,期望最大方法)

(1) 迭代方法: 给定起始值,迭代出。那么问题就是,如何在已知的情况下,求

(2) E1步:求。函数形式已知,故可以求各种条件概率什么的。所以有:

E2步:计算,由于函数形式已知,我们可以计算并将移出来,所以换成线性形式。

(3) M步:求,这样就完成了迭代。需要证明的性质是:随着迭代,越来越大,且收敛。

(4) 定理:

证明:

其中,且,定义为两分布的KL距离。

所以,且。而由M步,,故有

在GMM的情况下,应用EM算法,则有:

(1) E1步:,可以直接计算。

(2) E2步:

(3) M步:注意有约束条件,所以使用拉格朗日乘子法:

,故有一阶条件:。从而,其中

还有一阶条件:,得到

最后,,有

对GMM而言,E步和M步在k=2的时候,求解过程可参见书上。

第七章:模型评估与选择

1. 概念: 我们有数据集,函数族和损失函数,这样得到最优的,然后求得

(有监督的学习)。之后就是对模型进行评估:的精度如何(使用测试集)?模型的选择就是的选择,使得测试误差比较小。

2. 方法:

(1) 数据充分:分成三块,1/2用来训练(train),1/4用来检验(validation),1/4用来测试(test)。其中validation

的概念是,在中,加入J函数来考虑函数族的复杂度,以避免过拟合。而validation就是来调正和选择这里的,再用train和validation重新训练模型。

最后,用test数据集,测试并且评估测试误差。

(2) 数据不充分:一种是cross-validation,分成k(比如5-10)份,极端的就是K=N,ave-win-out;另一种是bootstrap,后续章节详述。

Categories
互联网产业观察

新媒体营销中随机分组实验的失败

这个话题可以很深,我这里只是随便写写。当然我也不去定义什么是“新媒体”了...基本上下面可以视之为社交网络媒体。此文纯属若干无知的随便念叨,内行请无视。

记得原来在做社会实验的时候,最头疼的就是网络效应——这东西会让你的随机分组失效。如果网络扩散是均匀的也就罢了,这东西还不均匀,搞得随机分组基本上被破坏殆尽。今天和做社会网络营销这块儿同事聊起,发现他们在新媒体营销上也是遇到了类似的问题——传统的A/B test基本失效,因为control组会被极大程度的“污染”。和电视营销的地理隔离还不一样,社交网络是无孔不入的...

但是偏偏,我们还是希望可以利用这样的网络效应的——主动的传播岂不是更好?于是问题就变成了如何去精准衡量网络效应。

从我们以前的做法(可以参见我的硕士论文,in English),基本上是需要动用IV的...哎,然后这个IV还其难找无比。有些幸运的情况,IV是可以找到的,但是也需要一些外在的shock强行的打破现有的网络连接。

如果说要找一种比较简单的做法,那可能就是类似于spatial econometrics他们做的那样,对各个个体在空间中的位置进行加权。比如你要衡量微博营销的ROI,肯定要跟踪到实际覆盖的个体,然后在构造了网络结构的基础上,对个体的位置进行加权。但是讨厌的是,位置或者连接这些东西都是内生的...所以需要去找自然实验,然后去找工具变量...

总而言之,在我读过的为数不多的paper里面,可以很好的衡量网络效应的很少,而那些极少的还是控制了可控的资源的(比如实际的物品发放而不是新闻式传播)。感觉受新媒体的影响和冲击,很多传统的营销方式都在面临着极大的变化,做的好的往往不是分析人员算出来的而更多的是营销人员一步步摸索出来的...

所以,其实我想说的是,可能需要增加一些更好使用的指标来衡量新媒体营销的力量,而不是期待更好的分析方法的改进来支撑营销。后者还需时间来打磨(如果不是case by case的找IV的话)...