吴恩达机器学习笔记(二)8-11章节

目录

  • 章节8 正则化
  • 章节9 神经网络学习
  • 章节10 神经网络参数的反向传播算法
  • 章节11 应用机器学习的建议

第八章 正则化

线性回归
在这里插入图片描述
最左边为欠拟合,最右边则是过拟合.泛化指的是一个假设模型应用到新样本的能力
logistic回归
在这里插入图片描述
解决过拟合的问题.方法:第一个减少特征数量(1.人工选择,2.算法选择).第二个就是正则化
正则化原理
在这里插入图片描述
在最小化其均方误差代价函数中加入惩罚项如上图的1000θ3和1000θ4,加入惩罚项之后,在最小化的过程中,会使θ3和θ4缩小到0左右.使得拟合出来的图像更符合样本.
在这里插入图片描述
梯度下降算法使用正则化

正规方程使用正则化(其中矩阵大小与样本X有关,如果m个样本,n个特征,则该矩阵为n+1*n+1,而且该矩阵对角线除了1,1之外,全为1,其余全为0)
在这里插入图片描述
logistic回归的正则化
在这里插入图片描述

第九章,神经网络学习

神经元结构
+1是偏置单元,偏置单元与偏置单元不用连接,
在这里插入图片描述

非线性假设
在只有两个特征的情况下,如下图,可以用logistic回归的多项的高阶的假设函数来拟合该样本.
在这里插入图片描述
但是如果有大量样本特征会使得假设函数的变量过多,如下面.特别是在图像识别的模型中,图像变成矩阵
在这里插入图片描述
下列式子中g为激活函数(sigmoid)逻辑函数θ(j)权重矩阵,
在这里插入图片描述
在这里插入图片描述
神经网络的计算(向量化)
在这里插入图片描述
θ(1)=[[θ10,θ11,θ12,θ13],[θ20,θ21,θ22,θ23],[θ30,θ31,θ32,θ33]] 为(3,4)矩阵
在下面这个图中,Layer2到Layer3是标准的逻辑回归, 但是所输入的值并不是原始的特征X,而是经过Layer1到Layer2的θ(1)矩阵学习出来的特征a1,a2,a3.
在这里插入图片描述
神经网络向前传播算法
在这里插入图片描述
下图是神经网络是实现AND运算
在这里插入图片描述
下图则是实现或运算,可以得出神经网络实现逻辑运算是通过调节θ的参数决定的
在这里插入图片描述
用多个基本的逻辑运算实现复杂的逻辑运算,如下图中,用第一个(x1 AND x2) 加上第二个(NOT X1 ) AND (NOT X2)作为第二层,第二层再加上一个偏置单元X1.最后的输出可以获得 x1 XNOR X2的结果
在这里插入图片描述

第十章 神经网络参数的反向传播算法

在神经网络二分类中,输出层只有一个,输出0或1,而在多分类中,有多少个分类就有多少个输出,而输出则是一个1多个0.上面说到神经网络的L-1隐藏层到最后一层L使用的是logistic损失函数,如下图,后面加上去的正则项
在这里插入图片描述
反向传播算法中单元例子,从输出层的每一个δ都由对应的激活过的a(4)j减去训练样本中的yj得到
在这里插入图片描述
a(L)j是由上一层的输入加权和z(L)(j)经过sigmoid(z)得到的
上面三个都可以看成向量形式,用矩阵来表达,从而向前传播,得到对应的δ(3)和δ(2)
在这里插入图片描述
推导过程
在这里插入图片描述
在这里插入图片描述
反向传播算法总体情况,其中要先用向前传播算法算出输出层的每一个a(L),然后再减除0训练样本中的yj得出偏差δ.然后再用梯度下降算法计算在这里插入图片描述
计算细节:向前传播的下一个单元的计算是,如下图
在这里插入图片描述
中的
在这里插入图片描述
z(3)1的输出由上一层的每一个单元相应的偏重权值然后相加
反向传播中如下图中
在这里插入图片描述
中的δ(2)2的计算在这里插入图片描述
但是在方向传播中,计算偏差是不用计算偏置单元的
如正先传播一样,是由上一层的偏差
相应的偏重权值
在这里插入图片描述
随机初始化
在神经网络训练过程中,首先要将权重随机初始化为一个接近0的,范围在在这里插入图片描述之间,然后进行反向传播,在使用梯度下降,或者其他高级优化算法
神经网络的输入单元应该等于特征X的维度,隐藏层的数量合理的建议是单个隐藏层,多层的隐藏层的单元数一般是相同的,一般来说隐藏层越多越好,但是要考虑到计算量,隐藏层的单元数量与输入层相同也与特征X的数量相同
训练神经网络的步骤

  1. 构建一个神经网络,然后随机初始化权重,一般来说初始化的值,很小接近于0
  2. 执行向前传播算法(对于该神经网络的任意一个输入x(i)计算出对应的h(x(i))的值,也就是输出值y的向量
  3. 然后用代码计算出代价函数J(θ)
  4. 最后执行反向传播算法来算出这些偏导数项在这里插入图片描述
  5. 使用梯度检查来比较这些已经计算得到的偏导数项,把用反向传播算法得到的偏导数值与用数值方法得到的估计值进行比较,确保两种方法得到基本接近的两个值
  6. 最后使用最优化算法(梯度下降算法)和反向传播算法相结合不断减少θ得到最小化J(θ).

下图是关于神经网络使用梯度下降算法模拟图(简化版)只有两个偏执权重,实际上会有更多的偏执权重,图像会是更高纬度,但是人无法识别比自己更高唯独的空间
在这里插入图片描述
其中反向传播算法计算出梯度下降的方向

第十一章 应用机器学习的建议

使用机器学习诊断法可以快速地选择优化机器学习算法的方向.
评估假设
线性回归的误差定义如下
在这里插入图片描述
分类问题的误差定义如下
在这里插入图片描述
将简化如下
在这里插入图片描述
模型选择和训练
在这里插入图片描述
对于10个多项式高阶假设方程进行训练,并且得到每一个的误差的最小的假设方程,但是这样还不能完全表明我们选择的假设方程是最好的.所以,我们把数据训练集分成三部分,第一部分为训练集为60%,第二部分交叉验证集集为20%,第三部分测试集为20%.选择用交叉训练集进行运算得出最小的误差集,选择最适合的模型,并且用测试集来进行评估我们选择的模型
在这里插入图片描述
诊断偏差与方差
欠拟合就是偏差过大,过拟合就是方差过大.我可以画出测试集的和交叉验证集的错误集曲线图像,如下图:
在这里插入图片描述
在过拟合的时候,测试集的错误集表现的很好,但是使用交叉验证集验证的时候会表现的非常差.在欠拟合的时候,无论是训练集还是交叉验证集都会表现的非常差
正则化和偏差和方差的关系
下图中,最左边是高lamba,中间是适合的lamba,最右边是低lamba
在这里插入图片描述
在训练中选择适合的lamba,拟合出不同的θ的值,然后用交叉验证集样本计算出Jcv(θ) ,误差最小的那一个模型就是我们最终选择的模型,然后观察它在测试集上的表现
在这里插入图片描述

在这里插入图片描述
对于不同的lamba的取值,我们同样地可以画出Jcv(θ)和Jtrain(θ)的曲线,来直观地描述模拟的情况,有利于我们更好地选择的lamba
在这里插入图片描述
学习曲线选择不同的训练样本m来拟合线性方程
如下图所示,当m很小的时候,Jtrain(θ)表现的很好,但是对于没见过的交叉验证集Jcv(θ)却会很差
在这里插入图片描述
在高偏差(欠拟合)的情况下,不论如何增大训练样本,还是不能很好的拟合数据,也就是说高偏差的时候,会得到比较大的Jcv(θ)和Jtrain(θ),在这样的情况下,就不需要把时间浪费在训练样本上
在这里插入图片描述
在高方差(过拟合)的情况下,无论是多样本还是少样本,方程拟合的都挺好的,高方差的一个特征就是在Jcv(θ)和Jtrain(θ)之间会有一个比较大的gap.
在这里插入图片描述
(高方差)过拟合的建议

  1. :增大样本的数量
  2. 缩小训练集的特征数量
  3. 降低学习速率λ

(高偏差)欠拟合的建议
1.增大训练集的特征数量
2.增加 假设方程的多项式
3. 增大学习速率λ

神经网络
一般来说,低隐藏层和低隐藏层单元数量会出现欠拟合的的情况,反之,会出现过拟合的情况,对于复杂的神经网络出现过拟合的情况,可以选择正则化来解决.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值