optimizer.zero_grad() outputs = model(torch.tensor(X_train, dtype=torch.float32)) loss = criterion(outputs, torch.tensor(y_train, dtype=torch.float32)) # 添加L1正则化项 l1_lambda = 0.01 l1_norm = sum(p.abs().sum() for p in model.parameters()) loss = loss + l1_lambda * l1_n...
import numpy as np def l1_norm(x): """ 计算向量x的L1范数。 Args: x (numpy.ndarray): 输入的向量,类型为NumPy数组。 Returns: float: 向量x的L1范数值。 """ # 确保输入是NumPy数组 if not isinstance(x, np.ndarray): raise ValueError("输入必须是NumPy数组") # 计算L1范数,即向量中所有元素的...
import numpy as np # 定义一个向量 x = np.array([1, -2, 0, 3]) # 计算 L0 范数(非零元素的个数) l0_norm = np.count_nonzero(x) # 计算 L1 范数(元素绝对值的和) l1_norm = np.sum(np.abs(x)) print("L0 范数:", l0_norm) print("L1 范数:", l1_norm) 1. 2. 3. 4....
print('0x01的NORM_HAMMING:',cv2.norm(arr,cv2.NORM_HAMMING) ) print('0x01的NORM_HAMMING2:',cv2.norm(arr,cv2.NORM_HAMMING2) ) arr = np.array([[0,0],[0,0x03]],dtype=np.uint8) print('0x03的NORM_HAMMING:',cv2.norm(arr,cv2.NORM_HAMMING) ) print('0x03的NORM_HAMMING2:',cv2....
import numpy as np import matplotlib.pyplot as plt import math norm_list = [0.5, 1, 2, 3, 4] plt.figure(figsize=(5 * len(norm_list), 4 * 1)) for index, value in enumerate(norm_list): y = 1.0 w1 = [i for i in np.arange(-1.0, 1.0, 0.0001)] ...
import numpy as np def train_model(X, y, lambda_reg): weights = np.zeros(X.shape[1]) for epoch in range(num_epochs): predictions = np.dot(X, weights) loss = np.mean((predictions - y) ** 2) # 计算L1正则化项 l1_norm = np.sum(np.abs(weights)) ...
fromsklearnimportpreprocessingimportnumpyasnp X = [[1., -1.,2.], [2.,0.,0.], [0.,1., -1.]] X_l1 = preprocessing.normalize(X, norm='l1') X_l1# array([[ 0.25, -0.25, 0.5 ],# [ 1. , 0. , 0. ],# [ 0. , 0.5 , -0.5 ]])X_l2 = preprocessing.normalize(X, no...
numpyarray.reshape() :重塑数组 np.linalg.norm(x, axis = 1, keepdims = True) : 计算每一行的范数 np.outer() :求外积 np.dot() np.multiply() np.abs() 1. 使用numpy构建基本函数 需要记住的内容: -np.exp(x)适用于任何np.array x并将指数函数应用于每个坐标 ...
norm(w).numpy()) (1) 无正则项的训练结果: lambd=0,过拟合 无正则项时,过拟合, L2 norm of w: 19.535658. (2) \lambda=3 的训练结果: lambd=3 L2 norm of w: 0.039474867 . (3) λ=15 的训练结果: lambd=15 L2 norm of w: 0.02234221 . (3) λ=50 的训练结果: lambd=50 L2 norm...
我们经常会看见损失函数后面添加一个额外惩罚项,一般为L1-norm,L2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2函数。所谓『惩罚』是指对损失函数中的某些参数做一些限制,防止模型过拟合而加在损失函数后面的一项。 L1正则化 L1范数符合拉普拉斯分布,是不完全可微的。表现在图像上会有很多角出现。这些角和目标...