我正在使用这个库来实现学习代理.
我已经生成了培训案例,但我不确定验证和测试集是什么.
老师说:
70%应该是培训案例,10%是测试案例,其余20%应该是验证案例.
编辑
我有这个训练代码,但我不知道何时停止训练.
def train(self, train, validation, N=0.3, M=0.1):
# N: learning rate
# M: momentum factor
accuracy = list()
while(True):
error = 0.0
for p in train:
input, target = p
self.update(input)
error = error + self.backPropagate(target, N, M)
print "validation"
total = 0
for p in validation:
input, target = p
output = self.update(input)
total += sum([abs(target - output) for target, output in zip(target, output)]) #calculates sum of absolute diference between …Run Code Online (Sandbox Code Playgroud) 是否有一个经验法则(或一组例子)来确定何时使用遗传算法而不是神经网络(反之亦然)来解决问题?
我知道有些情况下你可以混合使用这两种方法,但我正在寻找这两种方法之间的高级别比较.
artificial-intelligence machine-learning neural-network genetic-algorithm
回到我上学的时候,我记得修补了一个Mac游戏,你用一种伪装配语言编写小机器人然后可以互相争斗.他们可以在竞技场周围移动,寻找不同方向的对手,并发射某种武器.非常基本的东西,但我非常喜欢它,即使我不记得这个名字.
有没有好现代的等价物?
有一个名为PokerPirate的新开源扑克机器人.我对Web应用程序可以检测/阻止/击败扑克机器人的任何创造性方式感兴趣.(这是一个纯粹的学术讨论,与PokerPirate写的一样精神.)
20个问题的简单在线游戏,由精确的AI精确驱动.
他们怎么猜得那么好?
我正在处理情绪分析问题,数据看起来像这样:
label instances
5 1190
4 838
3 239
1 204
2 127
Run Code Online (Sandbox Code Playgroud)
所以我的数据是不平衡的,因为1190 instances标有5.对于分类我使用scikit的SVC.问题是我不知道如何以正确的方式平衡我的数据,以便准确计算多类案例的精确度,召回率,准确度和f1分数.所以我尝试了以下方法:
第一:
wclf = SVC(kernel='linear', C= 1, class_weight={1: 10})
wclf.fit(X, y)
weighted_prediction = wclf.predict(X_test)
print 'Accuracy:', accuracy_score(y_test, weighted_prediction)
print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted')
print 'Recall:', recall_score(y_test, weighted_prediction,
average='weighted')
print 'Precision:', precision_score(y_test, weighted_prediction,
average='weighted')
print '\n clasification report:\n', classification_report(y_test, weighted_prediction)
print '\n confussion matrix:\n',confusion_matrix(y_test, weighted_prediction)
Run Code Online (Sandbox Code Playgroud)
第二:
auto_wclf = SVC(kernel='linear', C= 1, class_weight='auto')
auto_wclf.fit(X, y)
auto_weighted_prediction = auto_wclf.predict(X_test)
print 'Accuracy:', accuracy_score(y_test, auto_weighted_prediction)
print …Run Code Online (Sandbox Code Playgroud) python nlp artificial-intelligence machine-learning scikit-learn
有关DFS,A*人工智能搜索的图搜索和树搜索版本有什么区别?
我试图从头开始构建一个神经网络.在所有AI文献中,人们都认为权重应该初始化为随机数,以便网络更快地收敛.
但为什么神经网络的初始权重被初始化为随机数?
我曾在某处读到这样做是为了"打破对称性",这使得神经网络学得更快.打破对称性如何让它学得更快?
将权重初始化为0是不是更好的主意?那样,权重能够更快地找到它们的值(无论是正面还是负面)?
除了希望在初始化时它们接近最佳值时,是否存在一些其他潜在的哲学背后的权重?
artificial-intelligence machine-learning mathematical-optimization neural-network gradient-descent
计算机是否可以通过用户提供的示例"学习"正则表达式?
澄清:
可能吗?我可以使用Google的算法,关键字等吗?
编辑:谢谢你的答案,但我对提供此功能的工具不感兴趣.我正在寻找理论信息,如论文,教程,源代码,算法名称,所以我可以为自己创造一些东西.
我正在学习关于机器学习基础知识的教程,并且提到某些东西可以是特征或标签.
据我所知,功能是正在使用的数据的属性.我无法弄清楚标签是什么,我知道这个词的含义,但我想知道它在机器学习的背景下意味着什么.