NeuralNetwork.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:machineLearning 作者: zhangtianle 项目源码 文件源码
def fit(self, x, y, learningRate=0.2, epochs=10000):
        x = np.atleast_2d(x)
        temp = np.ones([x.shape[0], x.shape[1]+1])
        temp[:, 0:-1] = x
        x = temp

        for k in range(epochs):
            i = np.random.randint(x.shape[0])
            result = [x[i]]
            for l in range(len(self._weights)):
                result.append(self._activation(np.dot(result[l], self._weights[l])))
            error = y[i] - result[-1]
            deltas = [error * self._activationDeriv(result[-1])]

            for l in range(len(self._weights)-1, 0, -1):
                deltas.append(np.dot(self._weights[l], deltas[-1]) * self._activationDeriv(result[l]))
                # deltas.append(deltas[-1].dot(self._weights[l].T) * self._activationDeriv(result[l]))
            deltas.reverse()

            for i in range(len(self._weights)):
                layer = np.atleast_2d(result[i])
                delta = np.atleast_2d(deltas[i])
                self._weights[i] += learningRate * layer.T.dot(delta)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号