写在前面:本文按照书中的脉络做的笔记,包含概念的定义、自己的理解以及阅读时的小思考。感受:深度学习很奥妙,很有趣!
1.2机器学习中的关键组件
- 可以⽤来学习的数据(data);
- 如何转换数据的模型(model);
- ⼀个⽬标函数(objective function),⽤来量化模型的有效性;
当任务在试图预测数值时,最常⻅的损失函数是平⽅误差(squared error),即预测值与实际值之差的平⽅。 当试图解决分类问题时,最常⻅的⽬标函数是最⼩化错误率,即预测与实际情况不符的样本⽐例。
。有些⽬标 函数(如平⽅误差)很容易被优化,有些⽬标(如错误率)由于不可微性或其他复杂性难以直接优化。在这 些情况下,通常会优化替代⽬标。
可⽤数据集通常可以分成两部分:训练数据集⽤于拟合模型参数,测试数据集⽤于评估拟合的模型。
- 调整模型参数以优化⽬标函数的算法(algorithm)。
深度学习中,⼤多流⾏的优化算法通常基于⼀种基本⽅法‒梯度下降(gradient descent)。简⽽⾔之,在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进⾏少量变动,训 练集损失会朝哪个⽅向移动。然后,它在可以减少损失的⽅向上优化参数。
1.3各种机器学习问题
-
监督学习
擅长在“给定输入特征”的情况下预测标签,相当于,在给定一组特定的可用数据(相当于特征)的情况下,估计未知事物的概率(事情的结果,相当于是标签)。
(我的理解:监督学习就是,根据给出的特征和标签,学会二者之间如何从特征映射到标签)
监督学习的学习过程一般可以分为三大步骤:
1、从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签。有时,这些样本已有标签(例如,患者是否在下一年内康复?);有时,这些样本可能需要被人工标记(例如,图像分类)。这些输入和相应的标签一起构成了训练数据集;
2、选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”;
3、将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测。
(1)回归
回归问题的模型,由输出决定。当标签取任意数值时,我们称之为回归问题,此时的目标是生成一个模型,使它的预测非常接近实际标签值。总而言之,判断回归问题的一个很好的经验法则是,任何有关“有多少”的问题很可能就是回归问题。eg:这个手术需要多少小时.
(我的理解:相当于是y=k x+b中,已知x,y,求解k,b。就是在几个变量的已知函数关系的情况下求解变量,这个变量不一定是系数k,b,也可能是x或者y。)、
(2)分类
1)区别:回归是训练一个回归函数来输出一个数值; 分类是训练一个分类器来输出预测的类别。
2)分类问题的常见损失函数被称为交叉熵(cross-entropy)(后面会讲)
3)分类包括:二项分类、多项分类、层次分类(eg:动物的科目类别(猫科、犬科),可能存在相关性,这种不同类的结构叫层析结构)
层次结构相关性可能取决于模型的使用者计划如何使用模型。 例如,响尾蛇和乌梢蛇血缘上可能很接近,但如果把响尾蛇误认为是乌梢蛇可能会是致命的。 因为响尾蛇是有毒的,而乌梢蛇是无毒的。
4)标记问题
给问题贴标签
学习预测不相互排斥的类别的问题称为多标签分类(比如,在一张动物图片中识别出所有的动物)
5)搜索
最重要的是,将搜索的结果根据问题的相关性进行排序
6)推荐系统(recommender system)
它的目标是向特定用户进行“个性化”推荐
7)序列学习
就是根据连续的一段信息,通过学习,获得可能的后续信息。
序列学习需要摄取输入序列或预测输出序列,或两者兼而有之。
应用:机器翻译(eg:根据输入的顺序得到合理的翻译语句)
2、无监督学习
数据中不含有“目标”的机器学习问题通常被为无监督学习(unsupervised learning)
可解决的问题:
A.聚类问题(没有标签的情况下,将有相似特征的东西归为一类)
B.主成分分析(eg:裁缝通过确定人的某些参数来裁定衣服的大小(比如人的臂长,身高等))
C.因果关系和概率图模型(根据经验数据发现给出数据之间的关系)
D.生成对抗网络(提供一种合成数据的方法,潜在的统计机制是检查真实和虚假数据是否相同的测试)
3、环境交互
上述的两种学习方式,是事先取数据,启动模型后就不在与环境交互,是离线学习。
4、强化学习
即智能体(agent)在一系列的时间步骤上与环境交互。
在每个特定时间点,智能体从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)
(我的理解:在已有模型的基础上,执行自己的动作后,将观测到的环境变化与内部的“激励”传回到智能体中进行下一步的动作)
假设我们有一个分类问题,可以创建一个强化学习智能体,每个分类对应一个“动作”。 然后,我们可以创建一个环境,该环境给予智能体的奖励。 这个奖励与原始监督学习问题的损失函数是一致的。
(插个题外话,这句话我有点喜欢,有种内心被点化的感觉。强化学习智能体必须不断地做出选择:是应该利用当前最好的策略,还是探索新的策略空间(放弃一些短期回报来换取知识)。)
当环境可被完全观察到时,强化学习问题被称为马尔可夫决策过程(markov decision process)。 当状态不依赖于之前的操作时,我们称该问题为上下文赌博机(contextual bandit problem)。 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机(multi-armed bandit problem)
(机器能思考吗?我觉得按照深度强化学习的思路看,机器可以通过观察和模仿,无限接近人的行为,几乎是有思想的模样。因为我觉得人从受精卵开始,虽然开始有生命,但是有自己的意识也是通过模仿外界,和机器的学习似乎没区别。或者说,刚出生的婴儿就像是机器已经通过类似深度强化学习学习了十个月,从而有人们看到的与生俱来的脾气秉性、自己的各种反应。以上纯属我的猜测。)