聊完特征,就要说说模型的选择与实现。虽然已经接触了不少机器学习方法和模型,但最近才对监督学习有了一些提纲挈领的认识,在介绍模型的同时对这些零散的知识进行简单的汇总。(谁让我健忘。。)
监督学习的基本模式
陈天奇大大有一篇将boost tree的文章里提到了监督学习的key concepts,抄来加深一下印象:
监督学习要素:样本(标记) 模型 参数 目标函数 优化方法
i. 模型和参数
模型指给定输入xi如何去预测输出 yi。我们比较常见的模型如线性模型(包括线性回归和logistic regression)采用了线性叠加的方式进行预测y^i=∑jwjxijy^i=∑jwjxij 。其实这里的预测yy可以有不同的解释,比如我们可以用它来作为回归目标的输出,或者进行sigmoid 变换得到概率,或者作为排序的指标等。而一个线性模型根据yy的解释不同(以及设计对应的目标函数)用到回归,分类或排序等场景。参数指我们需要学习的东西,在线性模型中,参数指我们的线性系数ww。
• Notations: i-th training example
• Model: how to make prediction given
• Parameters: the things we need to learn from data
ii. 目标函数:损失 + 正则
模型和参数本身指定了给定输入我们如何做预测,但是没有告诉我们如何去寻找一个比较好的参数,这个时候就需要目标函数登场了。一般的目标函数包含下面两项:
• Objective Function(目标函数)
常见的误差函数有L=∑nil(yi,y^i)L=∑inl(yi,y^i) 比如平方误差 l(yi,y^i)=(yi−y^i)2l(yi,y^i)=(yi−y^i)2 ,logistic误差函数(l(yi,y^i)=yiln(1+e−y^i)+(1−yi)ln(1+ey^i)l(yi,y^i)=yiln(1+e−y^i)+(1−yi)ln(1+ey^i) )等。而对于线性模型常见的正则化项有L2L2正则和L1L1正则。这样目标函数的设计来自于统计学习里面的一个重要概念叫做Bias-variance tradeoff,Bias可以理解为假设我们有无限多数据的时候,可以训练出最好的模型所拿到的误差。而Variance是因为我们只有有限数据,其中随机性带来的误差。目标中误差函数鼓励我们的模型尽量去拟合训练数据,这样相对来说最后的模型会有比较少的 bias。而正则化项则鼓励更加简单的模型。因为当模型简单之后,有限数据拟合出来结果的随机性比较小,不容易过拟合,使得最后模型的预测更加稳定
iii.优化方法:
给定目标函数之后如何学习模型参数进而优化目标函数,也就是怎么学的问题。不同的模型通常具有独特的优化方法,在讲述模型部分详述
常用模型概述
Tree Ensemble
现在在数据比赛中,效率最高、效果较好的常用模型就是基于分类或回归树的树形模型。下面就已有的一些资料进行简单整理: