谷歌机器学习速成课程----机器学习概念----学习笔记1

1.监督式机器学习(superviszed machine learning):机器学习通过学习如何组合输入信息来对未学习过的数据做出有用预测。

2.标签(label):标签是我们要预测的事物,比如简单线性回归中的‘y’。标签可以是小麦价格,某个地区房价,垃圾的种类,音频剪辑的含义或任何事物,在统计学中可以把标签视为‘因变量’。

3.特征(feature):特征是输入变量,即简单线性回归中的‘x’变量,在统计学中可以把特征视为‘自变量’。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能有数百万个特征,按如下方式制定:X1,X2,X3…Xn
在垃圾邮件检测器示例中,特征可能包括:

  • 电子邮件文本中的字词
  • 发件人的地址
  • 发送电子邮件的时段
  • 电子邮件中包含‘一种奇怪的把戏’这样的短语。

良好的特征需具备的特点:

  • 避免很少使用的离散特征值
  • 最好具有清晰明确的含义。每个特征对于项目中的任何人来说都应该具有清晰明确的含义。
  • 实际数据内不要参入特殊值。良好的浮点特征不包含超出范围的异常断点或特殊的值。
  • 考虑上游不稳定性。特征的定义不应随时间发生变化。

特征工程(Feature engineering):特征工程指的是将原始数据转换为特征矢量。许多机器学习模型都必须将特征表示为实数向量,因为特征值必须与模型权重相乘。机器学习的大部分工作是特征工程。

对于很多分类特征,它们是一组离散的可能值。比如‘街道名’,它们是字符,所以不能与学习到的权重相乘,我们需要用特征工程将它们映射成数字值。常用的方法有独热编码和多热编码以及稀疏表示法

4.样本(Example)是指数据的特定实例:x(粗体表示它是一个矢量),样本分为以下两类:有标签样本/无标签样本。

有标签样本(labeled example):包含特征和标签,用来训练模型
无标签样本(unlabel example):包含特征,但不包含标签,用来给模型做预测。

5.模型(Model):模型定义了特征与标签之间的关系。模型生命周期的两个阶段:
- 训练(training):指创建或学习模型,向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系。
- 推断(Inference):指训练后的模型用于无标签样本。也就是说,使用经过训练的模型做出有用的预测(y’)。

回归模型:预测连续值。这类模型可以回答如下问题;

  • 加利福利亚一栋房产的价值是多少?
  • 用户点击此广告的概率是多少?

分类模型:预测离散值。这类模型可以回答如下问题:

  • 某个指定电子邮件是垃圾邮件还是非垃圾邮件?
  • 这是一张狗、猫还是仓鼠图片?
  1. 损失(Loss):损失可以看做对糟糕预测的惩罚,也就是说,损失是一个数值,表示对单个样本而言模型预测的准确程度。

平方损失(L2损失):一种常见的损失函数。 ( y − y ′ ) 2 (y-y')^2 yy2
均方误差(MSE): 指每个样本的平均平方损失。要计算MSE,请求出各个样本的所有平方项之和,然后除以样本数量:
M S E = 1 N ∗ ∑ ( x , y ) ∈ D ( y − p r e d i c t i o n ( x ) ) 2 MSE={1\over N }* \sum_{(x,y)\in D}(y-prediction(x))^2 MSE=N1(x,y)D(yprediction(x))2
其中:

  • (x,y)指的是样本,其中
    x指的是模型进行预测时使用的特征集(例如,温度、年龄和交配成功率等)
    y指的是样本的标签(例如,每分钟的鸣叫次数)

  • prediction(x)指的是权重和偏差与特征集x结合的函数。

  • D指的是包含多个有标签样本(即(x,y))的数据集

  • N指的是D中的样本数量。

7.迭代:指模型的一次试错过程,在TF中用‘step’表示,模型在每次迭代后根据得到的损失,对模型的计算参数进行一次更新,直到损失不再变化或变化很慢为止。

8.批量(Batch):指单次迭代时计算梯度的样本总数,在TF中表示模型在一个step内计算的样本量。

随机梯度下降法(SGD):Stochastic gradient descent,指模型在每次迭代中只使用一个样本(Batch_size=1),小批量随机梯度下降法(小批量SGD)是介于全批量迭代与SGD之间的折衷方案,小批量通常包含10-1000个随机选择的样本。它可以减少SGD中的杂乱样本数量,但仍然比全批量更高效。

periods:控制报告的粒度,指整个训练过程中输出损失值得总次数。如果periods=7,steps=70,则在模型训练是,每迭代10次,就输出一次损失值

9.泛化(Generalization):可以用下面三项基本假设来阐明

  • 我们从分布中随机抽取独立同分布(i.i.d)的样本。换言之,样本之间不会互相影响。(另一种解释:i.i.d.是表示变量随机性的一种方式。)
  • 分布是平稳的;即分布在数据集内不会发生变化。
  • 我们从同一分布的数据划分中抽取样本。

如果某个模型尝试紧密拟合训练数据,但却不能很好地泛化到新数据,就会发生过拟合。

10.缩放特征值
缩放(scale)是指将浮点特征值从自然范围转换为标准范围(比如0到1或-1到+1)。特征缩放带来的好处有:

  • 帮助梯度下降法更快速地收敛
  • 帮助避免“NaN陷阱”。在这种陷阱中,模型中的一个数值变成NaN(例如,当某个值在训练期间超出浮点精确率限制时),并且模型中的所有其他数值最终也会因数学运算而变成NaN。
  • 帮助模型为每个特征确定合适的权重。如果没有进行特征缩放,则模型会对范围较大的特征投入过多精力。

11.处理极端离群值

12.分箱

13.清查
检查数据集中的:遗漏值、重复样本、不良标签、不良特征值。

14.L1正则化可能会使以下类型的特征的权重正好为0:

  • 信息缺乏的特征
  • 不同程度的信息丰富的特征
  • 与其他类似的信息丰富特征密切相关的信息丰富特征

15.神经网络的所有标准组件:

  • 一组节点,类似于神经元,位于层中。
  • 一组权重,表示每个神经网络层与其下方的层之间的关系。下方的层可能是另一个神经网络层,也可能是其他类型的层。
  • 一组偏差,每个节点一个偏差
  • 一个激活函数,对层中每个节点的输出进行转换。不同的层可能拥有不同的激活函数。

16.训练神经网络时会遇到的几个问题:
梯度消失(Vanishing Gradients):较低层的梯度可能会变得非常小。在深度网络中,计算这些梯度时,可能涉及许多小项的乘积。当较低层的梯度逐渐消失到0时,这些层的训练会变得非常缓慢,甚至不再训练。Relu激活函数可以有助于防止梯度消失。
梯度爆炸(Exploding Gradients):如果网络中的权重过大,则较低层的梯度会涉及许多大项的乘积。在这种情况下,梯度就会爆炸:梯度过大导致难以收敛。批标准化(Batch normalization)可以降低学习速率,因而有助于防止梯度爆炸
ReLU单元消失(Dead ReLU Units):一旦ReLU单元的加权和低于0,ReLU单元就可能会停滞。它会输出对网络输出没有任何贡献的0激活,而梯度在反向传播算法期间将无法再从中流过。由于梯度的来源被切断,ReLU的输入可能无法做出足够的改变来使加权和恢复到0以上。降低学习速率有助于防止ReLU单元消失
丢弃正则化(Dropout Regularization):这是成为丢弃的另一种形式的正则化,可用于神经网络。其工作原理是,在梯度下降法的每一步中随机丢弃一些网络单元。丢弃得越多,正则化效果就越强:

  • 0.0=无丢弃正则化
  • 1.0=丢弃所有内容。模型学不到任何规律
  • 0.0和1.0之间的值更有用

17.嵌套
嵌套是一个矩阵,每列表表示我们词汇中的一项所对应的矢量。要获得某个词汇项的密集矢量,我们可以检索该项所对应的列。
对于多个词汇项的稀疏矢量的密集矢量,我们可以检索各项的嵌套,然后将它们相加。
如果稀疏矢量包含词汇项的计数,我们可以将每项嵌套与其对应项的计数相乘,然后再求和。

目前有很多在低维空间捕获高维空间重要结构的数学技术。理论上这些技术都可以用来创建用于机器学习系统的嵌套。例如,‘主成分分析(PCA)’可以用来创建字词嵌套。在给定一组实例的情况下,例如字词矢量包,PCA会尝试查找高度相关且可以合并的维度。

其它技术:Word2vec、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值