1.正则化线性回归

对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程。

正则化线性回归的代价函数为: J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta) = \frac{1}{2m} \left[ \sum_{i=1}^{m} \left( h_{\theta}(x^{(i)}) - y^{(i)} \right)^2 + \lambda \sum_{j=1}^{n} \theta_j^2 \right] J(θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]
如果我们要使用梯度下降法令这个代价函数最小化,因为我们未对其进行正则化,所以梯度下降算法将分两种情形:
在这里插入图片描述
上面的算法中𝑗 = 1,2, . . . , 𝑛 时的更新式子进行调整可得:
θ j : = θ j ( 1 − a λ m ) − a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j := \theta_j \left(1 - a \frac{\lambda}{m}\right) - a \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)}) x_j^{(i)} θj:=θj(1amλ)am1i=1m(hθ(x(i))y(i))xj(i)可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令𝜃值减少了一个额外的值。

我们同样也可以利用正规方程来求解正则化线性回归模型,方法如下所示:
在这里插入图片描述
图中的矩阵尺寸为 (𝑛 + 1) ∗ (𝑛 + 1)

2.正则化的逻辑回归模型

针对逻辑回归问题,我们在之前已经学习过两种优化算法:我们首先学习了使用梯度下降法来优化代价函数𝐽(𝜃),接下来学习了更高级的优化算法,这些高级优化算法需要你自己设计代价函数𝐽(𝜃)。
在这里插入图片描述
自己计算导数同样对于逻辑回归,我们也给代价函数增加一个正则化的表达式,得到代价函数:
J ( θ ) = 1 m ∑ i = 1 m [ − y ( i ) log ⁡ ( h θ ( x ( i ) ) ) − ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta) = \frac{1}{m} \sum_{i=1}^{m} \left[ -y^{(i)} \log \left( h_{\theta}(x^{(i)}) \right) - (1 - y^{(i)}) \log \left( 1 - h_{\theta}(x^{(i)}) \right) \right] + \frac{\lambda}{2m} \sum_{j=1}^{n} \theta_j^2 J(θ)=m1i=1m[y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(i)))]+2mλj=1nθj2
Python 代码:

import numpy as np
def costReg(theta, X, y, learningRate):theta = np.matrix(theta)X = np.matrix(X)y = np.matrix(y)first = np.multiply(-y, np.log(sigmoid(X*theta.T)))second = np.multiply((1 - y), np.log(1 - sigmoid(X*theta.T)))reg = (learningRate / (2 * len(X))* np.sum(np.power(theta[:,1:the
ta.shape[1]],2))return np.sum(first - second) / (len(X)) + reg

要最小化该代价函数,通过求导,得出梯度下降算法为:在这里插入图片描述
注:看上去同线性回归一样,但是知道 h 𝜃 ( 𝑥 ) = 𝑔 ( 𝜃 𝑇 𝑋 ) ℎ_𝜃(𝑥) = 𝑔(𝜃^𝑇𝑋) h𝜃(x)=g(𝜃TX),所以与线性回归不同

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

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

相关文章

Unity中的Resources加载

Unity的Resources加载是Unity引擎中一种在运行时动态加载资源(assets)的方式,允许开发者将资源放置在特定的Resources文件夹中,并通过代码按名称加载这些资源,而无需在场景中预先引用。这种方式在需要动态加载资源时非…

对Vue2响应式原理的理解-总结

根据这张图进行总结 在组件实例初始化阶段,通过 observe() 方法对 data 对象进行递归遍历。在这个过程中,Vue 使用 Object.defineProperty() 为data 中的每个属性定义 getter 和 setter 来拦截对象属性的“读取“操作和“写入”操作。 Vue 的依赖追踪是…

基于深度学习的智能音频增强系统:技术与实践

前言 在音频处理领域,音频增强技术一直是研究的热点。音频增强的目标是改善音频信号的质量,去除噪声、回声等干扰,提高音频的可听性和可用性。传统的音频增强方法主要依赖于信号处理技术,如滤波器设计、频谱减法等,但这…

从代码学习深度强化学习 - DQN PyTorch版

文章目录 前言DQN 算法核心思想Q-Learning 与函数近似经验回放 (Experience Replay)目标网络 (Target Network)PyTorch 代码实现详解1. 环境与辅助函数2. 经验回放池 (ReplayBuffer)3. Q网络 (Qnet)4. DQN 主类5. 训练循环6. 设置超参数与开始训练训练结果与分析总结前言 欢迎…

AI与大数据如何驱动工业品电商平台的智能决策?

在轰鸣的工厂里,一台关键设备因某个密封圈失效而骤然停机。生产线停滞、订单延误、经济损失每分钟都在扩大。此刻,采购经理在工业品电商平台上疯狂搜索,却迷失在海量零件参数与供应商信息中。工业品的沉默,往往意味着生产线的沉默…

连接器全解析:数据库连接器和文件连接器的区别和联系

目录 一、数据库连接器和文件连接器的基本概念 1. 数据库连接器 2. 文件连接器 二、数据库连接器和文件连接器的区别 1. 数据存储方式 2. 数据处理能力 3. 数据安全性 4. 数据更新频率 三、数据库连接器和文件连接器的联系 1. 数据交互 2. 数据处理流程 3. 应用场景…

Uniapp 中根据不同离开页面方式处理 `onHide` 的方法

Uniapp 中根据不同离开页面方式处理 onHide 的方法 在 Uniapp 开发中,onHide 生命周期会在页面隐藏时触发,但默认无法直接区分用户是通过何种方式离开页面的。不过我们可以通过组合其他钩子函数和路由事件来实现对不同离开方式的识别和处理。 一、常见…

使用Visual Studio Code实现文件比较功能

Visual Studio Code 中如何使用文件比较功能? 在 Visual Studio Code (VS Code) 中使用“比较文件”功能来查看两个文件之间的差异是非常直观的。 以下是具体步骤: 使用“比较文件”功能 打开 VS Code: 启动 VS Code 编辑器。 打开第一…

(40)华为云平台cce中挂载nginx等配置文件方法

直接在负载中添加数据存储: 将nginx.conf文件分别存放在集群中每个cce节点对应的路径下即可(防止pod飘节点找不到nginx.conf) 2.直接添加配置项与密钥: 添加对应的key与value即可(nginx.conf的具体配置写在value中&am…

web布局09

Flexbox 是现代 Web 布局的主流技术之一,它提供了一种有效的方式来定位 、排序 和 分布元素,即使在视窗或元素大小不明确或动态变化时亦是如此。Flexbox 的优势可以用一句话来表达:“在不需要复杂的计算之下,元素的大小和顺序可以…

Redux and vue devtools插件下载

Redux and vue devtools插件下载 插件下载地址 收藏猫插件

深入理解SQLMesh中的SCD Type 2:缓慢变化维度的实现与管理

在数据仓库和商业智能领域,处理随时间变化的数据是一个常见且具有挑战性的任务。缓慢变化维度(Slowly Changing Dimensions, SCD)是解决这一问题的经典模式。本文将深入探讨SQLMesh中SCD Type 2的实现方式、配置选项以及实际应用场景。 什么是SCD Type 2&#xff1f…

如何保证MySQL与Redis数据一致性方案详解

目录 一、数据不一致性的根源 1.1 典型不一致场景 1.2 关键矛盾点 二、一致性保障策略 2.1 基础策略:更新数据库与缓存的时序选择 (1)先更新数据库,再删除缓存 (2)先删缓存,再更新数据库…

JSON-RPC 2.0 与 1.0 对比总结

JSON-RPC 2.0 与 1.0 对比总结 一、核心特性对比 特性JSON-RPC 1.0JSON-RPC 2.0协议版本标识无显式版本字段,依赖 method 和参数结构区分[5]。强制包含 "jsonrpc": "2.0" 字段,明确版本[1][4]。参数结构仅支持索引数组(…

C# 事件详解

C# 事件 一、事件二、事件的应用三、事件的自定义声明 一、事件 定义:“a thing that happens, especially something important” / “能够发生的什么事情”角色:使对象或类具备通知能力的成员使用:用于对象或类间的动作协调与信息传递事件…

青少年编程与数学 01-011 系统软件简介 24 Kubernetes 容器编排系统

青少年编程与数学 01-011 系统软件简介 24 Kubernetes 容器编排系统 一、历史沿革(一)起源1. Google 内部起源 (二)开源后的关键事件(三)社区治理 二、技术架构(一)分层设计哲学&…

[C++] : 谈谈IO流

C IO流 引言 谈到IO流,有些读者可能脑海中第一个想到的C程序员的最基础的std::cout , std::cin两个类的使用,对的,这个就是一个典型的IO流,所以逆天我们这篇文章会基于C IO流的原理和各种应用场景进行深入的解读。 C…

Kafka 3.0零拷贝技术全链路源码深度剖析:从发送端到日志存储的极致优化

在分布式消息系统领域,Kafka凭借高吞吐、低延迟的特性成为行业首选。而零拷贝技术作为Kafka性能优化的核心引擎,贯穿于消息从生产者发送、Broker接收存储到消费者读取的全生命周期。本文基于Kafka 3.0版本,深入源码层面,对零拷贝技…

利益驱动机制下开源AI智能名片链动2+1模式与S2B2C商城小程序的商业协同研究

摘要:在数字经济时代,利益驱动作为用户行为激励的核心逻辑,正通过技术创新实现模式升级。本文基于“利益驱动”理论框架,结合“开源AI智能名片链动21模式S2B2C商城小程序”的技术架构,系统分析物质利益(返现…

pytest的前置后置条件

1. setUp()和tearDown() setup()函数主要是进行测试前的初始化工作,比如:在接口测试前面做一些前置的参数赋值,数据库操作等等。 teardown()函数是测试后的清除工作,比如:参数还原或销毁,数据库的还原恢复…