cz教程笔记第一章

计算图

  • 计算图--AI的核心任务是模型的定义和模型参数的求解,计算图可以清楚地表达出数据的流转方式、计算方式等过程;
  • 神经网络的计算由前向传播和反向传播构成:前向传播计算预测结果和损失,反向传播计算参数的偏导数,并对参数及进行梯度下降;
  • 偏导数的计算可以使用链式法则,一步步反向推进,这就是反向传播;a
  • 计算图由边和节点组成,节点代表操作,边代表节点之间传递的张量

学习原理

  • 神经网络学习的目的是找到合适的参数w和b,可以通过梯度下降法达到这个目的;
  • 梯度下降会一步步改变参数w和b的值,使得损失函数的值逐步变小;
  • 在数据集给定的情况下,损失函数是关于参数的一个函数,'学习'或'神经网络训练的目的'就是不断更新参数的值,是损失函数越来越小,预测结果越来越准确;
  • 最重要的选择就是学习率的设定了

偏导数计算--以logistic为例

  • 作为广义线性模型,因简单、可并行化、可解释性强等原因,logistic回归深受工业界喜爱;
  • 人工智能的重点不在公式的推到,而在于对AI机制的理解和如何利用人工智能解决实际问题;
  • 偏导数的计算采用链式法则,逐层反向计算偏导数,直至得到最终模型参数关于损失函数的偏导数;
  • 成本是多个样本损失的平均值,计算多个样本的损失就等于所有样本损失的平均值;

如何向量化人工智能算法

  • 用多个样本训练模型时,对模型参数关于成本函数的偏导数计算平均值,是为了得到能满足最广大样本的参数;
  • 既然通过计算偏导数的平均能满足最关大训练样本,那么期望这套参数能最大程度地适用于新的样本是合理的;
  • 当维度不同的两个对象(如矩阵、向量)进行运算时,python会通过复制元素来使得两个操作对象的维度相同,这是python的广播机制;
  • 要理解1.2.9小节的for循环代码和向量化后的代码;

一些基础概念

  • 标签与特征y
  • 样本:有标签的样本与无标签的样本
  • 模型:定义了 标签和特征之间的关系,如垃圾检测邮件模型会将某些特征与"垃圾邮件"紧密联系起来;
  • 模型的两个生命周期:学习和推断;

特征工程

  • 特征工程指将原始数据转化为特征矢量的过程;
  • 机器学习模型必须将特征表示为实数向量,因为特征值要与模型权重相乘;
  • 分类特征指有限个可能取值的特征;
  • 分类特征的特征工程方法:

内容

优点

缺点

直接映射法

简单明了

不一定一一对应

独热编码(稀疏表示法)

二元向量只有1个分量为1

有效为每个特征值创建布尔变量

当特征取值种类过大,二元向量维数很大且只有一个分量为1(低效表示方法)

多热编码

(稀疏表示法)

二元向量有多个分量为1

有效为每个特征值创建布尔变量

同上

密集表示法

只在出现的单词处表示为1

特征选择

  • 避免那些很少出现的特征值,比如样本编号;
  • 选则具有清晰明确含义的特征;
  • 实际数据内不掺杂特殊值;
  • 挑出坏样本并加工可以挽救的样本,即使少量的坏样本也会破坏大规模的数据集
  • 缩放特征值指将特征由自然范围转化为标准范围,其优势:
  • a)梯度下降法更快速收敛;b)帮助避免NaN陷阱;c)帮助模型为每个特征确定合适的权重;
  • 清查是另一个常用的数据清理手段,内容包括:
  • %遗漏值%重复样本%不良标签%不良特征值;

浅层神经网络极其前向、反向传播

  • 线性回归:
  • 逻辑回归:
  • 为了将逻辑回归映射到二元类别,必须设定分类阈值
  • 单神经网络,,
  • 上式中a就是预测结果,l是损失函数;
  • 通过反向传播,可以计算参数w,b关于损失函数的偏导数,进而进行梯度下降;
  • 此后再次进行前向传播,不断优化参数;
  • 复杂的神经网络是由单神经网络组成的,一般由输入层,隐藏层和输出层组成;
  • 神经网络的层数,每层神经元的个数都是超参数,根据经验手动调参得到;
  • 调参的参考:根据问题的实际背景,参考相关论文,借鉴相关领域专家的经验;
  • 隐藏层神经元的数量,建议由一个较小值开始,若欠拟合,则慢慢增加网络的层数和神经元,过拟合则反之;
  • 公式上角标表示第几层,下角标表示该层的第几个神经元;
  • 所有向量均是列向量,利用向量化来提高前向传播的效率;
  • 多样本组成样本矩阵,每一列是一个样本,多分类问题的激活函数同样是作用于每一列的;

为什么需要激活函数

  • 没有激活函数,神经网络的层数再多也没用,因为都相当于一层;
  • 没有激活函数,神经网络只能解决简单的线性问题;
  • 加入激活函数,只要神经网络层数足够多,那么神经网络就可以解决一切问题

常见的激活函数

激活函数名

内容

优点

缺点

sigmoid/softmax

适合在神经网络二/多分类的输出层

tanh

二元向量只有1个分量为1

有效为每个特征值创建布尔变量

当特征取值种类过大,二元向量维数很大且只有一个分量为1(低效表示方法)

relu

二元向量有多个分量为1

有效为每个特征值创建布尔变量

同上

leaky relu

只在出现的单词处表示为1

#你的秋招进展怎么样了#
全部评论
坚持更新
点赞 回复 分享
发布于 2022-10-02 17:36 浙江

相关推荐

03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务