吴恩达《机器学习》学习笔记

本笔记资料来源于 http://www.ai-start.com/ml2014/,该笔记来自于https://blog.csdn.net/dadapongi6/article/details/105668394,看了忘,忘了看,再看一遍。

时间统计:2024.2.29 5个番茄钟,从week1开始,看完了week5反向传播算法。

week1

特征缩放是什么?

week3

http://www.ai-start.com/ml2014/html/week3.html

线性回归和逻辑回归是同一个算法吗?

线性回归是回归任务;

逻辑回归是logistic regression是2分类,是一个分类任务。在线性回归后又加了一个sigmoid函数,把线性回归的值映射到0-1之间。

代价函数为什么不使用误差的平方和,而是使用交叉熵?

这个图太形象了,使用误差的平方和会让loss函数是非凸的,导致loss函数会有很多局部最小值!

正则化为什么可以防止过拟合?

防止参数过大。

week4

神经网络的矩阵参数含义

假设一个神经网络输入x是3维向量,输出a是10维向量,则神经网络的矩阵W就是(10x3),也就是神经网络的参数量

a=Wx。如下图所示,每个神经元跟输入的所有神经元都建立了连接。

由此可见,单纯的神经元线性层确实只是线性变换。

神经网络相比线性回归和逻辑回归的优势是什么?

隐藏层的输出表示更高维度的feature,相对于输入表达的更多。

神经网络表示and or 非 同或(XNOR)

这个是真牛逼,我就想不到。当你神经网络是一个函数,对于一个and函数来说,它的输入就是2维的x1,x2,所以这个线性网络只需要三个参数。

同或XNOR表示

多分类输出,有多少个类别,就输出多少个神经元,最后神经元的真值是onehot向量。

week5

训练神经网络的流程

  1. 参数的随机初始化
  2. 利用正向传播方法计算所有的h(x)
  3. 编写计算代价函数Loss的代码
  4. 利用反向传播方法计算所有偏导数
  5. 利用数值检验方法检验这些偏导数
  6. 使用优化算法来最小化代价函数

反向传播算法(直观理解,吴恩达视频讲解)比较清晰。

什么是反向传播算法?误差从最后一层,一层层往前传播;而前向传播指的是输入的数据,从前往后一层层往后传播,误差的传递公式看下图,其实就是梯度反传?

sigmoid函数求导 f'(x) = f(x)*(1-f(x))

问题1 反向传播公式怎么推导出来的?

吴恩达老师说自己了解也不是很深入,但是不影响他使用。大家也是一样,不用太纠结。
从反向传播公式中可以看出loss的反向传播用到了上一层的梯度。

问题2 神经网络参数初始化不能为0?

为0的话会导致第二层所有激活值都是零。

week6

怎么判断欠拟合和过拟合?

随着训练次数的增加,训练集和验证集的loss趋于相同,且都比较大 。
欠拟合的情况下,增加数据到训练集不一定能有帮助。 比如用一个直线方程去拟合曲线方程,无论怎么增加数据都是没用的。
过拟合加数据肯定有用。

如何选择网络

选择比较大的神经网络并采用正则化的方法,要比采用小的神经网络更好。因为小的网络容易欠拟合,而大的网络可以通过正则化适应数据。

相关推荐
im_AMBER15 分钟前
编辑器项目开发复盘:主题切换
前端·学习·前端框架·编辑器·html5
2401_8657213319 分钟前
WEEK 3 刷题&学习记录
网络·学习·ctf
强子感冒了1 小时前
Cherry Studio是如何联网的?一次详细的HTTP抓包分析与实现原理探究
笔记
好奇龙猫3 小时前
【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(19):単語文法】
学习
挨踢学霸7 小时前
技术全面重构|MsgHelper 新版深度拆解:交互、视觉与逻辑的底层优化(二)
经验分享·笔记·微信·架构·自动化
Nan_Shu_6147 小时前
学习: 尚硅谷Java项目之小谷充电宝(3)
java·后端·学习
头疼的程序员7 小时前
计算机网络:自顶向下方法(第七版)第三章 学习分享(二)
网络·学习·计算机网络
星期五不见面7 小时前
AI学习(三)openclow启动(2)2026/03/05
学习
进击的小头7 小时前
第3篇:最优控制理论数学基础——矩阵与向量的导数
python·线性代数·机器学习·矩阵
南滑散修7 小时前
机器学习(一)-数学基础
人工智能·机器学习