07. 训练神经网络2

  • 数据预处理

    • 归一化 Normalization
    • PCA降维和白化
  • 权重初始化

  • 批量归一化 Batch Normalization
  • 正则化

    • L1, L2正则化
    • Dropout and 反向 Dropout
  • 属性分类:一个样本有多个标签
  • 偏差和方差 bias and variance

1. 数据预处理

对原始数据进行预处理:

均值减法(Mean subtraction)

### 对数据每个维度减去平均值
X -= np.mean(X, axis = 0)
### 对图像的话,是所有的维度减去一个平均值
X -= np.mean(X)

归一化(Normalization)
是指将数据的所有维度都归一化,使其数值范围都近似相等。
先做零中心化,然后每个维度除以标准差.

X /= np.std(X, axis = 0)

<img src="preprocess.jpg" height=600 weight=100>


PCA和白化

PCA: 统计分析和机器学习里面常用的降维算法~~主成分分析

为什么要降维??

feature太多会造成模型复杂,训练速度过慢,因此我们引入降维。

About Visualization:
多维数据很难进行可视化分析,因此我们需要降维分析。

PCA的数学原理
http://blog.codinglabs.org/articles/pca-tutorial.html

总结下就是:

1)输入数据是(m,n),即n个样本,m维特征.可以看作是m个特征向量

2) PCA就是将m维特征向量转换到k(k

\end{pmatrix}

p1a1p2a1pRa1p1a2p2a2pRa2p1anp2anpRan ( p 1 a 1 p 1 a 2 ⋯ p 1 a n p 2 a 1 p 2 a 2 ⋯ p 2 a n ⋮ ⋮ ⋱ ⋮ p R a 1 p R a 2 ⋯ p R a n )
$$
$p_i$是行向量,表示基向量中第i个向量,$a_j$是一个列向量,表示第j个样本.

4) 降低特征数量就是减少单位基向量,新的基向量可以不一定是正交基,新的基向量个数之后再说~而是尽量让原始数据转换到基向量上之后保存的信息最多!

  • 怎么才是保存最大的信息呢?
  • 一种直观的看法是:希望投影后的投影值尽可能分散。数学上表征离散程度,可以用方差~~也就是找出一个基向量,使得原始数据向量投影到它上面之后,方差最大~
    Var(a)=1ni=1n(aiμ)2 V a r ( a ) = 1 n ∑ i = 1 n ( a i − μ ) 2

    Var(a)=1ni=1na2i V a r ( a ) = 1 n ∑ i = 1 n a i 2
  • 找到了一个基,怎么确定第二个,第三个…显然如果还是以方差最大为目标,那么第二个基和第一个基几乎重合了吧.那么他们得到的信息其实是一样的所以应该尽量让第二个基和第一个基相关系越小越好~怎么数学上表征两个向量相关系小呢,就是他们内积得到的结果很小呀~~

Cov(a,b)=1ni=1naibi C o v ( a , b ) = 1 n ∑ i = 1 n a i b i

5) 很巧的是,对于原始数据X,其协防差矩阵可以表示它信息量的多少~

X=(a1b1a2b2anbn) X = ( a 1 a 2 ⋯ a n b 1 b 2 ⋯ b n )

2,(a1,b1),n 假 设 只 有 2 维 特 征 , ( a 1 , b 1 ) 表 示 一 个 样 本 , 总 共 有 n 个 样 本
C=1nXX
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值