Exemplo n.º 1
0
                z = self.__softmax(f)
                z_k = z - miniT
                dh1 = np.sum(z_k, axis=0)
                self.intercept_ = self.intercept_ - self.eta * dh1
                dh2 = np.dot(z_k.T, miniX)
                self.coef_ = self.coef_ - self.eta * dh2


if __name__ == '__main__':
    import time

    mnist = MNIST(pathMNIST='./mnist')
    k_class = 10

    # 学習データを作成
    y_train = mnist.getLabel('L')
    X_train = mnist.getImage('L')
    X_train /= 255
    X_test = mnist.getImage('T')
    X_test /= 255
    y_test = mnist.getLabel('T')

    gradient_methods = ['GD', 'SGD', 'MSGD']
    for gradient_method in gradient_methods:
        clf = Logistic_regression(gradient_method=gradient_method, seed=1)
        print(clf.eta)
        print(clf.gradient_method)
        start = time.time()
        clf.fit(X_train, y_train)
        print('学習にかかった時間:', time.time() - start)
        clf.score(X_test, y_test)