机器学习基本概念介绍

机器学习基本概念介绍

机器学习就是让机器具有找一个函数的能力。

例如:

  • 语音识别:函数输入为声音参数,函数输出为文字

  • 图片识别:函数输入为图片,函数输出为图片中物品的名称

  • AlphaGo:函数输入为棋盘上黑子和白子的分布,函数输出为下一步应该落子的位置

Different types of Functions(机器学习的任务)

Regression

输出一个数值(a scalar)

Classification

输出给定的选项、种类(options classes)

AlphaGo本身也是Classification的问题,只是输出的选项比较多。

Structured Learning

产生一个有结构的物件,即,让机器学会创造。

让机器画一张图、写一篇文章

Steps(机器学习寻找函数的步骤)

1. Function with Unknown Parameters

建立模型函数(Based on domain knowledge), 即定义一个有未知参数的function

2. Define Loss from Training Data

损失函数是以模型函数中未知参数为输入的函数,用于评价一组参数的好坏

分类:

  • MAE - L 是误差绝对值总和的均值(mean absolute error)
  • MSE - L 是误差平方和总和的均值(mean square error)
  • 如果预测值与真实值均为 probability distributions --> Cross-entropy

注:

  • Loss函数其实是自己定义的,所以可能会有负数出现。

  • 真实值常被记为 label

3. Optimization

求最优化的参数解,即,使Loss函数值最小的一组参数

gradient descent(梯度下降方法)

Steps:

  1. 对每个参数随机选取初始值。

  2. 计算Loss函数在选定点处对每一个未知参数的微分。并代入公式,计算出未知参数的新值。
    请添加图片描述

    η : Learning rate 学习速率 ,是自己决定的大小,设置的大一点,学习的速度就会比较快。

    这种在做机器学习需要自己设定的东西,叫做hyper parameters(超越参数)

  3. 对未知参数迭代更新。

Models

Linear Models-线性模型:

feature 乘上一个 weight 再加上一个 bias,就得到一个预测的结果

  • 形式:y = b + w*x

但通常 Linear models have severe limitation. 这种来自 model 的限制就叫做 Model Bias

Piecewise Linear Curves(分段线性曲线)

Hard Sigmoid

All Piecewise Linear Curves = constant + sum of set of 请添加图片描述

所有线性折线均可写为由一堆 Hard Sigmoid(这种蓝色 function)的组合。

Soft Sigmoid(Sigmoid)

Hard Sigmoid(这种蓝色的 function)可以使用 sigmoid 函数式来趋近表达,如下图。
请添加图片描述

可以通过调节 Sigmoid Function 的参数来调节图形的形状:

  • w 控制斜率
  • b 左右移动
  • c 调节高度
    请添加图片描述

当我们有多个 feature ,也即有多个 x 时,Sigmoid Function 形式如下,我们也可以使用线性代数的方法来简化函数形式。
请添加图片描述
请添加图片描述

Optimization(补充)

gradient

把 Loss 函数对每一个参数的微分集合起来,形成一个向量,叫做 gradient。简记为 ▽L(θ0),这里的θ0就表示在θ^0点处求微分。如下图所示。

请添加图片描述

update 与 epoch

由于通常数据集都比较大,所以一般不会直接拿所有数据的L来 Optimization ,而是把数据分为一个一个的batch(随便分组就好),每次更新参数只采取一个 batch 中的 L。

每次更新一次参数叫做 update ,把所有的 batches 均循环一便叫做 epoch 。

对参数的更新时间会很久,所以一般是更新到自己不想再更新下去,或者微分为0的点结束。
请添加图片描述

hyper parameters
  • 这里 Batch size 也是自己设置的,是一个 hyper parameters。

  • 几个 sigmoid 也是 hyper parameters 。

ReLU

然也非必须要使用 Soft Sigmoid,也可以使用Hard Sigmoid,在机器学习中,Hard Sigmoid叫做 ReLU。

请添加图片描述

想将 Sigmoid 化成 ReLU ,只需要将函数中sigmoid的地方改为max,由于两个 max 合起来才是一个 hard Sigmoid(ReLU) ,所以 i 的值应该*2。

1000个ReLU就可以模拟出带有一千个折线的模型。

请添加图片描述

Activation function(激活函数)

Sigmoid 和 ReLU 就是 Activation function,当然还有其他的 Activation function。

为了使模型更加优化,我们把 Sigmoid 或 ReLU 得出的结果再进行一次 Sigmoid 或 ReLU 的操作。
请添加图片描述
请添加图片描述

Deep Learning

这些Sigmoid 或 ReLU 就叫做 Neuron(神经元),很多的 Neuron 就组成了 Neural Network(神经网络)。

由于 Neural Network刚刚出现时吹捧的太厉害,后来被嫌弃,所以为了重振其雄风,更改了名字。

Neuron 就叫做 hidden layer, 而许多 layers 的组成就叫做Deep Learning

Overfitting

在神经网络训练过程中,在训练资料上准确率变高,但是在没看过的资料上准确率变差。

当激活函数使用的次数较多时,可能就会出现 overfitting 的现象。

Steps(机器学习寻找函数的步骤 - 神经网络)

  1. Define Neural Network
  2. Loss Function
  3. Optimization Algorithm
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>