前提:Dr.He推荐学习的李宏毅讲的Machine Learning的学习博客
机器学习基本概念简介
机器学习的意义约等于寻找函数(looking for function)
EXAMPLES
以下举出3个例子用于解释
1、语音识别技术
输入:声音讯号
输出:声音讯号的内容
这个函数无法被人手写出,只能凭借机器找出
2、图像识别技术
输入:图片
输出:图片中的内容
3、下棋
输入:棋盘上黑子和白子的位置
输出:下一步落子的位置
机器学习的不同类别
由于所需函数不同,机器学习有不同的类别
(1)Regression 回归
Regression:the function outputs a scalar
输出数值的函数
Eg:
输入:今天的PM2.5值、今天的温度、今天的臭氧浓度
输出:明天的PM2.5预估值
函数利用今天的情况来预测明天的情况
(2)Classification 选择
Classification:Given options(classes), the function outputs the correct one.
函数实现从给定选项中选择一个作为输出
Eg1:
侦测垃圾邮件, 判断某一邮件是否为垃圾邮件,给出的选项是:Yes/No ,机器从选项中选择一个作为输出。
(注意给出选项不一定只有两个,可以有多个选项,下面给出多个选项的例子)
Eg2:
在19x19的棋盘上,每一个位置,就是一个选项
(3)Structured Learning
create something with structure(image, document)
在上述两种函数以外的函数,即不仅仅是输出一个数字或是做一个选择,还要产生一个有结构的物件,例如机器作图或写文
EXAMPLE -机器学习找函数的过程
Linear Model
在YouTube平台上,输入后台资料,输出该频道隔天的点阅总人数
机器学习找这个函数的过程分为3步:
(1)Function with unknown parameters
写出带有未知参数的函数
x1: 今天的点阅次数
y: 后一天的点阅次数
w(weight)和b(bias)为未知参数(可从数据中得出)
(2)Define Loss from training Data
L(b, w): Loss is a function of parameters
Loss:how good a set of value is
Loss函数:输入参数;输出一个值用于判定当前参数的价值
Eg:假设Loss(0.5k, 1)
如上图所示,在2017/01/01时的点阅数为4.8k,通过估计函数(y = 1x1 + 0.5k)得到2017/01/02的预估值为5.3k,将预估值-当天的真实点阅量得到e1。
通过不断计算e,最后得到Loss值
Model y = b + wx1
越接近蓝色区域,Loss越小,这组w与b效果越好
越接近红色区域,Loss越大,这组w与b效果越差
(3)Optimization
Optimization:最优化
最优w和b,使得Loss最小,此时w和b分别称为w和b
如何找到w和b? 采用方法:gradient descent
i)只有w参数的情况下
画出1D的Loss图
(1)随机选取初始w0
(2)在w0这个点上求取微分,若微分>0,则表示曲线上升趋势,减小w至w1;若微分<0,则表示曲线降低趋势,增大w至w1。w0-w1的这一段距离,取决于微分大小和η大小
微分为切线斜率,η(learning rate)为人为决定的学习速率。
(3)不断计算/优化w0至w1,直至w1为0(理想状态)或者计算次数达到上限。
ii)两个参数的情况下
画出2D图
(1)随机选取w0,b0
(2)计算微分
(3)不断计算,对w和b进行优化更新
综上所述
Curves Model
Piecewise Linear 分段式
Beyond Piecewise Linear
在曲线上取点连成线段,取的点数越多,越逼近曲线
问题又回到Piecewise Linear
问题归结为求下图函数的函数式
如何求Hard Sigmoid的函数式?
步骤如下
有两种函数可用于逼近上述Hard sigmoid,不同函数分开讲述:
I)sigmoid Function s形函数
用s形曲线来逼近Hard sigmoid
step1:定义带参函数
y = 0 + 1 + 2 + 3
(1)只参考一组数据
(2)参考多组数据
step2:求Loss
Loss is a function of parameters
Loss means how good a set of values is
为了方便表示参数,将y中的每一个参数取出:wij、bi、ci、b作为θ中的θ1、θ2…
带一组参数θ到y中并带入x得到预测值y,得 e = |y - label y|,多组数据计算后得到Loss
step3:Optimization 优化
求使得Loss最小的θ
Optimiazation steps:
(1)随机选取θ,初始值θ记作θ^0
(2)在θ^0的取值下,分别求Loss对各个参数的微分
(3)用θ - η*(2)中的微分作为第一批更新后的值θ^1
ii)Rectified Unit (ReLU)
将sigmoid函数换成ReLU函数
两个ReLu叠起来称为Hard sigmoid
转化过程
(ps:ReLU和sigmoid统称为 Activation function)
之后的step2、3操作相同