【机器学习】正则化详解和过拟合的解决

https://blog.csdn.net/weixin_45434953/article/details/130970273
上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题
左图:拟合成功;右图:过拟合
而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾下线性回归的代价函数:
J = 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2 J=2m1i=1mhθ(x(i)y(i))2我们可以人为地添加一些"惩罚项",比如: J = 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 + 1000 θ 3 2 + 1000 θ 4 2 J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+1000\theta_3^2+1000\theta_4^2 J=2m1i=1mhθ(x(i)y(i))2+1000θ32+1000θ42当我们要得出最小的代价函数的时候, θ 3 \theta_3 θ3 θ 4 \theta_4 θ4必须要尽可能接近于0,否则函数J会变得很大。对于假设函数 θ 0 + θ 1 x + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 \theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 θ0+θ1x+θ2x2+θ3x3+θ4x4来说 θ 3 \theta_3 θ3 θ 4 \theta_4 θ4接近于0会使得函数图像较为接近 θ 0 + θ 1 x + θ 2 x 2 \theta_0+\theta_1x+\theta_2x^2 θ0+θ1x+θ2x2,但是仍然保留有 θ 3 \theta_3 θ3 θ 4 \theta_4 θ4的特征,而不是简单地将它抛弃掉

简单来说,正则化能够在不丢失特征信息的情况下简化模型,使得曲线更加平滑而非“放飞自我”。假设房价有101个特征: θ 0 . . . . . . θ 1 00 \theta_0......\theta_100 θ0......θ100那么我们也能使用如下的正则化方式: J = [ 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 + λ ∑ j = 1 m θ j 2 ] J = [\frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+\lambda\sum_{j=1}^m\theta_j^2] J=[2m1i=1mhθ(x(i)y(i))2+λj=1mθj2]可以看到我们一般不对 θ 0 \theta_0 θ0进行正则化。其中 λ \lambda λ用于控制它们之间的权重。如果 λ \lambda λ太大,会使得函数假设函数近似于 θ 0 \theta_0 θ0也就是用一条直线去拟合,反而变成了欠拟合了,因此对 λ \lambda λ也需要小心设置。

线性回归正则化

对于正则化的线性回归,我们需要作如下修改-在这里插入图片描述
仔细观察可知道,粉色括号里的项恰好是正则化后的代价函数 J ( θ ) J(\theta) J(θ)的导数。我么不妨整理一下 θ j : = ( 1 − ∂ λ m ) θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x ( i ) \theta_j := (1-\partial\frac{\lambda}{m})\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})*x^{(i)} θj:=(1mλ)θjαm1i=1m(hθ(x(i))y(i))x(i)可以看到,正则化的梯度下降就是将 θ j \theta_j θj缩小一下,然后采用常规的梯度下降进行处理

如果我们采用正规方程,那么正则化的正规方程的形式则如下:
θ = ( X T X + λ [ 0 1 . . 1 ] ) − 1 X T y \theta = (X^TX+\lambda\begin{bmatrix} 0 & & & & \\ & 1& & & \\ & & .& & \\ & & & . & \\ & & & & 1 \end{bmatrix})^{-1}X^Ty θ=(XTX+λ 01..1 )1XTy
相比常规正规方程增加了一个矩阵后,只要 λ > 0 \lambda>0 λ>0小括号里的矩阵就一定是可逆的,因此是一定有计算结果的。这也回应了之前在介绍正规方程时, ( X T X ) − 1 X T y (X^TX)^{-1}X^Ty (XTX)1XTy中的矩阵求逆一旦遇到不可逆的矩阵该怎么办,答案就是采用正规化将其变成可逆的

逻辑(Logistics)回归正规化

在这里插入图片描述
当我们采用一个有很多无关特征的多项式进行拟合的时候,这些大量的特征会导致过拟合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350974.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 GhostNet | 从廉价操作中获取更多特征

论文地址:https://arxiv.org/abs/1911.11907 代码地址:https://github.com/huawei-noah/ghostnet 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络(CNN)很困难。特征图中的冗余是那些成功的神经网络的重要特征,但在神经架构设计中很少研究。本文提出了一种新的G…

【测试入门】测试用例经典设计方法 —— 因果图法

01、因果图设计测试用例的步骤 1、分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分。这样做的好处是,不必在一次处理过程中考虑所有的原因。没有固定的流程说明究竟分解到何种程度才算简单,需要测试…

妙啊!真实模拟面试 — 面试官究竟会怎么问 数据库索引呢?

什么是索引? 面试官:我看你项目中有做过 SQL 优化,那我们今天就来聊聊索引吧。 (索引能问些啥,无非是索引的概念、索引的使用规则、索引的分类、索引的原理。嘻嘻~我早有准备) 我:数据库中的…

一道面试题:餐馆模拟

前阵子遇到一个面试题,当时没有做出来,后来断断续续的用了一周的时间做了出来,但感觉也不完全对,先来看看题目,稍后再讨论。 问题 模拟一个餐馆,三个厨师,二个服务员,厨师单独做菜…

AI模拟面试官项目实战 | 项目概述

🎯摘要 看完本文,你可能有如下收获: 了解该项目的预览效果、了解技术栈、系统设计以及教程食用指南 ⭐️⭐️该收获仅供参考,真实收获以实物为准😇😇 ☀️系统概述 【AI模拟面试官】是一个模拟线上面试的…

软件测试面试题【2021模拟面试整理版(含答案)】

点击上方蓝色“程序员一凡”,选择“设为星标” 主页点击“领取资料”获取整理好的学习资源 一、问题预测 \1. 让简单介绍下自己(每次面试开场) \2. 让说下自己会的内容 \3. 看了哪些书籍(有问到) \4. 了解过哪些技…

Java程序员模拟面试,解析面试困扰和建议

模拟面试,相信大多数程序员都没有经历过,甚至还有从来没听说针对面试的辅导或者模拟面试啥的,所有的面试经验都来源于网上写的一些文章,然后再在面试的时候通过各种碰壁去揣测面试官在想啥。 前言 前几天组织了一次模拟面试直播&…

模拟面试题一

一、选择题 1、python不支持的数据类型有 A、charB、intC、floatD、list 1 参考答案:A 参考答案 2、打印输出结果:x "foo"y 2print(x y)A.foo B.foofoo C.foo2 D.2 E.An exception is thrown 1 D :一个是字符串&#…

前端面试题总结:模拟面试

1,问:请先自我介绍? 答:略 二,技术知识题 1,问:看你简历有项目经历,那在你之前的项目中,用到的技术栈有哪些? 答:主要使用过vue和微信小程序&…

模拟面试题回顾

模拟面试题回顾 1.servlet里面有哪些关键的方法? 讲到它的方法,就不可避免地去了解servlet的运行过程(也可以说是生命周期),如下图所示: 它的四个过程: ​ (1).当客户端第一次发送请求后,由容器&#xf…

java-模拟面试

讲一下快速排序算法 通过一次排序将数列分为两部分,一部分比另一部分数字都小 时间复杂度O(nlogn) 空间复杂度O(1) 先确定一个中间比较值,确定一个左指针(从头开始),右指针(从尾部开始) while循…

如何模拟面试?

我是艾木: 1.从学生到职场 当初毕业找工资的场景,至今还记忆犹新。 当时的自己还是学生的身份,正处于找工作的浪潮中,当时的校园招聘如火如荼,工作岗位也琳琅满目。一时间仿佛置身于百货商场之中,每个人都在…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期,降本增效、互联网毕业、暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣…

ChatGPT专业应用:模拟求职面试

正文共 663 字,阅读大约需要 3分钟 应届毕业生求职面试必备,您将在3分钟后获得以下超能力: 1.专属面试导师 2.掌握高频面试题回答要点 Beezy评级:B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 …

Python入门教程+项目实战-13.2节-集合的操作方法

目录 13.2.1 集合的常用操作方法 13.2.2 集合的查找 13.2.3 集合的添加 13.2.4 集合的删除 13.2.4 集合运算 13.2.5 知识要点 13.2.6 系统学习python 13.2.1 集合的常用操作方法 集合类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法&#xff…

谈谈互联网广告拍卖机制的发展:从GSP到DeepAuction

广告作为各互联网公司收入的大头,其拍卖机制设计因此也是关乎营收最为核心的方面。所谓的广告拍卖机制设计是指如何将有限的广告位分配给合适的广告,从而达到客户、平台以及用户三方的价值最优。 当前的广告拍卖被建模为暗拍的形式,即N个广告…

音乐人解密:究竟是如何一步一步成为音乐人的?

音乐人解密:究竟是如何一步一步成为音乐人的? 音乐是人类伟大的产物,近些年来越来越多的人都开始尝试学习音乐,成为一名音乐人。而艺术高考等途径也为许多想要学习音乐、成为职业歌手或者编曲师的人群提供了途径。然而想要成为一名…

C++学习之旅 - 指针

文章目录 指针的基本概念指针的定义与使用指针占用的内存空间空指针野指针cont修饰指针指针&数组访问数组中第一个元素(访问&指针)如何访问数组中的第二个字节 指针和函数 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一…

linux find命令格式及find命令详解

本文详细介绍了linux find命令格式及find命令案例,希望对您的学习有所帮助。1、find命令的一般形式为; find pathname -options [-print -exec -ok ...]2、find命令的参数; pathname: find命令所查找的目录路径。例如用.来表示当前目录&#…

app渗透-常见问题及绕过

app渗透-常见问题及绕过 6.app常见问题和绕过前言6.1反代理操作前言6.1.1判断6.1.2实例演示-探探6.1.3绕过1-r0capture6.1.4绕过2-proxifier6.1.5绕过3-小黄鸟 6.2证书校验前言6.2.1判断6.2.2浏览器校验和解决6.2.3桡过证书单项校验-xp框架6.2.3绕过证书双向校验 6.app常见问题…