维数灾难

博客指出样本表述所需变量数因维度而异,样本存储空间随维度呈指数式增长,形成维数灾难,可通过特征提取解决。还提到网络容量大时,可增加训练样本数量避免过拟合现象。

样本表述需要的变量数是不同的,比如表示一维的东西,一个样本只需要一个变量,二维的需要2个变量,3维当然就需要3个变量来表示一个样本。
比如要表示3个样本,一维的样本需要3个数,二维的样本需要6个数,3维的样本就需要9个数。虽然同是3个样本,但是需要的存储空间并不一样,而是呈现指数式增长。
解决维数灾难的办法技术特征提取,即用维数较低的样本(尽可能少的丢失信息)来代替高维样本。
网络的容量大,如何避免过拟合现象,答:增加训练样本数量。

灾难是指在涉及到向量的计算问题中,随着的增加,计算量呈指倍增长的现象。在Python中,可以使用PCA(Principal Component Analysis)算法来应对灾难。PCA是一种降算法,通过线性变换将高据映射到低空间中,以便更好地处理据。 以下是基于原生Python和numpy库实现PCA算法的示例代码: ```python import numpy as np def pca(data, n_components): # 中心化据 data_centered = data - np.mean(data, axis=0) # 计算协方差矩阵 covariance_matrix = np.cov(data_centered, rowvar=False) # 计算特征值和特征向量 eigenvalues, eigenvectors = np.linalg.eig(covariance_matrix) # 对特征值进行排序选择前n_components个特征向量 sorted_indices = np.argsort(eigenvalues)[::-1] selected_indices = sorted_indices[:n_components] selected_eigenvectors = eigenvectors[:, selected_indices] # 对据进行降 transformed_data = np.dot(data_centered, selected_eigenvectors) return transformed_data # 示例据 data = np.array([[ 1. , 1. ], [ 0.9 , 0.95], [ 1.01, 1.03], [ 2. , 2. ], [ 2.03, 2.06], [ 1.98, 1.89], [ 3. , 3. ], [ 3.03, 3.05], [ 2.89, 3.1 ], [ 4. , 4. ], [ 4.06, 4.02], [ 3.97, 4.01]]) # 使用PCA进行降 new_data = pca(data, n_components=1) print(new_data) ``` 上述代码中,我们首先定义了一个名为pca的函,该函接受原始据和要降到的作为输入,返回降后的据。在函内部,我们首先对据进行中心化处理,然后计算协方差矩阵,接着计算特征值和特征向量,最后根据选择的据进行降。 输出结果将是降后的据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我来了嗷嗷嗷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值