前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1.2 广告算法专题 - 正则化

1.2 广告算法专题 - 正则化

作者头像
Python编程爱好者
发布2020-09-08 15:26:48
7890
发布2020-09-08 15:26:48
举报
文章被收录于专栏:Python编程爱好者

文章概览

  • L1/L2 正则化(Regularization)
  • 统一表达形式

针对上一个小节说道过的过拟合问题,改篇来简单讨论一个降低模型复杂度的方式 即:正则化,来降低非线性强的参数

L1/L2 正则化(Regularization)

我们随意给定 A、B、C、D、E、F、G 这 7 个点,

1.如果通过一个 6 次项的式子来拟合这些点的话(橙黄色虚线部分), 。。。

y = \theta_0 + \theta_1x_1 + \theta_2x_2 + \theta_3x_3 + \theta_4x_4 + \theta_5x_5 + \theta_6x_6

会有一个完美的拟合,但是可以发现一个问题,假设还有类似的一个点 H,那么该曲线是不是就没办法去拟合了。因此,想要说的是非线性越强,对于既有的点的拟合程度会很好,但是不具有泛化能力,没有概括全局数据的能力

2.假设我们仅仅用一次项来拟合的话(蓝色实线部分)

y = \theta_0 + \theta_1x_1

那么会发现可以更好的概括已有的数据,泛化能力较强

也就是如有有一种方法,可以将

y = \theta_0 + \theta_1x_1 + 0x_2 + 0x_3 + 0x_4 + 0x_5 + 0x_6

后面这些高次项变为 0 就好了,接下来我们来说说 L1/L2 正则化(Regularization)

残差方程:

J(\theta) = \frac{1}{2} \sum_{i = 0}^{m} (h_\theta(x^{(i)}) - y^{(i)})

此处我们简写为:

J(\theta) = [y_\theta(x) - y]^2
L1

的表达式:

J(\theta) = [y_\theta(x) - y]^2 + [ |\theta_1| +|\theta_2| + ··· +|\theta_n| ]
L2

的表达式:

J(\theta) = [y_\theta(x) - y]^2 + [ \theta_1^2 + \theta_2^2 + ··· + \theta_n^2 ]

下面用

L2 \text{ } regularization

来说明

机器学习是一个修改

\theta

来减下误差的过程,在减小误差的过程中,非线性越强的参数(比如说

\theta_6

)被修改的越严重,拟合出来的曲线更加的曲折。因此,要抑制非线性强的参数。

上图橙黄色的等高线是误差最小的地方,等高线上的误差值是一致的

残差方程是在红色线上产生的额外误差(也能理解为惩罚度),在黄圈上的额外误差也是一样. 所以在与等高线的交点上的点能让两个误差的合最小

另外,

L1 \text{ } regularization

使得正方形的解空间更容易在尖处产生稀疏解,从而简化参数

统一表达形式

J(\theta) = [y_\theta(x) - y]^2 + \lambda \sum_{i=1}^m \theta_i^p

为了控制这种正规化的强度,加上一个

\lambda

的参数,并可以通过交叉验证的方式进行选择合适的

\lambda

,最终拿到比较合适的回归方程来

最后,关于正则化还有很多可以展开来讲的,计划将常见机器学习的算法介绍的差不多的时候,会返回头来进行一些知识点的深入讲解!

接下来后面的内容会介绍Logistic回归以及相应的核心知识点~

作者:Johngo

配图:Pexels

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算广告生态 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • L1/L2 正则化(Regularization)
  • 统一表达形式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档