您的位置:首页 > 其它

动手学深度学习笔记1线性回归

2020-03-05 19:14 260 查看

线性回归、softmax与多层感知机

一、线性回归

1.线性模型:

2.损失函数

第一个是单样本的损失,第二个是多样本的损失
3.优化函数-SGD:
常用的是小批量随机梯度下降:

优化函数的两个步骤:
(i)初始化模型参数,一般来说使用随机初始化;
(ii)我们在数据上迭代多次,通过在负梯度方向移动参数来更新每个参数。
4.矢量计算
向量相加的一种方法是,将这两个向量按元素逐一做标量加法。
向量相加的另一种方法是,将这两个向量直接做矢量加法。
注意:线性回归得到矩阵的大小,要看线性回归W与X的矩阵乘法。

二、softmax
1.softmax基本概念
①应用在分类问题中
②可以用一个单层的神经网络来表达

③softmax运算符的表达式:

注意到其中所有类的指数概率和是1
另外有

④小批量softmax计算的表达式:

⑤交叉熵损失函数:
解决问题:平方损失过为严格
假设训练数据集的样本数为nn,交叉熵损失函数定义为

其中,

即,最小化交叉熵损失函数等价于最大化训练数据集所有标签类别的联合预测概率。

三、多层感知机
1.多层感知机(multiple perceptron,MLP)的基本概念
表达公式:

可以看到,多层感知机输出层权重参数为

偏差参数为

我们可以看到,无论隐藏层有多少,都最后会等价与X*W,本质上还是一个线性的层。

原因:根源在于全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射变换。解决问题的一个方法是引入非线性变换,例如对隐藏变量使用按元素运算的非线性函数进行变换,然后再作为下一个全连接层的输入。
激活函数:本质是为了在神经网络中引入非线性层

常用的激活函数:
ReLU:

函数图像为:

Sigmoid函数:可以将函数变换到0,1之间

导数为:

函数图像为:

导数图像为:

双曲正切函数(tanh函数):将元素变换到-1到1之间

函数图像为:

Tanh函数的导数为:

图像为:

关于激活函数的选择:
①ReLu函数是一个通用的激活函数,目前在大多数情况下使用。但是,ReLU函数只能在隐藏层中使用。
②用于分类器时,sigmoid函数及其组合通常效果更好。由于梯度消失问题,有时要避免使用sigmoid和tanh函数。
③在神经网络层数较多的时候,最好使用ReLu函数,ReLu函数比较简单计算量少,而sigmoid和tanh函数计算量大很多。
④在选择激活函数的时候可以先选用ReLu函数,如果效果不理想可以尝试其他激活函数。

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
programer_cao 发布了7 篇原创文章 · 获赞 3 · 访问量 374 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: