我的博客: konosuba.xyz
分类与回归是监督学习中的两个主要任务,它们即对应了监督学习中“学习”的部分
分类模型与回归模型的本质其实一样。分类模型可将回归模型的输出离散化,回归模型也可将分类模型的输出连续化
例如:
Linear Recognition 线性回归
使用 y = wx + b
的形式,y就是模型的输出,是一个连续值,所以可以用于处理回归问题
Logistic Recognition 逻辑回归
一般作为分类问题的首选算法,logistic回归只是用到了回归算法,但是其输出的结果是决策边界,是不连续的,所以它其实是分类,而不是回归
二分类
将 y = wx + b
利用激活函数(常用sigmoid函数)映射到 (0,1)
中。再选定一个阈值,将输出分为两类。
多分类
先得到n组w
不同的 y = wx +b
,之后进行归一化(例如使用Softmax函数),从而得到在n个类上的概率,即可解决多分类问题
回归问题的应用场景
回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等。例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。
一个比较常见的回归算法是线性回归算法(LR)。
另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。
分类问题的应用场景
分类问题是用于将事物打上一个标签,通常结果为离散值。
例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。
分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。
最常见的分类方法是逻辑回归,或者叫逻辑分类。
总结
一个小测验:假设你经营着一家公司,你想开发学习算法来处理这两个问题:
-
你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
-
你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题?
-
问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。
-
问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。