机器学习笔记(二)回归

news2024/11/15 0:16:35

一、线性回归

线性回归是一种用于预测的统计方法,特别适用于连续值预测。📈线性回归通过最小化误差的平方和来寻找一个线性关系,用于预测一个变量(因变量)基于一个或多个其他变量(自变量)的值。

1.1 线性回归模型

  • 简单线性回归:仅涉及两个变量,一个是自变量,一个是因变量,公式为:

    其中 y 是因变量,x 是自变量,m 是斜率,b 是截距。

  • 多元线性回归:涉及多个自变量,形式为:

1.2 损失函数

 损失函数是机器学习中用来衡量模型预测值与真实值之间差异的一个函数。损失函数的值越小,表示模型的预测值与真实值越接近,模型的性能越好。在回归问题中,常用的损失函数是均方误差(MSE)。

均方误差 (MSE)

残差(Residuals)

线性回归中,预测值(predicted)与观测值的差值称为残差,残差的本质是模型的随机误差(Random Error),是必然存在且不可学习的参数。

图片

上图蓝色点表示观测值,红色点表示预测值。

最优拟合线

最优拟合线指的是线性回归模型中的一条直线,它是通过拟合训练数据得出的,使得这条直线与训练数据的残差(观测值与模型预测值之间的差异)之和最小化。

损失函数的优化(梯度下降法)

  • 梯度下降法:是一种用于优化函数的迭代算法。它的基本思想是使用负梯度方向来逐步更新参数,使得目标函数的值逐渐减小,直到达到局部最小值或全局最小值。梯度下降算法会迭代地更新模型的参数,使得损失函数逐渐减小,直到达到收敛条件。

  • 算法思想:先找到下降最快的方向,走到新位置再调整方向,不断重复,直到走到最低点。

  • 若学习率太大,损失函数有可能快速达到最优值,也有可能迭代很多次也达不到最优值,

    若学习率太小,则需要更多的迭代次数达到最优值。

图片

1.3 线性回归的评价标准

我们可以使用多种评价指标度量当前的模型性能,最常用的指标包括:

  • R方(R2) 也称作决定系数

  • 均方根误差(RSME)或残差标准误差(RSE)

决定系数或R方

R方指标,也称为R-Square,用于评估回归模型拟合程度。值范围在0~1之间,数值越大表示拟合效果越好,即能够更好地解释因变量的变异性。

数学表达式:

其中RSS表示残差平方和(Residual sum of Square),TSS表示总偏差平方和(Total Sum of Squares),总偏差平方和简称总平方和。

其中RSS表示残差平方和,TSS表示总偏差平方和,总偏差平方和简称总平方和。

  • 残差平方和(RSS)的含义是衡量实际观测值和模型预测值的差异

  • 总平方和(TSS)的含义是衡量样本的分散程度。

均方根误差(RSME)

均方根误差是残差方差的平方根,表示模型对数据的绝对拟合程度,即观测值与预测值的接近程度。模型的预测误差的大小,数值越小表示模型的预测能力越好。

残差标准误差(RSE)

为了使这个估计量无偏,我们需将残差平方和除以自由度(n-2),而不是模型中数据点的总数。这个术语被称为残差标准误差(RSE)

自由度

在线性回归中,自由度通常用于衡量模型中参数的数量。

具体来说,在简单线性回归中,有两个参数需要估计:斜率和截距。因此,自由度为样本数量减去参数的数量,即n−2。

在多元线性回归中,参数的数量取决于模型中的自变量数量。如果有 𝑝p 个自变量,则自由度为 n−p−1,其中 n 是样本数量

R方比RSME更好。因为均方根误差的值取决于变量的单位(即它不是一个归一化的度量),它可以随着变量单位的改变而改变。

1.4 假设检验

验证假设

线性回归是一种参数化方法,这意味着它对数据进行分析时做出了一些假设。为了成功进行回归分析,验证以下假设是至关重要的:

  • 线性:需要假设因变量和自变量之间存在线性关系。如果线性关系不能清晰呈现,可以对变量X或Y进行数据转换(对数转换、多项式转换、指数转换等)以解决问题。

  • 误差不相关性:残差项之间是相互独立的,即残差项是随机分布的,与观测变量无相关关系。如下图第一张图片的残差项是相互独立的,后一张图片不满足假设

  • 图片

  • 残差是正态分布:残差是符合均值为0或接近0的正态分布,我们基于这种先验,可以判断当前的拟合直线是否为最优直线,判断方法是累加所有数据点的残差项是否为0或接近0。如果残差项不是正态分布,表明数据存在一些异常数据点,必须仔细检查数据点以训练更好的模型。

  • 同方差性:误差是正态分布的,并具有相同的方差。这意味着对于不同的输入值,误差的方差是个固定值。如果违背了这个假设,参数估计就有可能产生偏差,导致对显著性的统计检验结果过高或者过低,从而得到错误的结论。这种情况就称为异方差性。通常,非恒定方差出现在存在异常值或极端杠杆值的情况下。

  • 非共线性:两个预测变量之间不存在线性关系,也就是说,特征之间不应该存在相关性。同样地,共线性也会导致估计偏差。

  • 存在异常值:异常值会严重影响参数估计。理想情况下,必须在使用线性回归拟合模型之前就除去异常值。

1.5 多元线性回归的一些考虑

上节假设对于多元线性回归仍然成立,多元线性回归还需考虑额外的因素。

  • 过拟合:当向模型添加越来越多的变量时,模型可能变得过于复杂,并且通常最终会记住训练集中的所有数据点,这种现象称为模型的过拟合,导致高训练准确率和非常低的测试准确率。

  • 多重过线性:多重共线性是指多元线性回归模型中,可能存在一些相关的变量,即一个特征可以是其他一个或几个特征的线性组合。如果存在多重共线性,求损失函数时矩阵会不可逆,导致求出结果会与实际不同,有所偏差。

  • 特征选择:随着更多变量的存在,从给定特征池中选择最佳的预测变量集合成为建立相关性更强且更好模型的重要任务。

线性回归的过拟合和欠拟合

  1. 偏差(Bias)

    偏差是指模型的预测值与真实值之间的差异,即模型的平均预测值与真实值之间的差距。
    • 偏差是由训练数据造成的误差。
    • 偏差是衡量模型在未来未见数据上可能的准确性指标
    • 高偏差的模型倾向于对训练数据拟合不足,即模型过于简单或欠拟合
    • 假设有足够的训练数据,复杂模型可以进行准确的预测。而过于简单的模型则很可能在预测方面表现糟糕。例如,线性模型在复杂数据集上可能具有较高的偏差,因为它们无法捕捉数据中的非线性关系。
  2. 方差(Variance)

    • 方差是指模型在不同数据集上的预测值之间的变化程度,模型对训练数据的敏感性,它量化了当输入数据发生变化时模型的反应程度。
    • 高方差的模型倾向于对训练数据过度拟合,即模型过于复杂或过拟合
    • 如果方差较高,即使在训练数据集发生微小变化时,模型也会发生剧烈变化。例如,高阶多项式模型在拟合噪声较多的数据时可能具有较高的方差,因为它们会尝试捕捉数据中的每一个细微的变化。

   偏差-方差折中

在追求模型的最佳性能时,我们需要保持偏差和方差的平衡。在机器学习领域,偏差和方差之间存在一定的反向相关性。如下图:

图片

  • 提高模型复杂度时,偏差会降低,方差会增加

  • 降低模型复杂度时,偏差会增加,方差会减小

过拟合

具有较低的偏差和较高的方差时,会导致过拟合。

模型学习到数据中的每一个模式和噪声,以至于影响模型在未来未见数据集上的性能时,就被称为过拟合。模型非常好地拟合了数据,以至于将数据中的噪声误认为是模式。

当模型具有较低的偏差和较高的方差时,它会记住数据并导致过拟合。过拟合导致模型变得特定而不是通用。这通常会导致高训练精度和非常低的测试精度。

检测到过拟合是有用的,但它并没有解决实际问题。有几种方法可以预防过拟合,如下所述:

  • 交叉验证

  • 如果训练数据太少,则添加更多相关且干净的数据

  • 如果训练数据太大,则进行一些特征选择并移除不必要的特征

  • 正则化降低模型复杂度

欠拟合

具有较高的偏差和较低的方差时,从而导致欠拟合。

当模型无法从训练数据集中学习,也无法泛化测试数据集时,就被称为欠拟合,这种问题很容易通过性能指标来检测。

当模型具有较高的偏差和较低的方差时,它最终不能泛化数据,从而导致欠拟合。它无法从数据中找到隐藏的基本模式,这通常会导致训练精度低且测试精度非常低。防止欠拟合的方法如下:

  • 提高模型复杂度

  • 增加训练数据的特征数量

  • 从数据中去除噪声

1.6 线性回归代码

#  ==1.===导入Python库代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
import seaborn as sns
#忽略警告
import warnings
warnings.filterwarnings('ignore')

# ==2.===加载数据

#数据导入csv

# data = pd.read_csv( "advertising.csv" )
# data.head() #使用 head() 方法查看数据集的前几行

#生成示例数据
# 随机数种子为0
np.random.seed(0)
# 长度为100的随机数组X1,数组中的元素取自于0到1之间的均匀分布。
X1 = np.random.rand(100)
X2 = np.random.rand(100)
X3 = np.random.rand(100)
# np.random.randn(100)生成了一个长度为100的随机数组,
# 其中的每个元素都是独立且服从标准正态分布的随机数。
y = 2 + 3*X1 + 4*X2 + 5*X3 + np.random.randn(100)
# 创建数据框
data = pd.DataFrame({'X1': X1, 'X2': X2, 'X3': X3, 'y': y})

# 添加常数列
# 在第一列添加了一个值为1的常数列,用于代表截距项。
X = sm.add_constant(data[['X1', 'X2', 'X3']])

# 绘制目标变量与预测变量的散点图
plt.figure(figsize=(10, 6))
plt.subplot(1, 3, 1)
plt.scatter(data['X1'], data['y'], color='blue', label='X1 vs y')
plt.xlabel('X1')
plt.ylabel('y')
plt.legend()

plt.subplot(1, 3, 2)
plt.scatter(data['X2'], data['y'], color='green', label='X2 vs y')
plt.xlabel('X2')
plt.ylabel('y')
plt.legend()

plt.subplot(1, 3, 3)
plt.scatter(data['X3'], data['y'], color='red', label='X3 vs y')
plt.xlabel('X3')
plt.ylabel('y')
plt.legend()

plt.tight_layout()
plt.show()

# 绘制所有变量的热力图
plt.figure(figsize=(10, 8))
# 绘制热力图以发现所有变量的相关性
sns.heatmap(data.corr(method='pearson'), annot=True, vmax=1, square=True, cmap="Blues")

# sns.heatmap(data.corr(), cmap = 'YlGnBu', annot = True ,annot_kws={"size": 10})
plt.title('Correlation Heatmap')
plt.show()
# 拟合线性模型
model = sm.OLS(data['y'], X).fit()

# 打印模型摘要
print(model.summary())

结果分析:

OLS(Ordinary Least Squares)回归结果中,我们通常关注以下几个主要指标:

  1. 系数(coef):表示自变量的系数估计值,即自变量对因变量的影响程度。系数的正负表示影响的方向,系数的大小表示影响的强度。

  2. 标准误差(std err):表示系数估计值的标准误差,即系数估计的不确定性程度。标准误差越小,表示系数估计越准确。

  3. t统计量(t):表示系数估计值除以标准误差得到的t值,用于检验系数是否显著不等于零。t统计量的绝对值越大,表示系数估计值越显著。

  4. P值(P>|t|):表示系数的显著性水平,即系数是否显著不等于零。通常以0.05作为显著性水平,如果P值小于0.05,则可以拒绝系数等于零的原假设,认为系数是显著的。

  5. 置信区间([0.025 0.975]):表示系数的置信区间,即在置信水平为95%下,系数真值所在的区间范围。通常用来评估系数估计的准确性和稳定性。

  6. R-squared(R方):表示模型拟合优度的度量,介于0和1之间。R方越接近1,表示模型拟合的好;越接近0,表示模型拟合的差。

  7. Adj. R-squared(调整R方):在多元回归中,由于自变量个数增加可能导致R方增加而不一定代表模型拟合的改善,因此引入了调整R方来对自变量个数进行惩罚,以更准确地评估模型拟合优度。

  8. F统计量(F-statistic):表示模型整体的显著性检验结果,用于检验模型的拟合是否显著。通常以0.05作为显著性水平,如果F统计量的P值小于0.05,则可以拒绝模型不显著的原假设,认为模型是显著的。

                     OLS Regression Results    OLS回归结果                        
=========================================================================
Dep. Variable:   因变量(响应变量)名称。 y  

R-squared:  0.804   决定系数,表示因变量的变异性可以由自变量解释的比例。越接近1表示拟合程度越好,说明模型可以解释因变量变异性的80.4%。
Model: OLS  使用的回归模型的名称。

Adj. R-squared:                  0.797调整后的决定系数(Adjusted R-squared)考虑了模型中使用的自变量数量,以防止模型过度拟合。在这个例子中,Adj. R-squared为0.797,与R-squared非常接近,表示模型的解释能力基本不受自变量数量的影响。
Method:                 Least Squares  估计参数的方法,这里是最小二乘法。

F-statistic:                     130.9  F统计量,用于检验模型的整体显著性。
Date:                Thu, 25 Apr 2024  进行回归分析的日期。

Prob (F-statistic):           8.47e-34   F统计量的p值,表示模型的整体显著性。
Time:                        08:18:07  进行回归分析的时间。

Log-Likelihood:                -132.97
No. Observations:                 100  观测样本的数量。

AIC:                             273.9
Df Residuals:                      96  残差的自由度,表示残差向量中自由变化的元素数量。

BIC:                             284.4
Df Model:                           3       模型中自变量的数量。                                  
Covariance Type:            nonrobust      协方差类型,这里是非鲁棒的(nonrobust)协方差。                           
=========================================================================

coef: 回归系数,表示自变量的系数估计值。std err: 回归系数的标准误差。

t统计量,用于检验回归系数的显著性。P>|t|: t统计量的p值,表示回归系数的显著性。所有的P值都小于0.05,表明所有的系数都是显著的

[0.025 0.975]: 回归系数的置信区间,表示置信水平为95%的置信区间。

1.588和2.865是每个系数的95%置信区间的下限和上限。可以合理地估计这些系数的取值范围在1.588到2.865之间。
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const          2.2266      0.322      6.924      0.000       1.588       2.865
X1             2.4362      0.325      7.500      0.000       1.791       3.081
X2             3.5860      0.341     10.521      0.000       2.909       4.263
X3             5.2479      0.312     16.812      0.000       4.628       5.868
=========================================================================
Omnibus:                        0.024  Omnibus检验的统计量,用于检验模型的正态性。

Durbin-Watson:                   2.404  Durbin-Watson统计量,用于检验残差的自相关性。
Prob(Omnibus):                  0.988   Omnibus检验的p值。

Jarque-Bera (JB):                0.118   Jarque-Bera检验的统计量,用于检验残差的正态性。
Skew:                           0.034  残差的偏度。

Prob(JB):                        0.943  Jarque-Bera检验的p值。
Kurtosis:                       2.846   残差的峰度。

Cond. No.                         6.79  条件数,用于检验矩阵的奇异性。
=========================================================================Notes:

[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

二、多项式回归

多项式回归是一种线性回归的扩展,它通过增加预测变量的高次项来拟合非线性关系的数据。以下是多项式回归的主要知识点:

  1. 多项式模型:多项式模型是线性回归模型的一种扩展,它可以用来拟合非线性关系的数据。多项式模型的一般形式为:𝑦=𝛽0+𝛽1𝑥+𝛽2𝑥2+…+𝛽𝑛𝑥𝑛+𝜖y=β0​+β1​x+β2​x2+…+βn​xn+ϵ其中,𝑦y 是因变量,𝑥x 是自变量,𝛽0,𝛽1,…,𝛽𝑛β0​,β1​,…,βn​ 是模型的系数,𝜖ϵ 是误差项。

  2. 高次项:多项式模型中的高次项是指 𝑥x 的幂次大于1的项,例如 𝑥2,𝑥3,…,𝑥𝑛x2,x3,…,xn。通过增加高次项,可以使模型更加灵活,能够拟合更复杂的数据模式。

  3. 过拟合和欠拟合:与线性回归模型一样,多项式回归模型也面临着过拟合和欠拟合的问题。过拟合指模型过度拟合训练数据,导致在新数据上表现不佳;欠拟合指模型未能很好地拟合训练数据,导致模型预测能力不足。在实践中,需要通过调整模型复杂度来解决过拟合和欠拟合问题。

  4. 模型评估:评估多项式回归模型的常用指标包括R方值、均方误差(MSE)、均方根误差(RMSE)等。R方值用于衡量模型拟合的优度,越接近1表示模型拟合得越好;MSE和RMSE用于衡量模型预测的准确性,值越小表示预测越准确。

  5. 特征工程:在多项式回归中,特征工程也是非常重要的。除了添加高次项外,还可以进行特征选择、特征变换、特征缩放等操作,以提高模型的性能和稳定性。

  6. 交叉验证:为了评估模型的泛化能力,通常会使用交叉验证技术来验证模型在新数据上的表现。通过将数据集划分为训练集和测试集,并多次重复训练和测试过程,可以更全面地评估模型的性能。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 创建一些示例数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1) - 1
y = 2 * X**3 - 3 * X**2 +10

# 对特征进行多项式转换
poly_features = PolynomialFeatures(degree=3, include_bias=False)
X_poly = poly_features.fit_transform(X)

# 创建并拟合多项式回归模型
poly_reg = LinearRegression()
poly_reg.fit(X_poly, y)

# 输出多项式模型的系数
print("Coefficients of polynomial model:", poly_reg.coef_)

# 计算R²
y_pred = poly_reg.predict(X_poly)
r2 = r2_score(y, y_pred)
print("R-squared score:", r2)

# 绘制原始数据和拟合的多项式回归曲线
plt.scatter(X, y, color='blue', label='Original Data')

# 生成用于绘制回归曲线的数据点
X_test = np.linspace(-1, 1, 100).reshape(-1, 1)
X_test_poly = poly_features.transform(X_test)
y_pred_plot = poly_reg.predict(X_test_poly)

# 绘制回归曲线
plt.plot(X_test, y_pred_plot, color='red', label='Polynomial Regression')

plt.xlabel('X')
plt.ylabel('y')
plt.title('Polynomial Regression')
plt.legend()
plt.show()

三、岭回归 (Ridge Regression)

定义

岭回归是一种用于处理多重共线性(multicollinearity)问题的线性回归技术。

多重共线性

共线性是指自变量之间存在高度相关性的情况,这可能导致回归系数的估计不稳定。

在共线性存在的情况下,回归模型可能对训练数据非常敏感,使得小的数据变化也会导致较大的系数变化。这种情况通常被称为多重共线性

在线性回归中,如果自变量之间存在高度相关性,就会导致回归系数的估计不稳定,可能会出现过度拟合的情况。岭回归通过在损失函数中添加一个正则化项(L2范数)来解决普通最小二乘法的过拟合问题。,可以有效地缓解这个问题。

  • L2 正则化:通过惩罚较大的权重来防止过拟合

岭回归的损失函数形式如下:

图片

其中:

yi 是观察值的目标变量。

xij 是第 i 个观察值的第 j 个自变量。

β0,β1,...,βp 是回归系数。

λ 是岭回归的超参数,用于控制正则化的强度。较大的 λ 会导致回归系数更趋向于零,从而减小过度拟合的风险。

岭回归的损失函数在普通最小二乘法(Ordinary Least Squares, OLS)的基础上添加了一个正则化项,这是解决共线性问题的关键之一。通过对回归系数的估计引入正则化项,使得模型更加稳定。这有助于处理高度相关的自变量,提高模型的泛化能力。岭回归的名称来源于它引入的正则化项的形状,形象地描述为一个岭。

岭回归通过引入正则化项,限制回归系数的增长,从而在一定程度上缓解了共线性问题。正则化项的形式为

图片

这正则化项的作用有以下几点:

控制系数的大小:正则化项对回归系数进行惩罚,使得模型更倾向于选择较小的系数。通过限制系数的增长,岭回归降低了对训练数据中噪声的过度敏感性。

防止过度拟合:共线性可能导致过度拟合,即模型过于复杂,过度适应训练数据中的噪声,而失去了对新数据的泛化能力。正则化项的引入有助于避免过度拟合,使模型更具有泛化能力。

稳定估计:通过对系数的大小进行限制,岭回归可以产生相对稳定的估计。即使在存在共线性的情况下,模型对数据的变化也更为鲁棒,系数估计更加稳定。

总体来说,通过对回归系数增加正则化项,岭回归在解决共线性问题时能够提供更为稳健和可靠的估计。这种方式把共线性带来的不稳定性降低到一个可以接受的水平,使得模型更适用于实际数据分析和预测。

优缺点和使用场景

优点:

  1. 可以处理多重共线性问题,提高模型的稳定性和泛化能力;

  2. 相对于普通最小二乘法,可以得到更可靠的系数估计

  3. 对于数据量较小、特征较多的情况,效果更为明显。

缺点:

  1. 岭回归引入的正则化项可能会导致系数估计偏向于零,从而影响模型的解释性;

  2. 需要手动调节超参数 。

使用场景:

  1. 当数据集存在多重共线性时;

  2. 当需要稳定且泛化能力强的回归模型时;

  3. 对于高维数据集,尤其是特征数量比样本数量大的情况

代码

四、LASSO 回归 (LASSO Regression)

模型名称优点缺点使用场景判断方法
线性回归(Linear Regression)解释性强,模型简单容易受到异常值影响,线性假设可能不成立关系简单,小规模数据散点图呈直线或接近直线形状,相关系数接近1或-1,线性回归模型R方较大,残差随机分布
多项式回归(Polynomial Regression)能够拟合非线性数据容易过拟合,模型复杂度高关系非线性散点图呈曲线形状,相关系数接近1或-1,多项式回归模型R方较大,残差随机分布
岭回归(Ridge Regression)能够处理多重共线性问题模型解释性差特征数量大于样本数量,数据存在多重共线性散点图呈直线或接近直线形状,相关系数接近1或-1,岭回归模型R方较大,残差随机分布,方差膨胀因子,条件数,相关矩阵,模型的拟合效果
Lasso回归(Lasso Regression)能够进行特征选择模型解释性差特征数量远大于样本数量,需要特征选择散点图呈直线或接近直线形状,相关系数接近1或-1,Lasso回归模型R方较大,残差随机分布
弹性网回归(Elastic Net Regression)结合了岭回归和Lasso回归的优点模型解释性差特征数量远大于样本数量,数据存在多重共线性,需要特征选择散点图呈直线或接近直线形状,相关系数接近1或-1,弹性网回归模型R方较大,残差随机分布

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

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

相关文章

远程控制安卓手机:便捷、高效与安全的方法

在移动设备的领域里,远程控制安卓手机的能力也变得越来越重要。这种技术可以让我们在远程地点方便地操作手机,无论是处理紧急事务、帮助他人解决问题,还是仅仅为了享受科技带来的便利。本文将为你介绍2种便捷、高效且安全的方法,让…

笔试狂刷--Day6(岛屿数量+模拟)

大家好,我是LvZi,今天带来笔试狂刷--Day6 一.在字符串中找出连续最⻓的数字串 1.题目链接 在字符串中找出连续最⻓的数字串 2.题目分析 使用双指针模拟 3.代码实现 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {p…

Linux的学习之路:20、进程信号(2)

摘要 本章讲一下进程信号的阻塞信号和捕捉信号和可重入函数 目录 摘要 一、阻塞信号 1、阻塞信号 2、信号集操作函数 二、捕捉信号 1、内核如何实现信号的捕捉 2、代码实演 三、可重入函数 一、阻塞信号 1、阻塞信号 实际执行信号的处理动作称为信号递达(Delivery) …

文末送资料 | AI大模型接入指南:免费畅聊公众号新时代!附搭建教程

目录 今天内容有点意思! 福利:拉到最后,免费送资料,你想要的全都有 我把公号接入了,字节跳动的云雀AI大模型! 先给大家看几个案例 重点来了 如何将公号接入AI大模型呢? 1、创建AI聊天机器…

海南封关怎么看?win战略会任志雄解析

今年海南自由贸易港建设也进入了新阶段:将在2025年年底前适时启动全岛封关运作,封关后的海南将以全新姿态迎接更广泛的发展机遇。 封关在即,企业有何感受?还有哪些准备工作?封关后的海南将呈现怎样的状态?近日,红星资本局记者深入实地了解海南自贸港如何成型起势。 利好当…

快手不发作品ip地址会变吗

在数字时代,我们每个人的在线行为都留下了独特的痕迹。这些痕迹不仅仅是我们的言论或行为,还包括我们的IP地址——一个在网络世界中标识我们位置的数字标签。近年来,随着短视频平台的兴起,如快手这样的应用已经深入人们的日常生活…

sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步 ⏱️ 创作时…

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024)

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024) 会议简介 我们诚挚邀请您参加2024年大数据应用、智能控制和软件工程国际会议(BDAICSE2024)。这次会议将在美丽的长沙市举行。 本次大会旨在汇聚全球大数据应用、智能控制、软件工程等领…

常见大厂面试题(SQL)02

小鹏面试题: 小鹏汽车充电每辆车连续快充最大次数 原表charging_data idcharge_timecharge_typeXP10012023/11/20 8:45快充XP10012023/11/21 20:45快充XP10012023/11/22 8:45快充XP10012023/11/23 8:45慢充XP10012023/11/25 8:45快充XP10022023/11/25 8:45快充XP10022023/11/…

kubernetes中Pod资源的使用限制

一、概述 当kubernetes调度创建Pod后,Pod是否有足够的资源来运行容器,是非常重要的。资源分为两种类型——容器请求的资源和容器被限制的资源。 请求和限制是kubernetes控制集群cpu和内存等资源的重要方式,他们是两种不同的机制 容器请求的资…

C语言之回调函数+可变参数__VA_ARGS__:用法实例(四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

GaussDB数据库SQL系列-聚合函数

背景 在这篇文章中,我们将深入探讨GaussDB数据库中聚合函数的使用和优化。聚合函数是数据库查询中非常重要的工具,它们可以对一组值执行计算并返回单个值。例如,聚合函数可以用来计算平均值、总和、最大值和最小值。 这些功能在数据分析和报…

C语言 | Leetcode C语言题解之第48题旋转图像

题目&#xff1a; 题解&#xff1a; void swap(int* a, int* b) {int t *a;*a *b, *b t; }void rotate(int** matrix, int matrixSize, int* matrixColSize) {// 水平翻转for (int i 0; i < matrixSize / 2; i) {for (int j 0; j < matrixSize; j) {swap(&matr…

Linux_网络基础2_3

文章目录 一、应用层协议1.我写的socket是在干什么&#xff1f;2.再谈"协议"1.问题1 # 2.问题23.造轮子——定制应用协议4.使用json来完成应用协议1.安装库2.使用 —— 序列化3.使用 —— 反序列化 二、HTTP协议1.认识URL2.http协议的请求格式和响应格式3.编写响应 -…

大模型(e.g., ChatGPT)里面的一些技术和发展方向

文章目录 如何炼成ChatGPT如何调教ChatGPT如何武装ChatGPT一些大模型的其他方向prompt tuningInstruction tuning 这个是基于视频 https://www.bilibili.com/video/BV17t4218761&#xff0c;可以了解一下大模型里面的一些技术和最近的发展&#xff0c;基本都是2022你那以来的发…

Spring Boot整合Redisson的两种方式

项目场景 Spring Boot整合Redisson的两种方式&#xff0c;方式一直接使用yml配置&#xff0c;方式二创建RedissonConfig配置类。 前言 redisson和redis区别&#xff1a; Redis是一个开源的内存数据库&#xff0c;支持多种数据类型&#xff0c;如字符串、哈希、列表、集合和有序…

tailwindcss在使用cdn引入静态html的时候,vscode默认不会提示问题

1.首先确保vscode下载tailwind插件&#xff1a;Tailwind CSS IntelliSense 2.需要在根目录文件夹创建一个tailwind.config.js文件 export default {theme: {extend: {// 可根据需要自行配置&#xff0c;空配置项可以正常使用},}, }3.在html文件的标签中引入配置文件&#xf…

基础环境:wsl2安装Ubuntu22.04 + miniconda

服务器相关信息&#xff1a; Thinkpad p1 gen5 64G 2T 3080ti&#xff0c;自带的有nvidia-smi显卡驱动。使用wsl2安装Ubuntu22.04 miniconda目标&#xff1a;安装gpu版本的PyTorch2.1.2&#xff08;torch2.1.2/cu117 torchvision0.16.2/cu117&#xff09; 处理器 12th Gen I…

ADS8866 ADC转换芯片驱动调试

目录 ADS8866 ADC转换芯片驱动调试 开发环境&#xff1a; ADS8866功能简介 硬件连接 SPI3的软件驱动 ADS8866通讯时序分析 ADS8866驱动 ADS8866 ADC转换芯片驱动调试 开发环境&#xff1a; 主控芯片&#xff1a;STM32F103RCT6、ADS8866转换芯片、使用HAL库进行开发。 …

Chitosan-Rhodamine B 罗丹明B标记壳聚糖

Chitosan-Rhodamine B 罗丹明B标记壳聚糖 【中文名称】罗丹明B标记壳聚糖 【英文名称】Chitosan-RB 【结 构】 【品 牌】碳水科技&#xff08;Tanshtech&#xff09; 【纯 度】95%以上 【保 存】-20℃ 【规 格】50mg,100mg,500mg,1g,5g,10g 【产品特性】 Rh…