神经网络和激活功能的选择

时间:2019-03-22 05:52:51

标签: neural-network deep-learning conv-neural-network

我对神经网络领域非常陌生。抱歉,如果这个问题非常业余。

我正在寻找一个神经网络模型,以预测我要在社交媒体平台上发布的特定图像是否会获得一定的参与率。

我大约有120张图像,其中包含参与率的历史数据。提供以下信息:

  1. 尺寸为501 px x 501 px的图像
  2. 图像类型(外部拍摄/内部拍摄)
  3. 发布图像的日期(星期日/星期一/星期二/星期三/星期四/星期四/星期五/星期六)
  4. 发布图片的时间(18:33、10:13、19:36等)
  5. 不。看过该帖子的人(15659、35754、25312等)
  6. 参与率(5.22%,3.12%,2.63%等)

我希望模型预测在特定日期和时间发布的特定图片是否会带来3%或更高的参与度。

您可能已经注意到,输入数据是图像,文本(表示什么类型或日期),时间和数字。

能否请您帮助我了解如何针对该问题构建神经网络?

P.S:我是这个领域的新手。如果您能给出详细的指导,以解决该问题,那将是非常不错的。

1 个答案:

答案 0 :(得分:0)

神经网络具有三种神经元层:

  1. 输入层。它存储该网络将接收的输入。神经元的数量必须等于您输入的数量;
  2. 隐藏层。它使用来自上一层的输入,并进行必要的计算以获得结果,该结果传递到输出层。更复杂的问题可能需要多个隐藏层。据我所知,尚没有一种算法可以确定这一层中神经元的数量,因此我认为您是基于反复试验和以前的经验确定此数量的。
  3. 输出层。它从隐藏层获取结果,并将其提供给用户以供个人使用。输出层中神经元的数量等于您拥有的输出数量。

根据您在此处编写的内容,您的培训数据库有6个输入和1个输出(参与率)。这意味着您的人工神经网络(ANN)在输入层上将有6个神经元,在输出层上将有1个神经元。

我不确定是否可以将图像作为输入传递到神经网络。另外,因为理论上图像是无限的,所以我认为您应该对图像进行一些分类,每个类别都可以包含一个数字。分类的一个例子是:

  • 带狗的图像属于类别1;
  • 带有医院的图像属于类别2等。

因此,您的输入将如下所示:

  1. 图片类别(狗= 1,医院= 2,等等);
  2. 图像类型(外部拍摄= 1,内部拍摄= 2);
  3. 发布日期(星期日= 1,星期一= 2,等等);
  4. 发布图片的时间;
  5. 看过该帖子的人数;
  6. 参与率。

隐藏层的数量以及每个隐藏层中每个神经元的数量取决于问题的复杂性。拥有120张图片,我认为一个隐藏层和10个神经元就足够了。

人工神经网络将有一个隐藏层(参与率)。

一旦创建了包含有关120张图片的信息的数据库(称为训练数据库),下一步就是使用该数据库训练ANN。但是,这里有一些讨论。

训练ANN意味着通过使用优化算法来计算隐藏神经元的一些参数,以使平方误差之和最小。训练过程具有一定程度的随机性。为了最大程度地减少随机性因素的影响并获得尽可能精确的估计,您的训练数据库必须具有:

  1. 一致的数据;
  2. 许多记录;

我不知道您的数据的一致性如何,但是根据我的经验,一个拥有一致数据的小型培训数据库要比拥有一个不一致数据的大型数据库好。

从问题来看,我认为您应该使用用于ANN处理的软件提供的默认激活功能。

一旦您对数据库进行了培训,就该看看该培训的效率了。您用于ANN的软件应为您提供估算的工具,这些工具应记录在案。如果培训对您来说令人满意,则可以开始使用它。如果不是,则可以重新训练ANN或使用更大的数据库。