深度学习---之回归,分类
一.回归:
什么是回归?如果有一个数据集x,它所对应的真实值y1,回归就是通过将这些数据集拟合出一个函数关系,使得y2=g(x),当然拟合不可能那么完美,所以就会有误差,这个误差就是y2-y1,即拟合出来的值,减去真实值。
思想:
就是通过已知的x和对应的y1,拟合出来的y2,可以去预测未知的值,比如我知道一个变量5,我将他代入y2=g(x),得出的y2就是一个比较符合原数据集x分布的值,可能不完全准确,但是有一定的真实性,重点就是通过已知去预测未知。
二.分类:
分类就是一个类似于sign(x)函数的问题,就是你输入一个x,得到的输出要不就是0,要不就是1,比如我通过一个数据集,我拟合出来一个函数y=f(x),使得我输入一个未知的数据进去这个函数能告诉我这个数据是属于1还是属于0,
举个例子:在神经网络中,我拟合出来了这样的一个函数(这是神经网络线性分类器的评分函数,这个就不解释了,可以百度)进行分类
我输入一张图片x,它会给我得分,如图
这个图片中,显示了我输入一张猫的图片,对应的得分,判断这个猫属于猫这一类的是-96,属于狗的437.9,属于船的是61.95,
相当于我拟合的这个函数,可以把输入分为三类,而我想要的合理的分类函数(即这个被拟合出来的函数),是每一次我输入猫这个图片,它所对应的猫的分数都是最高的,而这里不是,所以不是合理的函数,需要计算一个误差,就是让max(0,狗的分-猫的分加上船的分-猫的分),这就是一个误差,意思就是如果我输入猫的分高,这个误差就是0,所以我们就可以通过不断调整上面那个公式的w使得误差无限接近于0,
所以这就是分类,我输入了一个图片进去它就会告诉我这个是猫还是别的,所以这张图片被判断为狗,明显错误的。
区别:
(1)就是,回归得出来的值是一一对应的,就是我输入一个值它就会告诉我所对应的精确值,也就是预测值,是连续的,且我每输入一个不同变量,他预测的值只跟这个变量对应,
(2)而分类是离散的,是多对1的,比如,我输入一堆狗的图片进去,它都是被判断为狗,我输入一堆猫进去,都判断为猫,是多对1的,而且是离散的,
相同点:
本质是一样的,都是通过数据来拟合一个函数,用来预测.我的理解就是可以都称之为回归,只是最后作用不同而已。
三,线性分类器:
这是一个多元多重回归,即一行代表一个分类器,把这些分类器结合起来,就以上面那个猫为例子,我得到的猫的分数,是通过矩阵的第一行与输入图片相乘得来的,得到狗的分数,是第二行与输入图片相承得来的,船的分数,是第三行与输入图片相乘得来的,每一行就是一个线性分类器,用分类错误的分数减去分类正确的分数作为误差来训练,可以理解为分类器间相互影响,最后使每一行都出现在相对正确的位置上,即每个线性分类器都出现在相对正确的位置上,最后,可视化出来就是如下第二张图片所示。
为什么,在分类器上的图片不算分类呢?以y=2x举例子,如果y>0,输出1,y<0输出0,得到的值只有0或者1,即使这个函数本身是一条直线,所以分类的图片只可能在直线的两边而不可能在直线上。