伯禹学习——第一次打卡

1. 线性回归

  • 形式:
    y = a0 + a1x1 + a2x2 +…
    x可以具有更高的指数,其中,theta是参数,x是我们的训练数据和检测数据中的特征值。实际上,theta是未知量,我们的目标就是通过训练数据调整theta,来使得输出的结果更接近真实值。
    x的形式可以是一次幂,也可以是更高的指数。只要theta之间互相独立,且没有乘积的形式,都可以认为是线性关系
  • 目标:
    方差最小(损失函数减小)
  • 实现:
    求导,导数< 0 的方向,再乘以步长,更新参数theta,直至导数趋于0

2. Softmax与分类模型

softmax

  • 定义:
    假设有一个数组V,Vi表示V中的第i个元素,那么这个元素的softmax值为:
    Si=eijejS_i=\frac{e^i}{\sum_j e^j}

    该元素的softmax值,就是该元素的指数与所有元素指数和的比值。

  • 求导:
    在多分类问题中,我们经常使用交叉熵作为损失函数:
    Loss=itilnyiLoss = - \sum_i t_i lny_i
    其中,ti表示真实值,yi表示求出的softmax值。当预测第i个时,可以认为ti=1。此时损失函数变成了:
    Lossi=lnyiLoss_i = -lny_i
    接下来对Loss求导。根据定义:
    yi=eijejy_i = \frac{e^i}{\sum_j e^j}
    将数值映射到了0-1之间,并且和为1,最终结果为:
    Lossii=yi1\frac{\partial Loss_i}{\partial _i} = y_i - 1
    我们要求yiy_i,将结果减1就是反向更新的梯度

  • 小结:
    Softmax运算,将数值归一化得到0-1概率。使用交叉熵误差函数,softmax只聚焦于最大概率值。

多层感知机

多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:
伯禹学习——第一次打卡

3. 文本预处理

  1. 读入文本
  2. 分词
  3. 建立字典
  4. 将文本从词的序列转换为索引序列

4. 语言模型

  • 定义:
    标准定义:对于语言序列 ,语言模型就是计算该序列的概率 。
    从机器学习的角度来看:语言模型是对语句的概率分布的建模。
    通俗解释:判断一个语言序列是否是正常语句,即是否是人类语言 。
  • N-gram:
    为了解决*参数数目过多的问题,引入了马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的n个词有关。基于上述假设的统计语言模型被称为N-gram语言模型。

5. 循环神经网络基础

  • 理解:
    RNN层级结构较之于CNN来说比较简单, 它主要有输入层,Hidden Layer, 输出层组成.并且会发现在Hidden Layer 有一个箭头表示数据的循环更新, 这个就是实现时间记忆功能的方法。
  • 结构:
    伯禹学习——第一次打卡