是的,梯度下降法完全能够解决非线性问题。只要各种变换在调整的“增量”内大致呈线性,该方法就起作用。这就是为什么我们调整学习率:保持在线性假设相对准确的范围内的原因。
非线性转换使我们更好地实现了“这很无聊”和“这正是我正在寻找的东西”的思想。如果这些函数比较平滑,或者跳跃次数很少,则可以应用我们惯用的近似值和迭代来求解整个系统。
无论如何,确定有用的工作范围都不是封闭形式的计算。与许多AI研究一样,它需要实验和完善。您问题的直接答案是,您输入的实体错误–请尝试列出的选项,然后查看哪种最适合您的应用程序。
,
监督学习101
这是一个很深的问题,所以我将首先回顾一下基础知识,以确保我们彼此理解。以其最简单的形式,尤其是监督学习,尤其是分类,尝试从一组观察值f
中学习诸如y=f(x)
这样的函数{(x_i,y_i)}
。在实践中会出现以下问题:
- 您对
f
一无所知。可能是多项式,指数式或一些奇特的高度非线性的东西,甚至在数学上都没有合适的名字。
- 您要用来学习的数据集只是您想要学习的真实数据分布的有限子集,并且可能会有噪音。
因此,您找到的所有解决方案都必须是近似的。您将使用的体系结构类型将确定函数h_w(x)
的族,而w
的每个值将代表该族中的一个函数。请注意,由于通常可能存在无限数量的w
,因此功能族h_w(x)
的数量通常是无限大的。
学习的目标将是确定哪个w
最合适。这就是梯度下降的地方:这只是一个优化工具,可以帮助您选择合理的w
,从而选择特定的模型h(x)
。
问题是,您尝试近似的实际f
函数可能不属于您决定选择的h_w
系列,所以您是。
回答实际问题
现在介绍了基础知识,让我们回答您的问题:
-
在单层模型ANN的输出中放置类似于Sigmoid的非线性激活函数将不会帮助它学习非线性函数。实际上,单层ANN等效于线性回归,添加S型曲线会将其转换为Logistic回归。为什么不起作用?让我尝试一个直观的解释:在单层输出的S形可以将其压缩到[0,1]
,以便可以将其解释为类成员概率。简而言之,S形对硬阶跃函数起可微的近似作用。我们的学习过程依赖于这种平滑性(随处可使用行为良好的渐变),并且使用阶跃函数会破坏例如。梯度下降。这不会改变模型的决策边界是线性的事实,因为最终的类别决策是从sum(w_i*x_i)
的值中得出的。这可能并不是很令人信服,所以让我们使用Tensorflow Playground进行说明。请注意,学习规则在这里并不重要,因为您要优化的函数族的输入中仅包含线性函数,因此您将永远不会学习非线性函数!
-
如果您放弃了S型激活,那么您将获得简单的线性回归。您甚至没有将结果投影回[0,1]
,因此输出将不容易解释为类概率,但最终结果将是相同的。请参见Playground for a visual proof。
那需要什么?
要学习非线性可分离问题,您有几种解决方案:
本文链接:https://www.f2er.com/3123128.html