【机器学习-李宏毅】基本概念简介

课程链接:https://www.bilibili.com/video/BV1Wv411h7kN

机器学习训练步骤

1.Function with Unknown Parameters:根据参数找到函数表达式

2.Define Loss from Training Data:定义损失函数

3.Optimization:找到最小化损失的参数 (Gradient Descent,梯度下降)

在线性函数上更进一步

上面考虑的Linear models太简单了,需要更复杂的模式。同时,这种由模式限制带来的误差称为Model Bias。

考虑如图红色曲线的模式,这种曲线可以由常数+一系列蓝色曲线组合得到。蓝色曲线的函数是指数函数。

不同的蓝色曲线可以通过调整方程式的a、b、c来得到。

加和可以得到red curve的函数式。

首先是只有单一特征的公式,把单一线形转换成红线类型

下面是对于考虑多个特征数据的公式转换, W_j是第 j 个特征的权重

对于W_ij,i 代表sigmoid的序号即代指第几个蓝色曲线,j 代表第几个特征

即wieght for x_j for i-th sigmoid

可以运用线代知识转换成矩阵乘法

Function with Unknown Parameters

把所有未知参数拿出来拼成一个向量theta,这样就完成了最上面提到的机器学习框架的第一步:function with unknown parameters

Define Loss from Training Data

这里的loss function非常简单粗暴,直接拿真实值和估计值做差加和平均

Optimization

依旧是梯度下降。目标是找到最小化loss的theta向量。

1.计算梯度

真正操作的时候不是直接拿总体的loss进行梯度计算,而是把数据分成很多小batch。

首先计算batch1的loss,即局部loss。用局部loss进行梯度计算,更新参数。继续拿batch2的数据计算loss,梯度计算,更新参数,循环往复。

跑完一轮所有batch,叫做跑了一个epoch。

trick

两个relu可以组合成hard sigmoid

可视化,rectify v.<正式>纠正,矫正;整流,把(交流电)转变成直流电;蒸馏;求曲线的直线等长

公式表示:

relu和sigmoid统称为Activation Function,激活函数。

relu和sigmoid也叫neuron,整个网络叫做neural network

在隐藏层里,每个神经元先做加权求和,然后应用 ReLU 或 Sigmoid 这种激活函数 来产生非线性输出。把很多这样的隐藏层叠起来,才叫做深度学习