我有一个用Python编程的贝叶斯分类器,问题是当我乘以特征概率时,我得到非常小的浮点值,如2.5e-320或类似的东西,突然变成0.0.0.0显然对我没用,因为我必须根据哪个类返回MAX值(更大的值)找到"最佳"类.
处理这个问题的最佳方法是什么?我想找到数字的指数部分(-320),如果它太低,则将该值乘以1e20或某个值.但也许有更好的方法?
我该怎么做.我有一个黑白图像(100x100px):

我应该用这个图像训练一个反向传播神经网络.输入是图像的x,y坐标(从0到99),输出为1(白色)或0(黑色).
一旦网络学会了,我希望它能够根据其权重重现图像,并获得与原始图像最接近的图像.
这是我的backprop实现:
import os
import math
import Image
import random
from random import sample
#------------------------------ class definitions
class Weight:
    def __init__(self, fromNeuron, toNeuron):
        self.value = random.uniform(-0.5, 0.5)
        self.fromNeuron = fromNeuron
        self.toNeuron = toNeuron
        fromNeuron.outputWeights.append(self)
        toNeuron.inputWeights.append(self)
        self.delta = 0.0 # delta value, this will accumulate and after each training cycle used to adjust the weight value
    def calculateDelta(self, network):
        self.delta += self.fromNeuron.value * self.toNeuron.error
class Neuron:
    def __init__(self):
        self.value = 0.0        # the output
        self.idealValue = 0.0 …Run Code Online (Sandbox Code Playgroud) python matlab artificial-intelligence machine-learning neural-network