热门标签 | 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与分类模型;多层感知机;文本预处理;语言模型;循环神经网络


推荐阅读
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 李宏毅机器学习笔记:无监督学习之线性方法
    无监督学习主要涵盖两大类别:一是聚类与降维,旨在简化数据结构;二是生成模型,用于从编码生成新的数据样本。本文深入探讨了这些技术的具体应用和理论基础。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 本文深入探讨了基于Pairwise和Listwise方法的排序学习,结合PaddlePaddle平台提供的丰富运算组件,详细介绍了如何通过这些方法构建高效、精准的排序模型。文章不仅涵盖了基础理论,还提供了实际应用场景和技术实现细节。 ... [详细]
  • 深入理解K近邻分类算法:机器学习100天系列(26)
    本文详细介绍了K近邻分类算法的理论基础,探讨其工作原理、应用场景以及潜在的局限性。作为机器学习100天系列的一部分,旨在为读者提供全面且深入的理解。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
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社区 版权所有