Tag: 机器学习

改变训练的图像训练neural network

我目前正试图制定一个计划,根据其外观区分腐烂的橙子和食用橙子。 为了做到这一点,我正计划使用卷积neural network来训练腐烂的橙子和普通的橙子。 经过一番search,我只能find约一个数据库。 黑色背景上的150个橙子和150个普通橙子( http://www.cofilab.com/downloads/ )。 显然,一个机器学习模式将需要至less几千个桔子才能达到90%左右的精度。 但是,我可以通过某种方式改变这150个橙子来制作更多的橘子照片吗? 通过改变,我的意思是在柑橘类水果上添加不同的橙色色调,以形成“不同的橙色”。 这是否是训练neural network的有效方法?

如何使虚拟生物学习neural network?

我正在做一个简单的学习模拟,屏幕上有多个有机体。 他们应该学习如何吃,使用他们简单的neural network。 他们有4个神经元,每个神经元激活一个方向的运动(从鸟的angular度来看,这是一个2D平面,所以只有四个方向,因此需要四个输出)。 他们唯一的投入是四个“眼睛”。 当时只有一只眼睛是活跃的,它基本上是指向最近物体(绿色食物块或另一个生物体)的指针。 因此,networking可以这样想像: 而一个有机体看起来是这样的(理论上和实际的模拟,他们真的是他们周围的红色块): 这就是这一切的样子(这是一个旧版本,眼睛仍然没有工作,但它是相似的): 现在我已经描述了我的一般想法,让我来谈谈问题的核心。 初始化 | 首先,我创造了一些生物和食物。 然后,他们的neural network中的所有16个权重被设置为随机值,如下所示:weight = random.random()* threshold * 2。 阈值是描述每个神经元为了激活(“火”)需要多lessinput的全局值。 通常设置为1。 学习 | 默认情况下,neural network中的权重每步降低1%。 但是,如果某些有机体真的设法吃东西,最后积极的投入和产出之间的联系就会加强。 但是,有一个很大的问题。 我认为这不是一个好的方法,因为他们实际上并没有学到任何东西! 只有那些初始权重随机设定为有益的人才有机会吃东西,只有他们的权重才会加强! 那些关系不好的人呢? 他们会死的,而不是学习。 我如何避免这种情况? 想到的唯一的解决办法是随机增加/减less权重,以便最终有人会得到正确的configuration,并偶尔吃东西。 但是我觉得这个解决scheme非常简单和丑陋。 你有什么想法? 编辑:谢谢你的答案! 他们中的每一个都非常有用,有些则更加相关。 我决定使用以下方法: 将所有权重设置为随机数。 减less重量随着时间的推移。 有时随机增加或减less一个重量。 单位越成功,权重就会变得越less。 新 当生物体吃东西时,增加相应input和输出之间的权重。

深信仰networking与卷积neural network

我是neural network领域的新手,我想知道Deep Belief Networks和Convolutional Networks之间的区别。 另外,还有深度卷积networking是深信与卷积neural network的结合吗? 这是我迄今为止收集的。 如果我错了,请纠正我。 对于图像分类问题, Deep Beliefnetworking有很多层次,每个层次都是使用贪心层次策略进行训练的。 例如,如果我的图片大小是50 x 50,并且我想要一个包含4个图层的深度networking input层 隐藏层1(HL1) 隐藏层2(HL2) 输出层 为了训练input层和HL1之间的权重(W1),我的input层将有50 x 50 = 2500个神经元,HL1 = 1000个神经元(比方说),HL2 = 100个神经元(比方说),输出层= 10个神经元。使用自动编码器(2500 – 1000 – 2500),并学习大小为2500 x 1000的W1(这是无监督学习)。 然后,我通过第一个隐藏层向前馈送所有图像以获得一组特征,然后使用另一个自动编码器(1000 – 100 – 1000)获取下一组特征,最后使用softmax图层(100 – 10)进行分类。 (只学习最后一层的权重(HL2 – 作为softmax层的输出)是监督学习)。 (我可以使用RBM代替autoencoder)。 如果使用卷积neural network解决同样的问题,那么对于50×50的input图像,我将只使用7×7的补丁(比如说)来开发一个networking。 我的层将是 input层(7 x 7 = 49个神经元) HL1(25个不同特征的25个神经元) […]

公开发布的垃圾邮件filter培训集

我是机器学习的新手,对于我的第一个项目,我想写一个朴素的贝叶斯垃圾邮件filter。 我想知道是否有公开可用的标签为垃圾邮件/不是垃圾邮件的训练集,最好是纯文本而不是关系数据库的转储(除非他们漂亮地打印这些?)。 我知道这样一个公开可用的数据库存在其他types的文本分类,特别是新闻文章的文本。 我只是无法find电子邮件相同的东西。

人工智能游乐场?

在学校里,我的一位教授创造了一个3D游戏(不只是一个引擎),所有的玩家都完全由AI控制,这是我们的任务,编程一个玩家的AI。 我们基本上提供了一个API来与游戏世界进行交互。 然后,我们的AI实现一起被投入到游戏中,我们看着我们的程序互相攻击。 这就像机器人足球 ,但虚拟,有很多大枪,没有足球。 我现在正在寻找类似的东西(和开源 )来玩。 (最好在Java中,但我对任何语言都是开放的。)我不是在寻找一个游戏引擎或框架…我正在寻找一个完全没有AI代码的游戏…最好设置对于这种运动。 build议?

R和数据挖掘

相反,开始在Matlab中编写代码,我最近开始学习R,主要是因为它是开源的。 我目前在数据挖掘和机器学习领域工作。 我发现在R中实现了很多机器学习algorithm,而且我仍然在探索在R中实现的不同包。 我有一个很快的问题:你如何比较R与Matlab的数据挖掘应用程序,其stream行程度,利弊,行业和学术接受度等? 你会select哪一个,为什么? 我经历了各种比较的Matlab与R对各种指标,但我特别感兴趣的是在Data Mining和ML的适用性得到答案。 既然这两种语言对我来说都很新,我只是想知道R是不是一个好的select。 我很欣赏任何types的build议。

用于预测事件顺序的机器学习algorithm?

简单的机器学习问题。 可能有很多方法来解决这个问题: 有4个可能的事件的无限stream: 'event_1', 'event_2', 'event_4', 'event_4' 事件不是以完全随机的顺序进来的。 我们将假设大多数事件的顺序都有一些复杂的模式,其余事件都是随机的。 我们不知道提前模式。 在收到每个事件之后,我想根据事件发生的顺序来预测下一个事件。 所以我的问题是: 什么机器学习algorithm应该用于这个预测? 然后告诉预测者下一个事件实际上是什么: Predictor=new_predictor() prev_event=False while True: event=get_event() if prev_event is not False: Predictor.last_event_was(prev_event) predicted_event=Predictor.predict_next_event(event) 问题出现在预测者应该维持多久的历史,因为保持无限的历史将是不可能的。 我会留给你回答。 答案虽然是实用的,但是不能被解释。 所以我相信这个预言必须用某种滚动历史来完成。 因此,添加新事件并过期旧事件应该是相当有效的,并且不要求重build整个预测器模型。 具体的代码,而不是研究论文,将增加我的巨大的价值 ,你的回应。 Python或C库很好,但任何事情都可以。 更新:如果每轮都能同时发生多个事件,那该怎么办? 这是否改变了解决scheme?

理解neural network反向传播

更新:这个问题的一个更好的表述。 我试图理解以异或neural network为例的反向传播algorithm。 对于这种情况,有2个input神经+ 1个偏差,2个神经元在隐层+ 1个偏差,1个输出神经元。 ABA XOR B 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 我正在使用随机反向传播 。 在读了更多的信息之后,我发现输出单元的错误会传播到隐藏的层上……最初这是令人困惑的,因为当你到达neural network的input层时,每个神经元都会得到一个错误调整来自隐藏层中的两个神经元。 特别是错误分布的方式起初难以掌握。 步骤1计算每个input实例的输出。 步骤2计算输出神经元(在我们的情况下只有一个)和目标值(s)之间的误差: 第2步http://pandamatak.com/people/anand/771/html/img342.gif 步骤3我们使用步骤2中的误差来计算每个隐藏单元的误差h: 第3步http://pandamatak.com/people/anand/771/html/img343.gif “权重kh”是隐藏单元h和输出单元k之间的权重,这很混乱,因为input单元没有与输出单元相关的直接权重。 在看了几个小时的公式之后,我开始思考总结的意思,我开始得出结论,即每个input神经元的权重连接到隐藏层神经元乘以输出误差并总结。 这是一个合乎逻辑的结论,但是这个公式似乎有点混乱,因为它清楚地说明了“权重kh”(输出层k和隐藏层h之间)。 我在这里正确理解一切吗? 有人可以证实这一点吗? 什么是input层的O(H)? 我的理解是,每个input节点都有两个输出:一个input到隐藏层的第一个节点,一个input到第二个节点隐藏层。 哪两个输出应插入公式的O(h)*(1 – O(h))部分? 第3步http://pandamatak.com/people/anand/771/html/img343.gif

推荐用于R中非常大的数据集处理和机器学习的软件包

看起来R实际上是devise来处理可以完全放入内存的数据集。 什么R包被推荐用于非常大的数据集上的信号处理和机器学习,这些数据集不能被拉入内存? 如果R完全是这样做的错误的方法,我可以接受其他强大的免费build议(例如,如果有一些很好的方法来处理非常大的数据集,scipy)

无监督情绪分析

我一直在阅读大量的文章,解释在情绪分析系统真正起作用之前,需要分类为“正面”或“负面”的初始文本。 我的问题是:有没有人企图对“积极”形容词与“否定”形容词进行基本检查,考虑到任何简单的否定,以避免将“不快乐”分类为正面? 如果是这样,是否有任何文章讨论为什么这个策略是不现实的?