前一段时间家里忙装修,外加自己阳了一直停更,现在开始回复更新
在处理二元分类时,最自然的激活函数就是sigmoid函数
若进行回归问题时,则可选择其他不同类型的激活函数,当然主要还是视情况而定
老师这里给了两个例子
中间的是预测股票的涨跌,因为可能出现正负,所以是采用线性的激活函数
右侧是预测房价,采用了ReLU,房价不可能是负数,所以左侧全为0
综上所述,在选择输出层的激活函数时,通常取决于要预测的标签是什么
不过现在的事实是大家采用ReLU更多,sigmoid几乎不用了
第一:两者比较来说,ReLU计算速度会更快,它只需要计算0和z的最大值
而sigmoid则需要先取幂,然后再取反
第二:图像上来看,ReLU只有一侧是平坦的,而sigmoid是两侧
这是因为使用梯度下降时,当你的函数再很多地方都很平坦时,梯度下降是很慢的
梯度下降优化了成本函数,但激活函数也是计算的一部分,这也会导致减慢学习速度
以下是老师的建议
其实不只有这些,还有其他类型的激活函数,不过老师认为掌握视频中的已经足够了
下面老师开始讲多分类问题
首先,多分类是指你可能有两个以上的输出标签
然后讲了softmax回归
主要公式为红框的内容,右侧为老师以4个可能值的举例
值得注意的是所有结果加起来值为1
将softmax应用到神经网络中,如下
下面是讲多标签分类,如下例
进一步的可以延申至识别0~9的数字
那么如何构建用于多标签分类的神经网络呢?以上例
第一种解决办法是将其视为三个完全独立的ML问题
第二种方法是训练一个可以同时检测car、bus、pedestrians的神经网络
不过第一种方法不太好,老师推荐第二种
最后输出a【3】是一个三维向量,不同元素对应不同的标签
老师特意提到多标签和多分类有时会相互混淆
私以为
softmax是多分类,来帮助判断car/bus/人中的哪一个,只管结果
而多标签是我要知道结果,并且结果的内容要标注清楚,类似目标检测