逻辑回归 正则化

正则化

过拟合问题

对于模型,如果一个模型对于数据的偏差很大,不能能够很好的拟合数据的分布,称为欠拟合,或者说这个算法具有高偏差的特性。
如果一个模型虽然可以穿过所有的数据点,但是其图像波动很大,其同样也不能描述数据的分布,(其数据的分布是无法被泛化处理),称为过拟合,或者说这个算法具有高方差的特性。 在这种情况下,模型的参数过于多(有可能代价函数正好为0),以至于可能没有足够多的数据去约束它来获得一个假设函数。
过拟合现象往往会发生在参数过多,而训练样本过少的情况。减小过拟合现象的思路有两种:

  1. 尽可能的去掉那些影响因素很小的变量,这种方法虽然解决了过拟合问题,但是损失了精度。
  2. 正则化(Regularization)

代价函数的正则化

对于代价函数:
m i n θ 1 2 m Σ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 min_{θ} \frac{1}{2m} \Sigma_{i=1}^{m}(h_θ(x^{(i)})-y^{(i)})^2 minθ2m1Σi=1m(hθ(x(i))y(i))2

增加两个惩罚项 1000 θ 3 2 1000\theta^2_3 1000θ32 1000 θ 4 2 1000\theta^2_4 1000θ42

代价函数变为:
m i n θ 1 2 m Σ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + 1000 θ 3 2 + 1000 θ 4 2 min_{θ} \frac{1}{2m} \Sigma_{i=1}^{m}(h_θ(x^{(i)})-y^{(i)})^2+1000\theta^2_3+1000\theta^2_4 minθ2m1Σi=1m(hθ(x(i))y(i))2+1000θ32+1000θ42

如果要最小化这个函数,
那么 θ 3 \theta_3 θ3 θ 4 \theta_4 θ4就要尽可能的接近0,
那么最后拟合的结果(假设函数):
θ 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
仍然是一个类似的二次函数.
正则化的基本思想是如果所有的参数足够小,那么假设模型就更简单。

事实上,如果参数足够小,得到的函数就会越平滑,越简单,越不容易出现过拟合的问题

在实际上,对于大量的特征和大量的参数,
比如 x 1 . . x 100 x_1..x_{100} x1..x100 θ 0 . . . θ 100 \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_{\theta}=\frac{1}{2m}[\Sigma_{i=1}^{m}(h_θ(x^{(i)})-y^{(i)})^2+λ\Sigma_{j=1}^{m}\theta_j^2] Jθ=2m1[Σi=1m(hθ(x(i))y(i))2+λΣj=1mθj2]
其中 λ Σ j = 1 m θ j 2 λ\Sigma_{j=1}^{m}\theta_j^2 λΣj=1mθj2称为正则化项,它的目的是为了缩小每一项的参数

θ 0 \theta_0 θ0是否正则化对结果影响不大
λ的作用是对“+”号的前后(前:更好的拟合训练集,后:假设函数足够简单)两项进行取舍平衡,称为正则化系数

如果λ被设置的太大,那么所有参数的惩罚力度被加大,这些参数最后的结构都将全部接近于0,那么最后的假设函数将会变成 h θ ( x ) = θ 0 h_\theta(x)=θ_0 hθ(x)=θ0,最终导致欠拟合。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享86个节日PPT,总有一款适合您

分享86个节日PPT,总有一款适合您 86个节日PPT下载链接:https://pan.baidu.com/s/1J09nhufX_3gvT2XxZkKz6Q?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

【华为OD题库-044】跳房子1-java

题目 跳房子,也叫跳飞机,是—种世界性的儿童游戏,游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后—格。跳房子的过程中,可以向前跳,也可以向后跳。 假设房子的总格数是count,小红每回合可能连续跳…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的…

每天五分钟计算机视觉:AlexNet网络的结构特点

本文重点 在前面的一篇文章中,我们对AlexNet网络模型的参数进行了详细的介绍,本文对其网络模型的特点进行总结。 特点 1、AlexNet的网络结构比LeNet5更深,模型包括5个卷积层和3个全连接层。参数总量大概为249MB。 2、Alex使用了ReLu激活函…

基于Java SSM 学生宿舍管理系统

学生宿舍是同学最为熟悉的领域,假定学校有多栋宿舍楼,每栋楼有多层,每层有多个寝室,每个寝室可住多名学生,学生宿舍管理系统对学校的学生宿舍进行规范管理,其管理的对象及操作如下: 宿舍信息&am…

Frida hook框架环境搭建

Android逆向之hook框架Frida:Frida的环境搭建及入门实战_android frida-CSDN博客 https://app.yinxiang.com/fx/9dcb50f0-a6b3-4c93-bef4-c3d1197a2422 一,版本配置 frida 12.3.6 安卓 5-6 python3.7 frida 12.8.0 安…

vite 使用 vite-plugin-mock 和 mockjs 配置 mock 模式

vite 使用 vite-plugin-mock 和 mockjs 配置 mock 模式 当后端还没有完全弄好,而前端需要同时启动的时候,一般会使用 mock 模拟后端响应,这样在后端接口准备完成之后,前端能以较小的工作量和接入接口,完成生产开发。 …

javascript的Proxy

1. 什么是Proxy Proxy是ES6中新增的一个特性,它可以拦截对象的操作,提供了一个中间层来控制对目标对象的访问。简单来说,它可以对对象进行代理,从而实现对对象的监控、修改、过滤等操作。 2. 为什么出现Proxy 在JavaScript中&a…

在re:Invent上IBM宣布与亚马逊云科技携手,Amazon RDS for DB2正式亮相

11月29日,IBM在亚马逊云科技re:Invent 2023上宣布,与亚马逊云科技合作推出Amazon Relational Database Service(Amazon RDS)for Db2。这项全新的完全托管云服务旨在简化客户在混合云环境中管理人工智能(AI)…

electron-vue运用及案例代码

前言 Electron是一个使用JavaScript, HTML和CSS构建跨平台桌面应用程序的开源库。它允许开发者使用纯web技术创建原生应用程序,这使得web开发者能够利用他们已经掌握的web技术来构建桌面应用。 以下是一个简单的Electron应用程序的代码示例: // 引入Electron的主模块 co…

MDK5改造之格式化以及文件函数注释插件和主题应用

MDK5插件以及主题应用 前言一、主题修改1、主题文件下载2、主题应用 二、插件安装以及使用1.下载插件2、插件使用步骤 前言 为了写代码的心应手,先对MDK5进行改造 提示:以下是本篇文章正文内容,下面案例可供参考 🎉参考了其他大师…

结合贝叶斯定理浅谈商业银行员工异常行为排查

1.贝叶斯定理的数学表达 贝叶斯方法依据贝叶斯定理。关于贝叶斯定理解释如下:首先我们设定在事件B条件下,发生事件A的条件概率,即 ,从数学公式上,此条件概率等于事件A与事件B同时发生的概率除以事件B发生的概率。 上述…

代码随想录训练营第五十二天1143.最长公共子序列1035.不相交的线53. 最大子序和

1143.最长公共子序列 题目链接 1143. 最长公共子序列 - 力扣(LeetCode) 讲解链接 代码随想录 (programmercarl.com) 给定两个数组,求最长公共子序列,此时dp数组需要用二维的,dp[i][j]表示下表i-1.j-1所能拥有的最长公共…

状态模式-C++实现

状态模式是一种行为型设计模式,它允许对象内部状态发生改变时改变其行为,它将行为封装在不同的状态对象中,在运行时通过切换不同的状态可以表现出不同的行为。 状态模式一般有三种角色: 1、状态接口:定义了状态对象所…

Fiddler抓包工具之Fiddler+willow插件应用

安装Fiddler的安装包地址:fillderwillow 解压后安装fiddler4和willow1.4.*版本。 安装成功后,启动fiddler后会出现willow插件按钮: 说明安装成功。 重定向 willow重定向 进入willow界面后,通过右键->Add Project ->Add Ru…

鸿蒙开发学习笔记

快速入门 配置网络权限 1.打开项目的 module.json5 文件 2.在module 里面写下面代码 3.这样就可以使用网络图片了 4.模拟器上就可以正常显示网络图片了 5.官方文档有相吸说明 6. 华为官方编辑工具使用技巧(内置文档),鼠标移动到标签上&…

对于Kotlin DSL的简单解析与使用

DSL(领域特定语言)是Kotlin所带来的强大语法特性之一,也是Java中所不存在的功能,JetBrain也基于DSL开发出了众多的开源库,Kotlin的开发者可以使用DSL来重构许多已有的代码,甚至有可能做到彻底抛弃HTML,XML,…

Mysql——》int(1)和 int(10)区别

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

【Python百宝箱】数据格式化大作战:探索Python强大的转换和验证库

前言 在现代数据处理和转换的领域中,Python成为了一种强大而灵活的工具。数据格式的转换和验证对于数据科学家、工程师和分析师而言是至关重要的任务。本文将介绍一系列Python库,它们能够处理各种数据格式,从JSON、XML到Excel和Pickle等&…

electron持久化cookie的方法,从session中获取

文章目录 1. 持久化方法2. 代码说明3. 补充 1. 持久化方法 session.defaultSession.cookies.get({}).then((cookies) > {// 恢复cookie现场cookies.forEach((cookiesItem) > {let { secure false, domain "", path "" } cookiesItem;BrowserWin…