逻辑回归-为什么模型会更加侧重于学习那些数值比较大的列

news2024/9/29 5:26:53
np.random.seed(24)

features,labels = arrayGenReg(w=[1,-1,1])

将第一个特征取值调大100倍

features[:,:1] = features[:,:1] * 100
features
---
array([[ 132.92121726,   -0.77003345,    1.        ],
       [ -31.62803596,   -0.99081039,    1.        ],
       [-107.08162556,   -1.43871328,    1.        ],
       ...,
       [ 155.07577972,   -0.35986144,    1.        ],
       [-136.26716091,   -0.61353562,    1.        ],
       [-144.02913135,    0.50439425,    1.        ]])

np.linalg.lstsq(features,labels,rcond=-1)
---
(array([[ 0.00999619],
        [-0.99985281],
        [ 0.99970541]]),
 array([0.09300731]),
 3,
 array([3138.44895283,   31.98889632,   30.9814256 ]))

w = np.array([[0.0,0.0,0.0]]).T
w,w_rec = w_cal_rec(features,w,labels,lr_gd,lr=0.0001,itera_times=100)

plt.subplots(1,2,figsize=(10,4))
plt.subplot(121)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,0])
plt.subplot(122)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,1])

![[附件/Pasted image 20221202102831.png|500]]

可以看到第一个特征对应的系数 w 1 w_{1} w1大概在100次迭代后就到到达了解析解,并在附近震荡;但是 w 2 w_{2} w2,显然距离解析解还有很远的距离,但此时模型主要还是在调整特征取值大的 w 1 w_{1} w1

理性上理解一下,即使 w 1 w_{1} w1只动一小点,评估指标就可以有很大的变化,这要是,但是 w 2 w_{2} w2移动一点,却对评估指标作用不大,因此模型会更加侧重于学习那些数值比较大的列

plt.plot(np.array(w_rec)[:,0],np.array(w_rec)[:,1],'-')

![[附件/Pasted image 20221202103443.png|400]]

这是 w 1 , w 2 w_{1},w_{2} w1,w2的坐标变化图,由此图我们可以大概估计,如果能画出等高线图,等高线应该是一个椭圆形,长轴和 y y y轴也就是 w 2 w_{2} w2平行,且长轴远远长于短轴,这就导致初始的 w w w取值在非长轴的任意位置,其梯度向量都是近乎或者完全垂直于长轴的,再加上学习率较大,每次迭代后基本到达对侧的相同位置,下次的梯度向量仍然是近乎或者完全垂直于长轴,几乎没有在 y y y方向移动的分量,这就使得模型会更加侧重于学习那些数值比较大的列

之所以如此震荡是因为学习率选择的原因,如果调小学习率就可能不会有震荡了

w = np.array([[0.0,0.0,0.0]]).T
w,w_rec = w_cal_rec(features,w,labels,lr_gd,lr=0.00001,itera_times=100)

plt.subplots(1,2,figsize=(10,4))
plt.subplot(121)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,0])
plt.subplot(122)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,1])

![[附件/Pasted image 20221202104138.png|500]]

归一化后模型对于每个特征的学习会平均很多

w = np.array([[0.0,0.0,0.0]]).T
w,w_rec = w_cal_rec(features,w,labels,lr_gd,lr=0.3,itera_times=500)

plt.subplots(1,2,figsize=(10,4))
plt.subplot(121)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,0])
plt.subplot(122)
plt.plot(range(len(w_rec)),np.array(w_rec)[:,1])

![[附件/Pasted image 20221202104443.png|500]]

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

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

相关文章

python爬取网页内的指定内容-不需要技术一样爬取网页详细教程

爬虫文章采集,我们怎么利用爬虫采集自己想要的文章内容,我们需要学习python爬虫吗?如果完全靠自己自学,又是从零基础开始学习Python的情况下,按照每个人的学习和理解能力的不同,我认为大致上需要半年到一年…

【网络杂烩 ---> 网络安全】DLL 注入 --- c/c++ 代码实现(超 · 详细)

麻了,之前写的博客全是收藏,没人点赞,来点赞行不行! GitHub同步更新(已分类):Data_Structure_And_Algorithm-Review 公众号:URLeisure 的复习仓库 公众号二维码见文末 以下是本篇…

我国火箭回收历程介绍

引言 火箭回收技术对于节约火箭发射成本具有重要意义,中国的火箭回收技术研发步履不停,本文将总结中国的可重复使用发动机和垂直回收火箭发展现状,数据更新时间为2022年11月11日。如需了解火箭回收相关概念. 提示:本文图片和表格…

Loss模块

导入包 from utils import cos_sim, euclidean_dist 方法 EucSoftmax 变量 “”"Calculate cos distance loss. Args:protos: protos vector in now episode (**class_size, hidden_size**)querys: queres vector to classify **(querys_len, hidden_size)**querys_y…

深浅拷贝的区别?如何实现一个深拷贝?

一.数据类型存储 js中存在两大数据类型: 基本数据类型:保存在栈内存中; 引用数据类型:保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中。 二.浅拷贝 浅拷贝:…

CRM系统的功能有哪些?

**CRM系统**的功能有:1、联系人管理;2、沟通跟踪;3、潜客管理;4、电子邮件集成;5、文档管理;6、报价/提案管理;7、商机管理;8、工作流自动化;9、报表/分析;10…

利用Seagate service获得system shell

这是挖掘 CVE-2022-40286 漏洞的记录。 闲来无事,我上网随便找了一个驱动来进行测试。我想找一个知名公司的产品,但是又不能是太偏太难懂的东西。 我最先发现了一个叫"Seagate Media Sync"的软件,这是一个将文件复制到希捷无线硬…

SR-MPLS技术基础讲解

目录 SR-MPLS基础概念 使用Segment Routeing MPLS技术的优点 Segment Routeing MPLS的基本原理 SRGB Segment ID Bind SID 粘连标签 OSPF对于SR-MPLS的扩展 OSPF对邻接SID做了细分 10类LSA定义的TLV类型 10类LSA定义的TLV的报文格式 ISIS对SR-MPLS的扩展…

pyinstaller瘦身指南

目录说明无优化直接打包优化:创建专用虚拟环境原因分析和总结说明 之前写了一个自动化办公的python脚本,按需求打包exe。经过不断优化打包过程,把26.1MB的文件变成了9.5MB的文件。 打包工具pyinstaller。 安装: pip install pyi…

Ubuntu1804里进行KITTI数据集可视化操作

需要做的准备工作 1、需要提前安装kitti2bag(终端输入即可安装) pip install kitti2bag 如果没有pip,按照Ubuntu给的提示先安装pip 2、下载kitti数据集(下载圈出的两部分) kitti数据集的百度网盘链接 kitti数据集链接_FYY2LHH的博客-CSDN博客 文件存放位置如图 上图…

Android Material Design之Chip, ChipGroup(十二)

效果图 资源引入 implementation com.google.android.material:material:1.4.0属性 Chip 属性描述android:id控件idstyle样式属性系统默认4种 1.style/Widget.MaterialComponents.Chip.Entry 2.style/Widget.MaterialComponents.Chip.Choice3.style/Widget.MaterialCompon…

集团资金管理BI分析的三个关键节点

集团资金管理方面的商业智能BI分析怎么做?从财务角度来说,企业的管理是以财务管理为中心,财务管理以资金管理为中心,资金管理以现金流量为中心。围绕资金管理至少需要考虑三个方面的内容:安全、收益和效率。 在商业智…

【JavaEE】JavaScript(WebAPI)

努力经营当下,直至未来明朗! 文章目录前言一、前置知识二、【DOM】【获取元素】【事件】【操作元素】1.【获取/修改元素的内容】2.【获取/修改元素属性】3.【获取/修改 表单元素属性】4.【获取/修改样式属性】【操作节点】1.【新增节点】2.【删除节点】&…

【2-3个月左右录用】物联网、无线通信类、人工智能、传感器、人机交互等领域必投快刊,进展顺利,12月截稿

【期刊简介】3.0-4.0,JCR2/3区,中科院4区 【检索情况】SCI在检,正刊 【征稿领域】安全和隐私雾云辅助物联网网络 【参考周期】2-3个月左右 【截稿日期】2022年12月31日 【期刊简介】2.0-3.0,JCR3区,中科院4区 【检索情…

【白嫖】如何低价续费服务器

背景 现在各大云服务商的学生价服务器都已经关闭了,华为云、阿里云、百度云,以前都有学生价服务器,一年只要99。现在我找半天都没找到入口,而原价的一年得500起步。。。 但是!!!腾讯虽然也取消了…

【系统性学习】Linux Shell易忘重点整理

本文主要基于《实用Linux Shell编程》总结,并加入一些网上查询资料和博主自己的推断。 其中命令相关的,已抽取出来在另一篇系统性学习】Linux Shell常用命令中,可以一起使用。 文章目录一、基础知识二、命令与环境三、变量和数组四、条件流程…

Linux多线程C++版(八) 线程同步方式-----条件变量

目录1.条件变量基本概念2.条件变量创建和销毁3.条件变量等待操作4.条件变量通知(唤醒)操作5.代码了解线程同步6.线程的状态转换7.代码改进--从一对一到一对多1.条件变量基本概念 互斥锁的缺点是它只有两种状态:锁定和非锁定条件变量通过允许线程阻塞和等待另一个线…

Kamiya丨Kamiya艾美捷抗FLAG多克隆说明书

Kamiya艾美捷抗FLAG多克隆化学性质: 程序:用FLAG肽免疫家兔与KLH偶联。多次免疫后在弗氏佐剂中收集血清使用固定在固相上的肽。 规范: 使用氨基末端分析抗体Met FLAG BAP、氨基末端FLAG-BAP和羧基末端FLAG-BAP融合蛋白和Invitrogen Posite…

跳槽,从这一个坑,跳进另外一个坑

软件测试员跳槽有一个奇怪的现象:那些跳槽的测试员们,总是从一个坑,跳进另一个坑中,无论怎么折腾,也没能拿到更好的offer,更别说,薪资实现爆炸式增长,自身价值得到升华~ 在如今经验…

【Web安全】注入攻击

目录 前言 1、注入攻击 1.1 SQL注入 1.2 数据库攻击技巧 1.2.1 常见的攻击技巧 1.2.2 命令执行 1.2.3 攻击存储过程 1.2.4 编码问题 1.2.5 SQL Column Truncation 1.3 正确防御SQL注入 1.4 其他注入攻击 1.4.1 XML注入 1.4.2 代码注入 1.4.3 CRLF注入 前言 年…