我有一个假设的机器学习问题。理想情况下,我希望得到一个包含Tensorflow示例的答案。该问题与编程语言无关。
问题示例A:
我的训练材料看起来像这样(我已经更改了内容以使问题更清晰)。
训练数据:
[{ "a": 564356, "b": 23463246}, { "a": 723572575, "b": 45472}, { "a": 1351345, "b": 0943563456}, { "a": 12523635, "b": 3249582345}, 等等...]
我想提供这样的数据(即“输入”):
[{ "a": 232346, "b": 373457}, { "a": 36458, "b": 5674567}, 等等...]
并得到这样的返回数据(即“答案”):
[{ "a": 113424, "b": 5674567}, { "a": 15345, "b": 5678}, 等等...]
问题示例B:
我的训练材料看起来像这样(我已经更改了内容以使问题更清晰)。
训练数据:
[{ "q": "你喜欢什么动物", "a": "狗"}, { "q": "你最喜欢的颜色是什么", "a": "蓝色"}, { "q": "你喜欢啤酒作为饮料吗", "a": "是的"}, { "q": "你有喜欢的颜色吗", "a": "绿色"}, 等等...]
我想提供这样的数据(即“输入”):
[{ "q": "你喜欢什么颜色", "a": "黄色"}, 等等...]
并得到这样的返回数据(即“答案”):
[{ "q": "你最喜欢的颜色是什么", "a": "黄色"}, 等等...]
请注意,我不是要算法回答问题,而是希望它能提供一个逻辑上的问答回应。
问题:
我应该使用哪种训练算法来训练一个模型,以应对未知逻辑(如上面的训练数据),这样当我提供“输入”时,它会返回一个答案(如“答案”中所示)。
回答:
不确定Tensorflow支持哪些,但一般来说,对于这样的问题,你应该使用无监督学习算法。
如果你有很多训练数据,kNN会给你合理的性能。尽管对于你的第二个用例,你应该考虑一个好的方法来分解问题句子。我会从简单的转换为词袋开始,然后从那里继续进行。