伯禹学习平台第一次打卡 task01-task02

别来无恙 提交于 2020-02-15 04:45:22
 此次博客的内容为对task01和task02的学习内容进行一次复习总结,方便以后复习学习。

线性回归

  • 给定数据集
    D={(x1;y1),(x2;y2),}D=\{(x_1; y_1), (x_2; y_2),\cdots \}

  • 试图学习此数据集,得到一个线性模型
    y^=b+wx\hat{y} = b + wx

  • 使该模型尽可能准确的反映 xix_iyiy_i 的关系

  • 线性回归问题归结为求参数 b,wb, w,使得损失函数J
    J=i=1n[yiy^i]2=i=1n[yi(b+wxi)]2J=\sum_{i=1} ^n{\left[y_i-\hat{y}_i\right]^2}=\sum_{i=1}^n{\left[y_i-(b+wx_i)\right]^2}
    取最小值

  • 回归后的系数可通过回归器的如下参数属性获得

    • ww
    • bb
  • 其中损失函数最小值的优化过程就是训练的过程,其中用到的方法就是梯度下降法,即让参数沿梯度逆方向变化,最终求得最优解的过程。

softmax与分类模型

  • 机器学习中的预测问题通常分为2类:回归与分类,其中分类又称逻辑回归
  • 交叉熵损失函数
    作为初学者,我开始学习的时候对于其中的交叉熵函数还不是很清楚,经过学习后,其实发现只不过是另一种损失函数,而且在数据服从高斯分布时候,交叉熵损失函数其实是与线性回归中用到的均方差损失函数是等价的

多层感知机

  • 多层感知机(MLP)也叫人工神经网络(ANN),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构
  • Sigmoid型激活函数的作用
    不使用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。使用激活函数,能够给神经元引入非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以利用到更多的非线性模型中。

文本预处理

  • 该章主要内容就是对文本内容处理达到读入文本,分词,建立字典,将词转为索引等,以便接下来学习训练使用

语言模型

  • 一段自然语言文本可以看作是一个离散时间序列,给定一个长度为TT的词的序列w1,w2,,wTw_1, w_2, \ldots, w_T,语言模型的目标就是评估该序列是否合理,即计算该序列的概率:
  • 此次学习采用了n-元语法统计模型
  • 语言模型

假设序列w1,w2,,wTw_1, w_2, \ldots, w_T中的每个词是依次生成的,我们有

P(w1,w2,,wT)=t=1TP(wtw1,,wt1)=P(w1)P(w2w1)P(wTw1w2wT1)\begin{aligned}P(w_1, w_2, \ldots, w_T)&= \prod_{t=1}^T P(w_t \mid w_1, \ldots, w_{t-1})\\&= P(w_1)P(w_2 \mid w_1)\cdots P(w_T \mid w_1w_2\cdots w_{T-1})\end{aligned}

P(w1,w2,w3,w4)=P(w1)P(w2w1)P(w3w1,w2)P(w4w1,w2,w3). P(w_1, w_2, w_3, w_4) = P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) P(w_4 \mid w_1, w_2, w_3).

语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。设训练数据集为一个大型文本语料库,如维基百科的所有条目,词的概率可以通过该词在训练数据集中的相对词频来计算,例如,w1w_1的概率可以计算为:

P^(w1)=n(w1)n \hat P(w_1) = \frac{n(w_1)}{n}

其中n(w1)n(w_1)为语料库中以w1w_1作为第一个词的文本的数量,nn为语料库中文本的总数量。

类似的,给定w1w_1情况下,w2w_2的条件概率可以计算为:

P^(w2w1)=n(w1,w2)n(w1) \hat P(w_2 \mid w_1) = \frac{n(w_1, w_2)}{n(w_1)}

  • n元语法

序列长度增加,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。nn元语法通过马尔可夫假设简化模型,马尔科夫假设是指一个词的出现只与前面nn个词相关,即nn阶马尔可夫链(Markov chain of order nn),如果n=1n=1,那么有P(w3w1,w2)=P(w3w2)P(w_3 \mid w_1, w_2) = P(w_3 \mid w_2)。基于n1n-1阶马尔可夫链,我们可以将语言模型改写为

P(w1,w2,,wT)=t=1TP(wtwt(n1),,wt1). P(w_1, w_2, \ldots, w_T) = \prod_{t=1}^T P(w_t \mid w_{t-(n-1)}, \ldots, w_{t-1}) .

以上也叫nn元语法(nn-grams),它是基于n1n - 1阶马尔可夫链的概率语言模型。例如,当n=2n=2时,含有4个词的文本序列的概率就可以改写为:

P(w1,w2,w3,w4)=P(w1)P(w2w1)P(w3w1,w2)P(w4w1,w2,w3)=P(w1)P(w2w1)P(w3w2)P(w4w3) \begin{aligned} P(w_1, w_2, w_3, w_4) &= P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) P(w_4 \mid w_1, w_2, w_3)\\ &= P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_2) P(w_4 \mid w_3) \end{aligned}

nn分别为1、2和3时,我们将其分别称作一元语法(unigram)、二元语法(bigram)和三元语法(trigram)。例如,长度为4的序列w1,w2,w3,w4w_1, w_2, w_3, w_4在一元语法、二元语法和三元语法中的概率分别为

P(w1,w2,w3,w4)=P(w1)P(w2)P(w3)P(w4),P(w1,w2,w3,w4)=P(w1)P(w2w1)P(w3w2)P(w4w3),P(w1,w2,w3,w4)=P(w1)P(w2w1)P(w3w1,w2)P(w4w2,w3). \begin{aligned} P(w_1, w_2, w_3, w_4) &= P(w_1) P(w_2) P(w_3) P(w_4) ,\\ P(w_1, w_2, w_3, w_4) &= P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_2) P(w_4 \mid w_3) ,\\ P(w_1, w_2, w_3, w_4) &= P(w_1) P(w_2 \mid w_1) P(w_3 \mid w_1, w_2) P(w_4 \mid w_2, w_3) . \end{aligned}

nn较小时,nn元语法往往并不准确。例如,在一元语法中,由三个词组成的句子“你走先”和“你先走”的概率是一样的。然而,当nn较大时,nn元语法需要计算并存储大量的词频和多词相邻频率。

循环神经网络基础

在这里插入图片描述
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!