我编写了一个多层感知器实现(用Python编写),它能够对Iris数据集进行分类。它通过反向传播算法进行训练,并在隐藏层和输出层使用了Sigmoid激活函数。
但现在我想将其改进以能够预测房价。(我有一个包含约300个房产的数据集,包含价格和输入参数如房间数、位置等。)
目前我的感知器的输出范围在[0;1]之间。但据我所知,如果我想在输出神经元上得到房价结果,我需要以某种方式更改激活函数,对吗?
有人能帮帮我吗?我对神经网络还是新手,提前谢谢了。
回答:
假设房价在1美元到100万美元之间,你可以将0…1的范围映射到最终的价格范围,既用于训练也用于测试。请注意,300个房产是一个相当小的数据集。
具体来说,如果一栋房子价值50万美元,那么目标训练输出就变为0.5。你可以简单地用你最大可能的房价来除以得到目标训练数值。当你得到输出值时,你可以乘以最大房价来得到预测的价格。
因此,将神经网络的输出视为总成本的百分比。