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

本笔记资料来源于 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趋于相同,且都比较大 。
欠拟合的情况下,增加数据到训练集不一定能有帮助。 比如用一个直线方程去拟合曲线方程,无论怎么增加数据都是没用的。
过拟合加数据肯定有用。

如何选择网络

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

相关推荐
软件黑马王子41 分钟前
C#系统学习第八章——字符串
开发语言·学习·c#
AI数据皮皮侠2 小时前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
张德锋3 小时前
Pytorch实现天气识别
机器学习
strongwyy3 小时前
蓝牙墨水屏上位机学习(2)
学习
九皇叔叔3 小时前
(3)手摸手-学习 Vue3 之 变量声明【ref 和 reactive】区别
学习
致***锌4 小时前
期权标准化合约是什么?
笔记
Wilber的技术分享5 小时前
【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用
人工智能·笔记·算法·随机森林·机器学习·集成学习·xgboost
19895 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
The_cute_cat5 小时前
Ajax和Axios的初步学习
前端·学习·ajax
amazinging6 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十三天
python·学习