0

我了解到,神经网络可以复制任何功能。

通常,神经网络被输入一组描述符给它的输入神经元,然后在它的输出神经元上给出一个特定的分数。我希望我的神经网络能够识别屏幕上的某些行为。屏幕上的物体已经经过预处理并且清晰可见,因此识别应该不是问题。

是否可以使用神经网络来识别屏幕的像素化图片并在此基础上做出决策?训练数据的数量当然是巨大的。有没有办法通过在线监督学习来教授人工神经网络?

编辑:因为评论者说编程问题太笼统了:我想先在 python 中实现它,看看它是否有效。如果有人能指出我可以使用 python 进行在线学习的资源,我将不胜感激。

4

2 回答 2

1

我会建议

http://www.neuroforge.co.uk/index.php/getting-started-with-python-a-opencv http://docs.opencv.org/doc/tutorials/ml/table_of_content_ml/table_of_content_ml.html http: //blog.damiles.com/2008/11/the-basic-patter-recognition-and-classification-with-opencv/ https://github.com/bytefish/machinelearning-opencv

openCV 基本上是一个图像处理库,但也有一些令人惊叹的帮助类,您可以将它们用于几乎任何任务。它的机器学习模块非常易于使用,您可以通过源代码查看有关每个功能的解释和背景理论。

您还可以使用纯 Python 机器学习库,例如: http ://scikit-learn.org/stable/

但是,在您将屏幕上的数据(我假设那是像素?)输入到您的 ANN 或 SVM 或您选择的任何 ML 算法之前,您需要对您的数据执行“特征提取”。(这是屏幕上的对象)

特征提取可以被认为是在屏幕上表示相同的数据,但数字更少,因此我可以提供给我的 ANN 的数字更少。在找到适合您的特定场景的组合之前,您需要尝试不同的功能。一个样本可能看起来像这样:

[x1,y1,x2,y2...,col]

这基本上是代表对象所在区域的边缘点列表。一种 ROI(感兴趣区域)并执行 egde 检测、颜色检测并提取任何其他相关特征。重要的是,现在您的所有对象,它们的形状/颜色信息都由许多这样的列表表示,每个检测到的对象都有一个。

这是可以作为输入提供给神经网络的数据。但是您必须根据您的具体问题陈述定义一些有意义的输出参数,然后才能训练/测试您的系统。

希望这可以帮助。

于 2013-02-07T18:02:35.473 回答
0

这并不完全正确。

一个 3 层前馈 MLP 理论上可以复制任何 CONTINUOUS 函数。

如果存在不连续性,则需要第 4 层。

由于您正在处理像素化屏幕等,您可能需要考虑第四层。

最后,如果您正在查看圆形等,那么径向基函数 (RBF) 网络可能更合适。

于 2013-02-07T16:32:53.517 回答