机器学习算法3_正则化

机器学习算法第三篇

主要内容:正则化

 \  
 \  

过拟合

在机器学习的时候,对模型的选择上算法上一味追求对训练数据的预测能力,所选模型的复杂度往往会比真实的的模型更高,这种现象称为过拟合

例如: 对目标函数hθ(x)=θ1xi(1)+θ2xi(2)+...+θnxi(n)h_\theta(x) = \theta_1x_i^{(1)}+\theta_2x_i^{(2)} +...+\theta_nx_i^{(n)}hθ(x)=θ1xi(1)+θ2xi(2)+...+θnxi(n) 中的构建中,当项数超过一定项数后,项数继续增加,曲线越是复杂,对训练集数据的预测越是准确,但对测试集的预测效果反而越差,这种现象称为过拟合

 \  
 \  

正则化

在处理过拟合问题时候常规的代价函数J(θ1,θ2...θn)=12m∑i=1m(y^i−yi)2J(\theta_1,\theta_2...\theta_n)=\frac{1}{2m}\sum_{i=1}^m (\hat y_i-y_i)^2J(θ1,θ2...θn)=2m1i=1m(y^iyi)2无法对此进行控制
故科学家们在原代价函数中导入了正则化项(regularizer): λj(θ)\lambda j(\theta)λj(θ),l来解决该问题
正则化项一般是模型复杂度的单调递增模型,模型越复杂,正则化值就越大

在一般的回归问题上损失函数是平方损失,故正则化项也可以采用参数θ\thetaθ的L2范数,这种多项式模型被称为岭回归算法
J(θ1,θ2...θn)=12m∑i=1m(hθ(x)−yi)2+λ∑j=1nθj2J(\theta_1,\theta_2...\theta_n)=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x)-y_i)^2+ \lambda \sum_{j=1}^n \theta^2_jJ(θ1,θ2...θn)=2m1i=1m(hθ(x)yi)2+λj=1nθj2
正则化项也可以取L1范数正则化,这种多项式模型被称为LASSO算法
J(θ1,θ2...θn)=12m∑i=1m(hθ(x)−yi)2+λ∑j=1n∣θj∣J(\theta_1,\theta_2...\theta_n)=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x)-y_i)^2+ \lambda \sum_{j=1}^n \vert \theta_j\vertJ(θ1,θ2...θn)=2m1i=1m(hθ(x)yi)2+λj=1nθj

正则化后的损失函数J(θ1,θ2...θn)J(\theta_1,\theta_2...\theta_n)J(θ1,θ2...θn)加号左边部分一般称为经验风险,右边称为结构风险
λ\lambdaλ用来调节加号左边经验风险与右边结构风险的比例
经验风险较小的模型可能较为复杂(项数太多),此时模型的结构风险会增大,从而使求损失函数最小化的过程不容易产生过拟合

也可以这么说:
正则化可以筛选经验风险与结构风险同时最小的模型
 \  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值