热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

动手学深度学习Task01Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络

线性回归

模型
price=warea⋅area+wage⋅age+b

数据集
我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。

损失函数
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
优化函数 - 随机梯度下降
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络

Softmax与分类模型

分类问题
一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。
图像中的4像素分别记为 x1,x2,x3,x4 。
假设真实标签为狗、猫或者鸡,这些标签对应的离散值为 y1,y2,y3 。
我们通常使用离散的数值来表示类别,例如 y1=1,y2=2,y3=3 。

权重矢量
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
输出问题
直接使用输出层的输出有两个问题:
一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中的输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但如果 o1=o3=103 ,那么输出值10却又表示图像类别为猫的概率很低。
另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。
softmax运算符(softmax operator)解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
小批量矢量计算表达式
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
交叉熵损失函数
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络

多层感知机

隐藏层
下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
表达公式
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络

**函数
ReLU函数
ReLU(rectified linear unit)函数提供了一个很简单的非线性变换。给定元素 x ,该函数定义为
ReLU(x)=max(x,0).
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
Sigmoid函数
sigmoid函数可以将元素的值变换到0和1之间:
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
tanh函数
tanh(双曲正切)函数可以将元素的值变换到-1和1之间:
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络

文本预处理

文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:

1、读入文本
2、分词
3、建立字典,将每个词映射到一个唯一的索引(index)
4、将文本从词的序列转换为索引的序列,方便输入模型

语言模型

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

P(w1,w2,…,wT).

假设序列 w1,w2,…,wT 中的每个词是依次生成的,我们有
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
语言模型的参数就是词的概率以及给定前几个词情况下的条件概率。设训练数据集为一个大型文本语料库,如***的所有条目,词的概率可以通过该词在训练数据集中的相对词频来计算,例如, w1 的概率可以计算为:
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
其中 n(w1) 为语料库中以 w1 作为第一个词的文本的数量, n 为语料库中文本的总数量。

类似的,给定 w1 情况下, w2 的条件概率可以计算为
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
其中 n(w1,w2) 为语料库中以 w1 作为第一个词, w2 作为第二个词的文本的数量。

n元语法
序列长度增加,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。 n 元语法通过马尔可夫假设简化模型,马尔科夫假设是指一个词的出现只与前面 n 个词相关,即 n 阶马尔可夫链(Markov chain of order n ),如果 n=1 ,那么有 P(w3∣w1,w2)=P(w3∣w2) 。基于 n−1 阶马尔可夫链,我们可以将语言模型改写为
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
以上也叫 n 元语法( n -grams),它是基于 n−1 阶马尔可夫链的概率语言模型。例如,当 n=2 时,含有4个词的文本序列的概率就可以改写为:
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
当 n 分别为1、2和3时,我们将其分别称作一元语法(unigram)、二元语法(bigram)和三元语法(trigram)。例如,长度为4的序列 w1,w2,w3,w4 在一元语法、二元语法和三元语法中的概率分别为
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
当 n 较小时, n 元语法往往并不准确。例如,在一元语法中,由三个词组成的句子“你走先”和“你先走”的概率是一样的。然而,当 n 较大时, n 元语法需要计算并存储大量的词频和多词相邻频率。

循环神经网络

动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
循环神经网络的构造
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络
动手学深度学习Task01-Task02:线性回归;Softmax与分类模型;多层感知机;文本预处理;语言模型;循环神经网络


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
author-avatar
zhangmy0815522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有