回归问题和分类问题
回归问题和分类问题是深度学习里面需要分清楚的两种情况,需要根据不同的情况制定不同的算法,完成不同的任务。
两者最本质的区别是回归问题代表连续的拟合曲线预测值,而分类问题则是将输入的几个值分为几个离散的类。
例如:
线性回归处理的是回归问题:
e
x
p
e
c
t
(
y
)
=
w
x
+
b
expect(y)=wx+b
expect(y)=wx+b
loss=
1
n
∑
i
=
1
n
(
e
x
p
e
c
t
(
y
i
)
−
y
i
)
2
\frac{1}{n}\sum_{i=1}^n(expect(y_i)-y_i)^2
n1∑i=1n(expect(yi)−yi)2
通过不断的调整w和b的值,利用梯度下降原理,寻找到最小的loss值,最优拟合线性模型。
梯度:
(
a
f
a
x
,
a
f
a
y
)
(\frac{af}{ax},\frac{af}{ay})
(axaf,ayaf)又可以称为grad f(x,y)
梯度下降:和下山一样,通过各个位置的梯度,寻找最为陡峭的梯度,沿着梯度的负方向走一步,这一步的长度被称为学习率
μ
\mu
μ。然后继续求得下一个位置的梯度,并更新之前的w和b的值。
w
=
w
−
μ
α
l
o
s
s
a
w
w=w-\mu\frac{\alpha loss}{aw}
w=w−μawαloss
b
=
b
−
μ
α
l
o
s
s
a
b
b=b-\mu\frac{\alpha loss}{ab}
b=b−μabαloss
通过这种方法,找到loss最小值,求得最优解的w,b。
Logistic回归模型
Logistic回归模型和线性回归模型形式差不多,都是y=wx+b,其中x可以是一个多维特征。区别是Logistic回归会对y作用一个Sigmoid函数。
Sigmoid :
f
(
x
)
=
1
1
+
e
−
x
f(x)=\frac{1}{1+e^{-x}}
f(x)=1+e−x1
这个函数的值域为(0,1),通过这个函数作用之后,所有的y值都会到(0,1)这个区间内,这个值可以被理解为概率。比如对于二分类问题,这个值越小,就属于第一类,越大属于第二类。
l
o
s
s
=
−
(
y
l
o
g
(
e
x
p
e
c
t
(
y
)
)
+
(
1
−
y
)
l
o
g
(
1
−
e
x
p
e
c
t
(
y
)
)
)
loss=-(ylog(expect(y))+(1-y)log(1-expect(y)))
loss=−(ylog(expect(y))+(1−y)log(1−expect(y)))
因此这两个模型的区别就在前者的值可以是连续的,而后者我们希望它最终属于某个类,是离散的。
参考文章:https://tianchi.aliyun.com/course/courseConsole?spm=5176.12282070.0.0.4d0520421GirSr&courseId=198&chapterIndex=3§ionIndex=5