建站之星做网站/windows优化大师软件介绍

建站之星做网站,windows优化大师软件介绍,做一个网站成本多少钱,WordPress主题安全检查一、线性模型基本形式 线性模型旨在通过线性组合输入特征来预测输出。其一般形式为: 其中: x ( x 1 , x 2 , ⋯ , x d ) \mathbf{x}(x_1,x_2,\cdots,x_d) x(x1​,x2​,⋯,xd​) 是输入特征向量,包含 d d d 个特征。 w ( w 1 , w 2 , ⋯ ,…

一、线性模型基本形式

线性模型旨在通过线性组合输入特征来预测输出。其一般形式为:

在这里插入图片描述

其中:

  • x = ( x 1 , x 2 , ⋯ , x d ) \mathbf{x}=(x_1,x_2,\cdots,x_d) x=(x1,x2,,xd) 是输入特征向量,包含 d d d 个特征。
  • w = ( w 1 , w 2 , ⋯ , w d ) \mathbf{w}=(w_1,w_2,\cdots,w_d) w=(w1,w2,,wd) 是权重向量,每个元素 w i w_i wi 表示对应特征的重要性。
  • w 0 = b w_0 = b w0=b 是偏置项,允许模型在没有任何输入特征时也能进行预测。

二、线性回归

线性回归用于预测连续值,其目标是找到最佳的 w \mathbf{w} w b b b 以最小化预测值 y ^ \hat{y} y^ 与真实值 y y y 之间的均方误差(MSE)。给定一组包含 m m m 个样本的数据集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x m , y m ) } \{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),\cdots,(\mathbf{x}_m,y_m)\} {(x1,y1),(x2,y2),,(xm,ym)},均方误差的计算公式如下:

在这里插入图片描述

通常使用梯度下降法来优化这个目标函数,其更新规则如下:

对于权重 w j w_j wj j = 1 , 2 , ⋯ , d j = 1,2,\cdots,d j=1,2,,d):
在这里插入图片描述

对于偏置项 b b b
在这里插入图片描述

其中 α \alpha α 是学习率,控制每次更新的步长。

三、对数几率回归(逻辑回归)

逻辑回归用于二分类问题,将线性函数的输出通过逻辑函数(sigmoid 函数)转换为概率。逻辑函数定义为:
在这里插入图片描述

其目标是最大化似然函数,等价于最小化对数似然损失函数:

在这里插入图片描述

四、多分类学习

对于多分类问题,常用 softmax 函数将线性函数的结果转化为概率分布。假设类别数为 K K K,对于样本 i i i,首先计算线性函数的输出 z i k = w k T x i + b k z_{ik}=\mathbf{w}_k^T\mathbf{x}_i + b_k zik=wkTxi+bk,然后使用 softmax 函数:
在这里插入图片描述

其交叉熵损失函数为:

在这里插入图片描述

其中 y i k y_{ik} yik 是一个 one-hot 编码向量,如果样本 i i i 属于类别 k k k,则 y i k = 1 y_{ik}=1 yik=1,否则 y i k = 0 y_{ik}=0 yik=0

五、类别不平衡问题

类别不平衡问题发生在不同类别样本数量差异较大时,这可能导致模型偏向于多数类。常见的解决方法包括:

1. 重采样

  • 过采样:复制少数类样本以增加其数量。
  • 欠采样:删除多数类样本以减少其数量。

2. 代价敏感学习

  • 在损失函数中为不同类别赋予不同的权重,使得少数类的错误分类代价更高。

代码示例

线性回归示例

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt# 生成线性回归数据
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 初始化线性回归模型
model = LinearRegression()# 训练模型
model.fit(X_train, y_train)# 预测
y_pred = model.predict(X_test)# 打印模型参数
print(f"Intercept: {model.intercept_}")
print(f"Coefficients: {model.coef_}")# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")# 可视化结果
plt.scatter(X_test, y_test)
plt.plot(X_test, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression')
plt.show()

在这里插入图片描述

逻辑回归示例

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt# 生成二分类数据
np.random.seed(42)
X = np.random.randn(100, 2)
y = (X[:, 0] + X[:, 1] > 0).astype(int)# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 初始化逻辑回归模型
model = LogisticRegression()# 训练模型
model.fit(X_train, y_train)# 预测
y_pred = model.predict(X_test)# 计算准确率
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy: {acc}")# 可视化决策边界
h = 0.02
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.coolwarm, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Logistic Regression')
plt.show()

在这里插入图片描述

多分类逻辑回归示例

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt# 生成多分类数据
# 调整 n_clusters_per_class 为 1 或调整 n_classes 为 2 或调整 n_informative 为 3 等
x, y = make_classification(n_samples=200, n_features=2, n_informative=2, n_redundant=0, n_classes=2, random_state=42)# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)# 初始化多分类逻辑回归模型
model = LogisticRegression(multi_class='multinomial', solver='lbfgs')# 训练模型
model.fit(X_train, y_train)# 预测
y_pred = model.predict(X_test)# 计算准确率
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy: {acc}")# 可视化决策边界
h = 0.02
x_min, x_max = x[:, 0].min() - 1, x[:, 0].max() + 1
y_min, y_max = x[:, 1].min() - 1, x[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.coolwarm, alpha=0.8)
plt.scatter(x[:, 0], x[:, 1], c=y, edgecolors='k')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Multiclass Logistic Regression')
plt.show()

在这里插入图片描述

类别不平衡问题示例(过采样)

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, f1_score
from sklearn.utils import resample# 生成类别不平衡数据
X, y = make_classification(n_samples=1000, n_features=2, n_informative=2, n_redundant=0, weights=[0.9, 0.1], random_state=42)# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 原始模型
model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(f"Original Accuracy: {accuracy_score(y_test, y_pred)}")
print(f"Original F1-score: {f1_score(y_test, y_pred)}")# 过采样少数类
X_minority = X_train[y_train == 1]
y_minority = y_train[y_train == 1]
X_minority_upsampled, y_minority_upsampled = resample(X_minority, y_minority, replace=True, n_samples=X_train[y_train == 0].shape[0], random_state=42)
X_train_upsampled = np.vstack((X_train[y_train == 0], X_minority_upsampled))
y_train_upsampled = np.hstack((y_train[y_train == 0], y_minority_upsampled))# 过采样后的模型
model_upsampled = LogisticRegression()
model_upsampled.fit(X_train_upsampled, y_train_upsampled)
y_pred_upsampled = model_upsampled.predict(X_test)
print(f"Upsampled Accuracy: {accuracy_score(y_test, y_pred_upsampled)}")
print(f"Upsampled F1-score: {f1_score(y_test, y_pred_upsampled)}")

在这里插入图片描述

代码解释

线性回归代码

  • np.random.rand(100, 1) 生成 100 个样本的特征数据。
  • LinearRegression() 创建线性回归模型。
  • model.fit(X_train, y_train) 训练模型。
  • model.predict(X_test) 进行预测。
  • mean_squared_error(y_test, y_pred) 计算均方误差。

逻辑回归代码

  • np.random.randn(100, 2) 生成二分类数据。
  • LogisticRegression() 创建逻辑回归模型。
  • model.fit(X_train, y_train) 训练模型。
  • accuracy_score(y_test, y_pred) 计算准确率。
  • 使用 meshgridcontourf 绘制决策边界。

多分类逻辑回归代码

  • make_classification 生成多分类数据。
  • LogisticRegression(multi_class='multinomial', solver='lbfgs') 创建多分类逻辑回归模型。
  • model.fit(X_train, y_train) 训练模型。
  • accuracy_score(y_test, y_pred) 计算准确率。

类别不平衡代码

  • make_classification 生成类别不平衡数据,通过 weights 参数控制类别比例。
  • resample 函数用于过采样少数类。
  • 比较原始模型和过采样后模型的准确率和 F1-score。

在这里插入图片描述

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

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

相关文章

基于千帆(ERNIE-Functions-8K)Function Calling的简单使用

1.Function Calling是什么? 1.1 概念 Function calling是一种将LLM(大语言模型Large language model)连接外部工具的能力,LLM经过微调后,可以检测出何时需要调用函数以及需要调用函数的方法名及参数,并返回给调用方以便调用外部…

Deep Attentional Guided Image Filtering

This work achieved the first place in the real depth map SR challenge held in ACM ICMR 2021. 目的:从一个target image(如低分辨的深度图)和guidance image(如高分辨的RGB图),得到输出(如高分辨的深度图)。 主要思想是考虑了target和guidance之间的…

SpringBoot+Lombok项目实体属性名xXxx格式,前端接收不到

问题解析 今天发现后端传给前端的实体类中,有属性为xXxxx格式的,前端也使用相同名称接收,结果却不显示值!研究了一会发现接口请求回来后,原xXxxx的属性名,会被转为全小写。具体原因为:使用Lombo…

高级运维:shell练习2

1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。 vim check.sh #!/bin/bash# 定义网络前缀 network_prefix"192.168.1"# 循环遍历1-254的IP for i in {1..254}; do# 构造完整的IP地址ip"$network_…

为深度学习创建PyTorch张量 - 最佳选项

为深度学习创建PyTorch张量 - 最佳选项 正如我们所看到的,PyTorch张量是torch.Tensor​ PyTorch类的实例。张量的抽象概念与PyTorch张量之间的区别在于,PyTorch张量为我们提供了一个可以在代码中操作的具体实现。 在上一篇文章中,我们看到了…

28.找出字符串中第一个匹配项的下标【力扣】KMP前缀表 ≈ find() 函数、暴力解法

class Solution { public: //得到前缀表void getNext(int *next,string needle){int j0;for(int i1;i<needle.size();i){while(j>0 && needle[j]!needle[i]) jnext[j-1];//**j>0**>j0是出口if(needle[i]needle[j]) j;next[i]j;//若写入if中&#xff0c;则该…

mysql 创建临时表报错

1. 问题描述 5.7.31 版本 mysql 数据库创建临时表报错 -- 报错语句 CREATE TEMPORARY TABLE temp_table_name SELECT * FROM table_name LIMIT 0;报错截图 [HY000][1005] Can’t create table ‘new_tbl’ (errno: 13) 2. 解决方案 步骤一&#xff1a; 查询 linux m…

使用 WPF 和 C# 将纹理应用于三角形

此示例展示了如何将纹理应用于三角形,以使场景比覆盖纯色的场景更逼真。以下是为三角形添加纹理的基本步骤。 创建一个MeshGeometry3D对象。像往常一样定义三角形的点和法线。通过向网格的TextureCoordinates集合添加值来设置三角形的纹理坐标。创建一个使用想要显示的纹理的 …

mac homebrew配置使用

本文介绍mac上homebrew工具的安装、配置过程。homebrew功能类似于centos的yum&#xff0c;用于软件包的管理&#xff0c;使用上有命令的差异。 本次配置过程使用mac&#xff0c;看官方文档&#xff0c;在linux上也可以用&#xff0c;但我没试过&#xff0c;有兴趣的同学可以试试…

OpenCV基础:矩阵的创建、检索与赋值

本文主要是介绍如何使用numpy进行矩阵的创建&#xff0c;以及从矩阵中读取数据&#xff0c;修改矩阵数据。 创建矩阵 import numpy as npa np.array([1,2,3]) b np.array([[1,2,3],[4,5,6]]) #print(a) #print(b)# 创建全0数组 eros矩阵 c np.zeros((8,8), np.uint8) #prin…

Unreal Engine 5 (UE5) Metahuman 的头部材质

在图中&#xff0c;你展示了 Unreal Engine 5 (UE5) Metahuman 的头部材质部分&#xff0c;列出了头部材质的多个元素。以下是对每个部分的解释&#xff1a; 材质解释 Element 0 - MI_HeadSynthesized_Baked 作用&#xff1a; 这是 Metahuman 的主要头部材质&#xff0c;控制整…

鸿蒙中自定义slider实现字体大小变化

ui&#xff1a; import { display, mediaquery, router } from kit.ArkUI import CommonConstants from ./CommonConstants; import PreferencesUtil from ./PreferencesUtil; import StyleConstants from ./StyleConstants;// 字体大小 Entry Component struct FontSize {Sta…

LabVIEW智能水肥一体灌溉控制系统

本文详细介绍了一种基于LabVIEW的智能水肥一体灌溉控制系统的设计与实现。该系统采用模糊控制策略&#xff0c;能够自动调节土壤湿度和肥液浓度&#xff0c;满足不同作物在不同生长阶段的需求&#xff0c;有效提高水肥利用效率&#xff0c;对现代精准农业具有重要的实践和推广价…

【高可用自动化体系】自动化体系

架构设计的愿景就是高可用、高性能、高扩展、高效率。为了实现架构设计四高愿景&#xff0c;需要实现自动化系统目标&#xff1a; 标准化。 流程自助化。 可视化&#xff1a;可观测系统各项指标、包括全链路跟踪。 自动化&#xff1a;ci/cd 自动化部署。 精细化&#xff1a…

Docker与虚拟机的区别及常用指令详解

在现代软件开发中&#xff0c;容器化和虚拟化技术已经成为不可或缺的工具。Docker和虚拟机&#xff08;VM&#xff09;是两种常见的技术&#xff0c; 它们都可以帮助开发者在不同的环境中运行应用程序。然而&#xff0c;它们的工作原理和使用场景有很大的不同。本文将详细探讨D…

【JVM-2.3】深入解析JVisualVM:Java性能监控与调优利器

在Java应用的开发和运维过程中&#xff0c;性能监控与调优是不可或缺的环节。无论是排查内存泄漏、分析CPU瓶颈&#xff0c;还是优化线程使用&#xff0c;开发者都需要借助一些强大的工具来辅助诊断。JVisualVM 正是这样一款由Oracle提供的免费工具&#xff0c;它集成了多种性能…

简聊MySQL并发事务中幻读、虚读问题的解决方案

在MySQL数据库中&#xff0c;事务的幻读和虚读问题是并发控制中的关键挑战。以下是针对这两个问题的解决方案及原理说明&#xff0c;并附上相关示例。 一、幻读问题及其解决方案 幻读问题的定义 幻读是指一个事务在前后两次查询同一个范围的时候&#xff0c;后一次查询看到了…

WINFORM - DevExpress -> gridcontrol ---->控件(ColumnEdit控件)

ImageComboBoxEdit--带图片的下拉菜单 DevExpress&#xff1a;带图片的下拉菜单ImageComboBoxEdit_weixin_34313182的博客-CSDN博客 ImageEdit--图片按钮 DevExpress控件中的gridcontrol表格控件&#xff0c;如何在属性中设置某一列显示为图片&#xff08;图片按钮&#xff…

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南 什么是 Type Hierarchy&#xff1f; Type Hierarchy 是 IntelliJ IDEA 提供的一个工具&#xff0c;允许开发者查看某个类的继承关系及其实现的接口结构。它是理解类关系的重要工具&#xff0c;尤其在处理复杂的继承体系…

分布式ID的实现方案

1. 什么是分布式ID ​ 对于低访问量的系统来说&#xff0c;无需对数据库进行分库分表&#xff0c;单库单表完全可以应对&#xff0c;但是随着系统访问量的上升&#xff0c;单表单库的访问压力逐渐增大&#xff0c;这时候就需要采用分库分表的方案&#xff0c;来缓解压力。 ​…