今天碰见一句代码
features = torch.tensor(np.random.normal(0, 1, (1000, 2)));
其中 features是训练数据特征 np为numpy (import numpy as np)
关于np.random.normal(0, 1, (1000, 2))
- np.random.normal()正态分布
- 函数的原型np.random.normal(loc,scale,size),
- 功能:该函数用于生成高斯随机分布是随机数,
- 其中loc表示均值,scale表示方差,size表示输出的size
noise = np.random.normal(0, 0.05, x_data.shape)
于是 有一个问题 为什么数据特征需要服从均值为0 方差为1 的高斯分布?
原因一:为了让估计出的回归系数是无偏估计。
【有关无偏性,一致性,有效性
无偏性_百度百科baike.baidu.com总体来说
无偏性就是 期望 等于 本身
】
总体参数的估计值必须符合一些好的特性才行,比如无偏性,相合性(一致性),有效性之类的,否则你的估计值就是瞎猜。如果假定误差均值为零,则最小二乘估计出来的回归系数就是无偏的。
一个估计量并不是说无偏就一定好,也可以有偏。如果有偏,只要它和无偏估计量相比较“均方误差”更小,则我们就可以选用有偏的估计量。比如岭回归得到的回归系数就是有偏估计量,但是它比最小二乘得到的回归系数均方误差更小。
如果假定误差期望为零,再加上其它几个假定就能保证回归系数是“最佳线性无偏估计量”,也就意味着最小二乘方法不是瞎猜,是科学的,并且在众多科学的方法中它都是比较好的。
上面是原因一,一般的教科书都会提到。再说另外一个更重要的原因,这个原因几乎没什么书会提到。
原因二:
为了让总体回归方程可以被估计。
总体线性回归模型为 y=a+bx+u,a为截距,为了方便,假设只有一个自变量x(其实你可以把这个x当成很多个x),u为误差项。对y求期望有: E(y|x)=E(a+bx|x)+E(u|x)。如果E(u|x)不为零,意味着E(y|x)的值由E(a+bx|x)和E(u|x)决定。假设E(y|x)=6,则E(a+bx|x)=4和E(u|x)=2是一组解,E(a+bx|x)=3和E(u|x)=3也是一组解,...,嗯,也就是回归系数将有无穷解,结果就是总体回归方程无法通过样本去估计,也就是无解(无穷解对于回归方程来说就是无解),这才是最大的问题所在。为了让总体回归方程可以估计,只有假定误差期望为零