《跟我学》:task1 task2学习笔记

线性回归:**
线性回归假设输出与各个输入之间是线性关系。
计算机在预测过程中要学习的是权重偏差
真实值称为标签,预测标签的因素叫做特征
损失函数,理解为残差平方和的一半。
计算机需要对结果衡量准确与否,如果预测值偏差大,对模型参数调整,让结果向真实值靠拢。即通过优化函数调整

随机梯度下降:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch)B,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。

注意:梯度运算完了以后要重置,否则后面会累加影响结果。

Softmax和分类:
简单与线性回归区分:线性回归是连续的,softmax是预测离散的。
softmax回归同线性回归一样,也是一个单层神经网络。由于每个输出o1,o2,o3的计算都要依赖于所有的输入x1,x2,x3,x4,softmax回归的输出层是一个全连接层。

分类问题
既然分类问题需要得到离散的预测输出,一个简单的办法是将输出值oi当作预测类别是i的置信度,并将值最大的输出所对应的类作为预测输出

直接使用输出层的输出有两个问题:
1、由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。
2、由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。

softmax运算符(softmax operator)解决了以上两个问题。可以将输出值变换成值为正且和为1的概率分布。
训练目标可以设为预测概率分布尽可能接近真实的标签概率分布。

然而,想要预测分类结果正确,我们其实并不需要预测概率完全等于标签概率。改善上述问题的一个方法是使用更适合衡量两个概率分布差异的测量函数。

其中,**交叉熵(cross entropy)**是一个常用的衡量方法。交叉熵只关心对正确类别的预测概率,因为只要其值足够大,就可以确保分类结果正确。当然,遇到一个样本有多个标签时,例如图像里含有不止一个物体时,我们并不能做这一步简化。但即便对于这种情况,交叉熵同样只关心对图像中出现的物体类别的预测概率。

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

多层感知机:
多层感知机,一种多层神经网络。

如果全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射变换,那么层数再多也相当于单层神经网络。解决问题的一个方法是引入非线性变换,例如对隐藏变量使用按元素运算的非线性函数进行变换,然后再作为下一个全连接层的输入。这个非线性函数被称为激活函数(activation function)。

ReLU(rectified linear unit)函数提供了一个很简单的非线性变换。ReLU函数只保留正数元素,并将负数元素清零。
Sigmoid函数可以将元素的值变换到0和1之间:
tanh(双曲正切)函数可以将元素的值变换到-1和1之间:

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

多层感知机就是含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。

文本预处理:
文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:
1、读入文本
2、分词
3、建立字典,将每个词映射到一个唯一的索引(index)
4、将文本从词的序列转换为索引的序列,方便输入模型

语言模型:
一段自然语言文本可以看作是一个离散时间序列,给定一个长度为T的词的序列w1,w2,…,wT,语言模型的目标就是评估该序列是否合理,即计算该序列的概率:P(w1,w2,…,wT).

语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。
其中n(w1)为语料库中以w1作为第一个词的文本的数量,n为语料库中文本的总数量。
类似的,给定w1情况下,w2的条件概率可以计算为:
P(w2∣w1)=n(w1,w2)/n(w1)
其中n(w1,w2)为语料库中以w1作为第一个词,w2作为第二个词的文本的数量。

n元语法
序列长度增加,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。n元语法通过马尔可夫假设简化模型,马尔科夫假设是指一个词的出现只与前面n个词相关,即n阶马尔可夫链,如果n=1,那么有P(w3∣w1,w2)=P(w3∣w2)。基于n−1阶马尔可夫链,我们可以将语言模型改写为
P(w1,w2,…,wT)=∏P(wt∣wt−(n−1),…,wt−1).
以上也叫n元语法(n-grams),它是基于n−1阶马尔可夫链的概率语言模型。例如,当n=2时,含有4个词的文本序列的概率就可以改写为:
P(w1,w2,w3,w4)
=P(w1)P(w2∣w1)P(w3∣w1,w2)P(w4∣w1,w2,w3)
=P(w1)P(w2∣w1)P(w3∣w2)P(w4∣w3)
当n分别为1、2和3时,我们将其分别称作一元语法(unigram)、二元语法(bigram)和三元语法(trigram)。例如,长度为4的序列w1,w2,w3,w4在一元语法、二元语法和三元语法中的概率分别为
P(w1,w2,w3,w4)=P(w1)P(w2)P(w3)P(w4),
P(w1,w2,w3,w4)=P(w1)P(w2∣w1)P(w3∣w2)P(w4∣w3),
P(w1,w2,w3,w4)=P(w1)P(w2∣w1)P(w3∣w1,w2)P(w4∣w2,w3).
当n较小时,n元语法往往并不准确。当n较大时,n元语法需要计算并存储大量的词频和多词相邻频率。

**n元语法缺陷:**参数过大,数据稀疏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值