广义线性模型(二)

一、符号说明

上篇:广义线性模型(一) - 简书

新增符号说明:

l_{0} 先验正则化:||\gamma ||_0=\sum_{1}^nx_i

其中,当w_i!=0时,x_i=1 ;当w_i=0时,x_i=0

tol:误差容忍度

I_p:p阶单位方阵

\alpha,\lambda服从gamma分布

N:高斯分布

A:对角矩阵

\rho :控制l_1与l_2正则化的强度,若\rho =1,意味着你想要获得一个稀疏向量

二、正交匹配追踪法(OMP)

OMP算法近似拟合了一个带限制的线性模型,该限制影响模型的l_0范数,它可以找到近似非0元素的最优向量解。其最小化目标函数为:

\min_{ }||X\gamma -y||_{2}^2    subject   to    ||\gamma ||_0≤n(n为非0元素的个数)

是的,它和最小二乘法很相似,区别在于最小二乘法目标是使得残差平方和最小,而OMP是使得最终的权值向量中小于等于你指定的非0元素个数,所以每次迭代都需要重新计算残差,所以注定OMP的复杂度很高。

当然,你也可以指定一个误差容忍度来最小化||\gamma ||_0,其目标函数为:

min||\gamma ||_0    subject  to    ||X\gamma -y||_2^2≤tol

OMP主要运用在从带噪信号中提取稀疏信号,我们不妨将OMP运用于之前的例子,噪声数据量为1/2,容忍度设为0.01,经检验,OMP将原始维度5000维降到了76维,其R^2分数如下:

看,结果比之前的任何算法都要高,就是速度慢,当然设置不同的容忍度或者不同的n都可能有不同的结果。

三、贝叶斯岭回归

贝叶斯回归可以用于在预估阶段的参数正则化,正则化参数的选择不是人为的选择,而是手动调节数据值来实现。在岭回归中使用l_2正则项,其实是假定了w为高斯先验分布。

w的先验参数可以通过球面高斯公式得出:

p(w|\lambda)=N(w|\alpha,\lambda^{-1}I_p)

通过此公式得到的w先验模型称为贝叶斯岭回归,w服从高斯分布,之所以叫贝叶斯岭回归是因为它的两个超参数均值α与标准差λ服从gamma分布,在岭回归中使用的l_2正则项假定了w为高斯先验分布,而gamma分布又与高斯分布成共轭先验关系,所以其本质与岭回归很相似,所以称为贝叶斯岭回归。对于α与λ,其先验分布默认为:

α~\Gamma (α_1, α_2)λ~\Gamma (λ_1,λ_2),其中\alpha _1=\alpha _2=\lambda _1=\lambda _2=10^{-6}

3.1、贝叶斯岭回归示例

还是一样的数据集,参杂一半的噪声,经检验,贝叶斯岭回归对于高维数据集并没有压缩维度,意味着权值向量的每一元素都是非0元素,且最后的分数很低,大概为0.016。于是,我又进一步实验,将数据维度变为2000*50,分数几乎接近100%,并且没有压缩维度。

3.2、贝叶斯岭回归的优缺点

优点:对于病态数据的鲁棒性好、精确度高。

缺点:速度慢,不适用于高维数据。

四、主动相关决策理论(ARD)

ARD与贝叶斯岭回归很相似,唯一不同的是ARD会产生更稀疏的权值向量。ARD弱化了w高斯分布为球形的先验假设,即假设w分布为钰轴平行的椭圆高斯分布,每个权值w_i从一个中心在0点,方差为\lambda_i的高斯分布中采样得到。其w的先验分布公式为:

p(w|\lambda=N(w|0,A^{-1}),其中,diag(A)=\lambda=(\lambda_1,\lambda_2,..,\lambda_p)

\lambda_i~\Gamma (\lambda_1,\lambda_2),默认值同贝叶斯岭回归。

4.1、ARD示例:

与岭回归数据一样,经检验,该算法将50维数据降到10维,并且效果与贝叶斯回归差不多,也是几乎接近100%。但是博主也发现了它的另一个缺点:慢!比贝叶斯回归要慢,调参的需要注意将迭代次数调到10此左右。

4.2、ARD优缺点

优点:能够得到稀疏向量。

缺点:不适用于大型数据集,而且相当慢。

五、Logistic回归

请注意:虽然名字中带有回归,然而这是一个分类算法。

Logistic回归既可以选l_1正则化,也可以选l_2正则化,也可以将l_1正则化与l_2正则化相互组合。

l_2罚项的目标函数为:

arg\min_{w ,c}\frac{1}{2} w^Tw+C\sum_{i=1}^nlog(e^{-y_i(X_i^Tw+C)}+1)

l_1罚项的目标函数为:

arg\min_{w ,c}||w||_1+C\sum_{i=1}^nlog(e^{-y_i(X_i^Tw+C)}+1)

l_1与l_2的组合:

arg\min_{w ,c}\frac{1-\rho }{2}w^Tw +\rho ||w||_1+C\sum_{i=1}^nlog(e^{-y_i(X_i^Tw+C)}+1)

对于sklearn中求解器的选择,我们一般选择'saga',在一个经过缩放的数据集上,它的效果是最好的。

5.1、Logistic示例

分类数据集大小为2000*50,二分类,经检验,结果如下:

随机数据集分类性能报告

我们将其运用到鸢尾花数据集,看看效果:

鸢尾花数据集效果

大家也可以尝试其它不同的数据集。

六、随机梯度下降(SGD)

SGD在样本数量与特征数量都很大时很有用,它既可以用于分类,也可以用于回归。通过使用不同的损失函数,支持不同的罚项。例如,设定loss='log',则它拟合的就是一个Logistic回归模型,设定loss='hinge',则它拟合的就是SVM模型。

6.1、SGD示例

例如,对于鸢尾花数据集,我们使用loss='hinge'的效果与loss='log'进行对比

loss='log'
loss='hinge'

两者logistic更胜一筹,但是对于单独使用Logistic回归,效果似乎差远了,问题就在于这个随机上,它牺牲更高的正确度来换取更短的收敛时间。

七、感知器(Perceptron)

感知器是一种适用于大规模学习的简单算法。默认情况下,该算法无需设置学习率,不需要正则化处理,仅使用错误样本来更新模型。

7.1、感知器示例

根据官网的API我们通过二百万个数据来比较SGD与感知器的运行时间,其结果如下:

SGD VS 感知器

官网API说,感知器要比SGD略快,不晓得是哪里出了问题,但是最后的模型效果是胜于SGD的,读者也可以动手去实践下,如果有读者知晓原因,烦请告诉博主。

八、被动攻击算法(Passive Aggressive)

被动攻击算法是大规模学习的一类算法,它也也不需要手动输入学习率,但是需要正则化。

8.1、被动攻击算法示例

依旧是二百万个数据:

感知器VS被动攻击算法

可以看出,被动攻击算法时间略长,但是模型的正确率和召回率都比感知器的高,各有利弊吧。

九、稳健回归:处理离群点和模型错误

稳健回归特别适用于回归模型包含损坏数据的情况,如离群点或模型中的错误。稳健拟合的一个重要概念就是崩溃点,即拟合模型所能承受的离群值最大比例。

注意:在高维数据下,稳健拟合的效果可能会很差。

对于稳健回归预测器的选择,推荐选择RANSAC。RANSAC中文名为随机抽样一致性算法。它是一种非确定性算法,以一定概率输出一个可能的合理结果,依赖于迭代次数,该算法主要解决线性或非线性回归问题,在计算机视觉摄影测绘领域尤为流行。算法从全体样本输入中分出一个局内点集合,全体样本可能由于测量错误或对数据的假设错误而含有噪点、离群点。最终的模型仅从这个局内点集合中得出。

9.1、稳健回归示例

我们将稳健回归与贝叶斯岭回归作个对比:

稳健回归VS贝叶斯岭回归

运行时间下面是决定系数,可以看出来,两个算法效果差不多。

十、Huber回归

Huber回归与岭回归不同,因为它对于被分为异常值的样本应用了一个线性损失。如果某个样本的绝对误差小于某一阈值,样本就被分为内围值。但该算法又不同于稳健回归,因为它没有忽略异常值的影响,并分配给异常值较小的权重。Huber回归的最小化目标函数为:

arg\min_{w,\sigma }\sum_{i=1}^n(\sigma +H_m(\frac{X_iw-y_i}{\sigma } )\sigma)+\alpha||w||_2^2

其中当|z|<\epsilon 时H_m(z)=z^2;当|z|\geq\epsilon 时,H_m(z)=2\epsilon |z|-\epsilon ^2

\epsilon 就是你设的阈值,建议设置为1.35以实现95%的统计效率。

10.1、Huber示例

我们将Huber回归、岭回归、稳健回归三者对比下:

岭回归 VS 稳健回归 VS Huber回归

可以看出来,Huber回归时间较长,三者决定系数都差不多。

十一、多项式回归

机器学习中一种常见的模式,是使用线性模型训练数据的非线性函数。这种方法保持了一半快速的线性方法的性能,同时允许它们适应更广泛的数据范围。例如,我们有一个以下的双变量线性回归方程(基函数):

\hat{y} (w,x)=w_0+w_1x_1+w_2x_2

为了防止欠拟合,我们可以使得这个模型更加复杂:

\hat{y} (w,x)=w_0+w_1x_1+w_2x_2+w_3x_1x_2+w_4x_1^2+w_5x_2^2

由此,我们可以创造一个新的变量:

z=[x_1,x_2,x_1x_2,x_1^2,x_2^2]

那么,问题就可以转换成:

\hat{y} (w,z)=w_0+w_1z_1+w_2z_2+w_3z_3+w_4z_4+w_5z_5

该方程依旧是线性的,所以我们可以通过组合基函数的特征,建立高维线性方程,适应更广泛的数据。比如,多项式回归可以很方便的解决异或问题。

11.1、多项式回归示例

我们运用多项式回归解决异或问题:

首先数据集:X=[[0,0][0,1],[1,0],[1,1]]

目标值:y=[0,1,1,0]

基函数:\hat{y} =w_0+w_1x_1+w_2x_2

事实证明,你无法找到这样的基函数去准确的拟合这个数据集,但是我们通过组合特征可以做到。根据异或表达式:y=x_1\bar{x}_2+\bar{x}_1 x_2,由于特征量都是布尔代数,所以“非”很容易实现。现实中,多项式回归的特征组合可能需要多次尝试,以找到最合适的特征组合,接着就可以用其它回归算法进行拟合了。

如有错误,请指正;如有疑问,请留言。


参考:《Scikit-Learn官方API》

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

推荐阅读更多精彩内容

  • 四月,宜人而温润的四月,玉兰花、榆叶梅、杏花、桃花、梨花……经历了短暂的繁华后,悄然飘向大地。这时候,经过一个冬天...
    筱华de小天地阅读 861评论 2 2
  • 在这个平凡的世界上,有些人注定是被人等待的,而有些人注定要去等待别人。 人生的列车,一旦轰鸣着驶出了始发的站台,便...
    喜欢百合花阅读 188评论 0 1
  • 第十周精学部作业:①4.0践行你想承担什么角色?获得什么成长?用自己喜欢的方式在班级群或小组群分享。②推荐阅读《原...
    星灿济南阅读 213评论 0 0
  • 终于艰难的从床上爬起来,那时已经8.15分,昨晚,我想今天要看完2部电影,看完那本书我最在意的篇章,记住领导发布的...
    月大兔阅读 165评论 0 0