Hitomi's Note

瞳の笔记

李宏毅机器学习 (1)机器学习介绍

发布于|# AI# DeepLearning

机器学习的本质

机器学习 ≈\approx 寻找(拟合)函数

f(speech/image)=textf(speech/image) = text

机器学习的类型

  1. Regression(回归): outputs a scalar. (输入多类数据,输出一个预测值)

  2. Classification(预测): given classes, outputs the correct one.(输入多个类型,输出正确的那个分类)

  3. Structured Learning(结构化学习): create something with structure (image, document).(根据输入生成图像)

机器学习的训练过程

Function with unknown parameters (构建具有未知参数的函数)

y=b+wx1y = b + wx_1 (Based on domain knowledge)

根据猜测、已知信息等假设函数关系。yy 代表预测结果,x1x_1 代表今天的结果。ww 和 bb 为未知参数,需要从数据中找出。

在机器学习中称该函数 y=b+wx1y=b+wx_1 为 Model(模型)。

Define Loss from training data (定义损失函数)

​ 损失函数用于定义预测值的有多准。

loss=L(w,b)=1N∑nenloss = L(w, b)=\frac1N\sum_ne_n

e = \left{ \begin{array}{lr} |y-\hat{y}| & \texttt{(MeanAbsoluteError)} & \ (y-\hat{y})^2 & \texttt{(MeanSquareError)} & \ \end{array} \right.

Optimization (梯度下降)

​ 遍历所有 ww 和 bb 使得 lossloss 最低。

​ ⇒\Rightarrow 一开始随机(特定)选定 ww 和 bb,后期通过不断计算修正,使得 lossloss 最低。

  1. 随机(特定)选定 w0w^0 和 b0b_0
  2. 计算 w1w^1 和 b1b_1

w1=w0−η∂L∂w∣w=w0w^1 = w^0 -\eta \frac{\partial L}{\partial w}|_{w=w^0}

b1=b0−η∂L∂b∣b=b0b^1 = b^0 -\eta \frac{\partial L}{\partial b}|_{b=b^0}

η:learning rate→hyperparameters\eta: \texttt{learning rate} \rightarrow \texttt{hyperparameters}

  1. 循环修正 ww 和 bb

gradient=∇L(θ0)∣θ11θ21⋮∣=∣θ10θ20⋮∣−∣η∂L∂θ1∣θ=θ0η∂L∂θ2∣θ=θ0⋮∣⇒θ1=θ0−η⋅gradientgradient = \nabla L(\theta^0)\ \begin{vmatrix} \theta_1^1 \ \theta_2^1 \ \vdots \end{vmatrix}

\begin{vmatrix} \theta_1^0 \ \theta_2^0 \ \vdots \end{vmatrix}

\begin{vmatrix} \eta\frac{\partial L}{\partial\theta_1}|{\theta=\theta^0} \ \eta\frac{\partial L}{\partial\theta_2}|{\theta=\theta^0} \ \vdots \end{vmatrix}

\Rightarrow \theta^1 = \theta^0 - \eta\cdot gradient

​ 将数据分为多组,计算第一组 gradientgradient 并更新 θ\theta,计算第二组 gradientgradient 并更新 θ\theta ……

​ Batch size 也是超参,决定了一次训练中更新的次数。

从线性函数到非线性函数

线性函数难以表现复杂曲线,使用一系列的非线性函数相加拟合函数。

Sigmoid 函数

y=c11+e−(b+wx1)=c⋅sigmoid(b+wx1)y=c\frac{1}{1+e^{-(b+wx_1)}}=c\cdot sigmoid(b+wx_1)

y=b+∑ici⋅sigmoid(bi+∑jwijxj)⇒y=b+∑2ici⋅max(bi+∑jwijxj)y = b+\sum_i c_i \cdot sigmoid(b_i+\sum_j w_{ij}x_j) \Rightarrow y = b+\sum_{2i} c_i \cdot max(b_i+\sum_j w_{ij}x_j)

层数缺陷

Overfitting

在训练集上表现得更好,但是在测试集上表现得更差。

测试集的表现 更重要。