相关资料
李宏毅老师:个人主页在这里有上课的课件、课后题目数据集及源码
课程视频(B站):B站
作业说明及范例:GitHub
动手学深度学习:这本书也不错,理论与实践结合紧密
Neural Networks and Deep Learning
TensorFlow:http://c.biancheng.net/view/1911.html
这个也可以参考一下:https://blog.csdn.net/iteapoy/article/details/105382315
Learning Map
HomeWork
序号 | 任务 | 完成情况 | 完成时间 |
---|---|---|---|
1 | Linear Regression | ✔Regression | 2020/10/19 |
2 | Classification | ✔Classification | 2020/10/21 |
3 | CNN | 待完成 |
P4 Basic Concept
偏差(Bias)和方差(Variance)——机器学习中的模型选择
P5Gradien Descent1
Tips1:调整学习速率——自适应学习率
简单而言:随着次数的增加,通过一些因子来减少学习率
通常来讲,初始点距离最低点会较远,这时我们想要使用较大的学习率;但是更新几次参数之后,就会距离最低点比较近了,如果学习率依然比较大就容易错过最低点,此时就应该通过减小学习率。
主要介绍了Adagrad算法,但是当距离最低点很近的时候,会存在学习率过慢的问题;
Tips2:随机梯度下降算法
常规的梯度下降算法是走一步要处理所有的例子;而随机算法是每走一步就更新一次梯度;
Tips3:特征缩放
把特征的规模缩放成相同的或者差不多的,不要差别太大;
P10 Classification
分类模型(二分类)
在function一个函数g(x),如果大于0,就认为是类别1,否则认为类别2。
损失函数定义可以是,L(f)在训练集预测错误的次数,当然希望错误次数越小越好;
P11 Logistic Regression
P12:Brief Introduction of Deep Learning
注意,看完P12可以直接跳过去看P15, 然后再看P13.
Three Steps for Deep Learning
Step1:Neural Network
神经网络可以有多种不同的连接方式,这样就会产生不同的结构,期间会用到不同的逻辑回归函数,每个逻辑回归函数都有自己的权重和偏差(就是参数),而神经元的连接方式是可以手动设计的。
Fully Connect Feedforward Network完全连接前馈神经网络
信号输入之后,流动方向是单向的,从前一层流向后一层。
全连接:相连的两层之间两两都由连接;
前馈:传递方向是从后向前;
输入层:一层;隐藏层:N层;输出层:一层;
矩阵计算
为了降低运算量,我们通过矩阵进行运算,每一层之间都运算一层,并层层嵌套,就相当于是内层函数的结果是外层函数的变量,嵌套多层;
Step2:Goodness of Function
判断一个模型的好坏,和之前在逻辑回归一样,采用cross entropy交叉熵来计算,然后调整参数,让交叉熵越小越好
Step3:选择最优函数
通过梯度下降的方法找到最优函数和最好的一组参数,可以参考之前的视频。
P13:Backpropagation反向传播
链式法则
用来求导的,可以回顾高等数学的微积分,不难
Forward Pass 与 Backward Pass
ForwardPass就是正向求导,BackwardPass就是逆向求导,看着公式推一下就可以了。
P14Tips for Training DNN
P15Why Deep?
从深度->程序的模块化,可以互相调用相同的模块,把复杂的问题变得简单,随着层次的增加,层次的功能变得更加复杂。
P17CNN
参考
https://easyai.tech/ai-definition/cnn/
https://www.cnblogs.com/kongweisi/p/10987870.html
CNN解决的问题:第一个是将图像维度降低之后再处理,可以简化处理过程,降维并不会影响结果;第二个是保留图像的特征;
Input Layer
输入层需要对数据进行预处理操作,常见的是:去均值、归一化、PCA/白化。
Convolution+Max Pooling(can repeat many times)
卷积层:通过卷积核来提取原始图像的特征
池化层:有效降低数据的维度,减少运算量,避免过度拟合
Convolution(卷积层)
图像中不同数据窗口的数据和卷积核(Filter)作内积的操作叫做卷积,本质是提取图像不同频段的特征。
处理黑白照片,就是一个matrix与卷积核求内积;处理彩色照片(相当于是RGB三种颜色叠加的图片,相当于是三个通道Chanel),就是三个Matrix与卷积核求内积,其中卷积核也是三层;
将输入矩阵与卷积核进行内积运算,得到一个新的矩阵。卷积核本质上是一个小规模的矩阵,相当于一个小矩阵在大矩阵上进行移动,移动的步长可以设定,最后得到一个新的矩阵。这样做既可以有效提取特征,还可以解决参数数量太大的问题。
每一个卷积核相当于一个神经元,可以共享同一个卷积核,称为权值共享。
步长:卷积核在大矩阵上移动的距离,一般设置为1;
通道:如果原始数据有多层,那么卷积核也要有相同的层次,例如RGB图片,就是由三层不同颜色组成,
Pooling(池化层)
作用是压缩数据,减少参数的数目,其方法很多,一般采用Max Pooling,最大池化,只取最大值。
注意:卷积层和池化层可以多次重复出现,其作用都是一样的,只是卷积核可以根据需要进行调整。
Fully Connected Feedforward network
把多维数据进行Flatten,得到一维数据,进行全连接;
CNN卷积过程:https://blog.csdn.net/aaa958099161/article/details/90346899