【吴恩达深度学习】L1W2 学习笔记

第二周:神经网络的编程基础

2.1 二分类(Binary Classification)

传播算法和反向传播

https://zhuanlan.zhihu.com/p/71892752

https://aistudio.baidu.com/aistudio/projectdetail/1601963

image-20220508182455546

符号定义

\(x\):表示一个\(n_x\)维数据,为输入数据,维度为\((n_x,1)\)

\(y\):表示输出结果,取值为\((0,1)\)

\((x^{(i)},y^{(i)})\):表示第\(i\)组数据,可能是训练数据,也可能是测试数据

\(X=[x^{(1)},x^{(2)},...,x^{(m)}]\):表示所有的训练数据集的输入值,放在一个 \(n_x×m\)的矩阵中,其中\(m\)表示样本数目;

\(Y=[y^{(1)},y^{(2)},...,y^{(m)}]\):对应表示所有训练数据集的输出值,维度为\(1×m\)

用一对\((x,y)\)来表示一个单独的样本,\(x\)代表\(n_x\)维的特征向量,\(y\) 表示标签(输出结果)只能为0或1。 而训练集将由\(m\)个训练样本组成,其中\((x^{(1)},y^{(1)})\)表示第一个样本的输入和输出,\((x^{(2)},y^{(2)})\)表示第二个样本的输入和输出,直到最后一个样本\((x^{(m)},y^{(m)})\),然后所有的这些一起表示整个训练集。

在实现神经网络的时候,将\(X^{(i)}\)按照列来堆叠组成一个矩阵\(X\)(像上图那样)会使训练更有效率。

2.2 逻辑回归(Logistic Regression)

image-20220508182515780

我们会考虑将\((y- \hat{y})^2\)也就是误差的真实值只差,但这样的话对于不同的预测值,其误差可能会相差很大,这时候我们可以考虑将其归一化,也就是都化为一个区间。你想让\(\hat{y}\)表示实际值\(y\)等于1的机率的话,\(\hat{y}\) 应该在0到1之间。因此在逻辑回归中,我们的输出应该是\(\hat{y}\)等于由上面得到的线性函数式子作为自变量的sigmoid函数中

https://blog.csdn.net/weixin_41334453/article/details/102805479

\[{x}_{normalization}=\frac{1}{1+{e}^{-x}} \]

2.3 逻辑回归的代价函数(Logistic Regression Cost Function)

image-20220508182548430

为了训练逻辑回归模型的参数参数\(w\)和参数\(b\),我们需要一个代价函数,通过训练代价函数来得到参数\(w\)和参数\(b\)

损失函数:

损失函数又叫做误差函数,用来衡量算法的运行情况,Loss function:\(L\left( \hat{y},y \right)\).

我们通过这个\(L\)称为的损失函数,来衡量预测输出值和实际值有多接近。一般我们用预测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我们在逻辑回归模型中会定义另外一个损失函数。

在逻辑回归中用到的损失函数是:\(L\left( \hat{y},y \right)=-y\log(\hat{y})-(1-y)\log (1-\hat{y})\)

image-20220508182415771

代价函数

image-20220508182436444

2.4 梯度下降法(Gradient Descent)

image-20220508182338530

  1. 初始化\(w\)\(b\)(赋初值)

  2. 求损失函数

  3. 想着梯度方向(下降最快方向)来更新\(w\)\(b\),并不断迭代

  4. 在一定迭代次数或者损失达到一定标准后停止迭代

    img

\(:=\)表示更新参数,

$a $ 表示学习率(learning rate),用来控制步长(step),即向下走一步的长度\(\frac{dJ(w)}{dw}\) 就是函数\(J(w)\)\(w\) 求导(derivative

image-20220508182620179

\(\frac{\partial J(w,b)}{\partial w}\) 就是函数\(J(w,b)\)\(w\) 求偏导,使用\(dw\) 表示这个结果

\(\frac{\partial J(w,b)}{\partial b}\) 就是函数\(J(w,b)\)\(b\) 求偏导,使用\(db\)​ 表示这个结果

为什么不用均方误差来表示线性函数的损失函数

https://blog.csdn.net/lafengxiaoyu/article/details/109916750

posted @ 2022-05-08 18:27  melodit  阅读(90)  评论(0)    收藏  举报