机器学习就是去寻找一个复杂的函数
深度学习:找一个函数,这个函数用类神经网络表示
函数的输入可以是一个向量、矩阵(images)、序列(语音)
输出可以是一个数(regression)、可以是一个类别(分类)、文本、画图等
y
=
b
+
w
x
1
y = b + wx_1
y=b+wx1
y
y
y:预测的值
x
x
x:feature
w
w
w:weight
b
b
b:bias
Model:在机器学习里面就是指带参数的函数
Loss:是一个带参函数
输入:
b
b
b 和
w
w
w
输出:代表某一组
b
b
b 和
w
w
w 好还是不好
L
(
b
,
w
)
L(b, w)
L(b,w)
例:求
L
(
0.5
k
,
1
)
L(0.5k, 1)
L(0.5k,1)
y
=
b
+
w
x
1
y = b + wx_1
y=b+wx1
=
=
>
==>
==>
y
=
0.5
k
+
1
x
1
y = 0.5k + 1x_1
y=0.5k+1x1
假如带入后求得的
y
=
5.3
k
y=5.3k
y=5.3k 而实际的
y
^
=
4.9
k
\hat{y} = 4.9k
y^=4.9k (label)
e
1
=
∣
y
−
y
^
∣
=
0.4
k
e_1 = |y - \hat{y}| = 0.4k
e1=∣y−y^∣=0.4k
e
2
,
e
3
,
.
.
.
e
n
e_2, e_3,...e_n
e2,e3,...en都可以这样计算
Loss:
L
=
1
N
∑
n
e
n
L = \frac{1}{N}\sum_{n}e_n
L=N1n∑en
越小代表这一组参数越好。
有多种计算方式:
MAE(mean absolute error):
e
=
∣
y
−
y
^
∣
e = |y - \hat{y}|
e=∣y−y^∣
MSE(mean square error):
e
=
(
y
−
y
^
)
2
e = (y - \hat{y})^2
e=(y−y^)2
cross-entropy
根据 w w w 和 b b b 画出的 L o s s Loss Loss 的等高线图叫做 Error Surface(二维)
目的:找最好的 w w w 和 b b b
Optimization的方法:Gradient Descent
先给出 L o s s Loss Loss 与 w w w 的变化图 (Error Surface 一维)
步骤:
可能出现局部最优解(Local minima)
切线斜率负的:切线左高右低,所以如果应该向右边前进(w = w - 学习率 * 斜率)
决定步长的因素有两个:
hyperparameters:需要自己设定的参数
推广到 w w w 和 b b b
二维图上:
可以发现 点击量
y
y
y 的波动具有周期性,所以可以对函数进行推广
上面这些模型统称为 Linear models