机器学习 | 李宏毅课程笔记(一)基本概念

  1. 什么是机器学习?

让机器具备自动找到一个函数function的能力(函数f 输入x—输出f(x))

应用

函数输入

函数输出

语音识别

声音信号

音频对应文字

图像分类

图片

图片内包含内容

AlphaGo下围棋

黑白棋的位置

下一步应该落子的位置

     2.机器学习的三大任务

任务

函数输出

实例

Regression 回归

连续数值

PM2.5预测

Classification 分类

二分类(Binary Classification)

离散的值(从设定好的选项中选择正确的一个)

0/1

Yes/No

判断是否为垃圾邮件

多分类(Multi-Category Classification)

[1,2,3,…,N]

图像分类里判断一张图片是猫、狗还是杯子

Structured Learning 结构学习

有结构的内容

生成图片、文本

     3.机器学习三个步骤(机器如何找函数?训练)

机器学习 | 李宏毅课程笔记(一)基本概念_第1张图片

训练步骤

描述

Function with unknown parameters

确定模型Model

特征x、标签y、权重w、偏置b

线性回归模型 y=wx+b(w,b为待训练参数)

Define Loss from training data

确定如何评价函数的好坏

含义:L(w,b)衡量模型参数的好坏

公式:Loss:L(w,b)=I/N∑en

e=|y-yhat|时,L is mean absolute error(MAE)

e=(y-yhat)²时,L is mean square error(MSE)

Optimization

确定如何找到最好的函数

目标:找到一组w,b值使Loss最小

方法:梯度下降法Gradient decent

LearningRate:学习率。是自设定参数hyperparameter

error surface先假设未知的参数只有w这个未知的参数,那当w代不同数值时,就会得到不同的Loss,这一条曲线就是error surface

机器学习 | 李宏毅课程笔记(一)基本概念_第2张图片

步骤:

  • (Randomly)初始化参数w0,b0
  • 计算梯度

机器学习 | 李宏毅课程笔记(一)基本概念_第3张图片

  • 更新模型参数

机器学习 | 李宏毅课程笔记(一)基本概念_第4张图片

w,b的变化量取决于梯度和学习率的大小:梯度绝对值或学习率越大,则w,b变化量越大。

  • 重复二三步骤
  • 经过多次参数更新/迭代(iteration),可以使损失函数的值达到局部最小(即局部最优,Local Optimal),但不一定是全局最优。

     4.Regression(简单的神经网络)

引入:Piecewise Linear Curves(分段线性曲线

  • Linear Model有限制 不是所有的数据都存在线性关系
  • 任何piecewise linear curve都可以看作是一个常数,再加上一堆蓝色的Function

【即red curve=constant+sum of a set of blue function

【蓝色Function特点:当输入的值,当 x 轴的值小于某一个Treshold时,它是某一个定值;大于另外一个 Treshold 的时候,又是另外一个定值;中间有一个斜坡】

机器学习 | 李宏毅课程笔记(一)基本概念_第5张图片

  • 任何连续曲线,你只要取足够多的转折点,你都能用piecewise linear curve去逼近它

Back to ML_Step 1 :function with unknown

  • 如何表示蓝色折线function?

用Sigmoid函数表示这个蓝色折线(即Hard Sigmoid)

【为什么不用分段函数表示蓝色折线function?因为分段函数在折点处不可导,不能根据梯度下降法进行调参优化】

机器学习 | 李宏毅课程笔记(一)基本概念_第6张图片

  • 只需要调整w、b、c的值就可以制造不同形状的Sigmoid Function

【w决定曲线斜率;b决定曲线左右平移位置;c决定曲线高度】

  • 把不同的Sigmoid Function叠起来,可以去逼近各种不同的Piecewise Linear的Function,Piecewise Linear的Function可以拿来近似各种不同的Continuous的Function。

red curve=constant+sum of a set of blue function

  • 多个特征的函数表示
  • i表示不同的sigmoid函数
  • j表示不同的Feature

用sigmoid函数表示后,上式替换为:

机器学习 | 李宏毅课程笔记(一)基本概念_第7张图片

机器学习 | 李宏毅课程笔记(一)基本概念_第8张图片

【公式含义:输入Feature x 这个向量,x 乘上矩阵w加上向量b得到向量r,向量r通过 Sigmoid Function得到向量a,再把向量 a 跟乘上c的 Transpose 加上b就得到 y】

把这些未知参数通通拉直,拼成一个很长的向量,用一个符号叫做 θ来表示它。

θ是一个很长的向量,里面的第一个数值我们叫 θ1,第二个叫 θ2…,它统称所有未知的参数。

机器学习 | 李宏毅课程笔记(一)基本概念_第9张图片

机器学习 | 李宏毅课程笔记(一)基本概念_第10张图片

至此,我们完成了机器学习的step1:找到含未知参数的函数/确定模型

Back to ML_Step 2 :define loss from training data

定义Loss函数:所有参数均用θ表示,则 Loss Function 变成 L(θ)

机器学习 | 李宏毅课程笔记(一)基本概念_第11张图片

  • 先给定某一组 W、b、c^T跟 b的初始值
  • 然后把一种 Feature x 带进去,估测y
  • 再计算跟真实的 Label之间的差距,得到 e
  • 把所有的误差加起来,得到 Loss

Back to ML_Step 3: Optimization

θ是一个很长的向量,要找一组θ让 Loss 越小越好,可以让 Loss 最小的那一组 θ,我们叫做 θ Star,θ^*,具体步骤如下:

(1)随机选一个初始的数值θ0

(2)对每一个未知的参数计算对 L 的微分以后,集合起来它就是一个向量g

(3)Update参数

机器学习 | 李宏毅课程笔记(一)基本概念_第12张图片

机器学习 | 李宏毅课程笔记(一)基本概念_第13张图片

Batch、Update、Epoch

【Batch:将训练集随机划分为多个更小的单元,每一个batch里有一批资料。

【每次只拿出一个Batch的资料进行计算gradient】

【Update:每次更新一次参数;Epoch:把所有batch都看过一遍,遍历所有数据】

机器学习 | 李宏毅课程笔记(一)基本概念_第14张图片

ReLU、Sigmoid

【蓝色Function不一定要用 Soft Sigmoid表示,也可用Hard Sigmoid表示】

【Hard Sigmoid可以看作是两个Rectified Linear Unit 的叠加】

Rectified Linear Unit (ReLU)如下图所示:

机器学习 | 李宏毅课程笔记(一)基本概念_第15张图片

【激活函数】

Sigmoid或是 ReLU在机器学习里面叫Activation Function 

【神经元、神经网络、深度学习】

机器学习 | 李宏毅课程笔记(一)基本概念_第16张图片

你可能感兴趣的:(深度学习,人工智能,深度学习)