任务: 我有字母组合,例如“hafe”,“cool”,“zcna”,我想学习NN来判断这些字母组合是否“漂亮”。 我尝试通过下一个算法将字母转换为数组:`arr [i] = word [i] - 'a'== i? 1:0,如果是当前字母,则arr [i]为1,否则为0。 NN的输入是这些数组的串联。 我使用了感知器这样的输入,但它不起作用。 有任何想法吗?也许有更好的选择将单词转换为输入?或者我需要使用不同的架构?
UPD
我用于学习NN的代码。 JS + Synaptic。
const network = new synaptic.Architect.Perceptron(26 * 7, 100, 1)
const feedInitialData = () => {
data = data
.concat(names
.slice(0, 10000)
.filter(name => name.length == 7)
.map(wordToArray)
.map(input => ({input, output: [1]}))
)
for (let i = 0; i < 300; i++) {
let word = randomString(7)
data.push({input : wordToArray(word), output : [0]})
}
network.trainer.train(data, {
iterations: 10000000,
cost: synaptic.Trainer.cost.MSE,
})
console.log(network.activate(data[0].input))
data = []
}