Example #1
0
def test_mds123(save_data=False):
    Y1 = np.load('examples/123/true1.npy')
    D1 = distances.coord2dist(Y1)
    Y2 = np.load('examples/123/true2.npy')
    D2 = distances.coord2dist(Y2)
    Y3 = np.load('examples/123/true3.npy')
    D3 = distances.coord2dist(Y3)
    D = [D1, D2, D3]

    Q = np.load('examples/123/params.npy')
    proj = perspective.Proj()
    proj.set_params_list(params_list=Q)

    mv = Multiview(D, persp=proj)
    mv.setup_visualization('mds')
    mv.initialize_X(verbose=1)
    mv.optimize_X(algorithm='cdm', learning_rate=0.005, iterations=300)
    mv.figureX()
    mv.figureY()
    plt.show()

    if save_data:
        np.save('examples/123/computed123.npy', mv.X)
        np.save('examples/123/computed1.npy', mv.Y[0])
        np.save('examples/123/computed2.npy', mv.Y[1])
        np.save('examples/123/computed3.npy', mv.Y[2])
Example #2
0
def noise_all(N=100):
    noise_levels = [0.001,0.01,0.07,0.15,0.4]
    stress = []
    X = misc.disk(N,dim=3)
    proj = perspective.Proj(dimX=2,dimY=2)
    proj.set_params_list(special='identity',number=3)
    Y = proj.project(X)
    D = distances.compute(Y)
    for noise in noise_levels:
        D_noisy = distances.add_noise(D,noise)
        mv = Multiview(D_noisy,persp=proj)
        mv.setup_visualization(visualization='mds')
        mv.initialize_X(verbose=1)
        mv.optimize_X(algorithm='gd',learning_rate=1,max_iters=300,
                      verbose=1)
        stress.append(mv.cost)
    fig = plt.figure()
    plt.semilogx(noise_levels,stress)
    plt.show()
Example #3
0
def noisy(N=100):
    noise_levels = [0.0001, 0.001, 0.01, 0.1, 0.5]
    stress = []
    X = misc.disk(N, dim=3)
    proj = perspective.Proj()
    proj.set_params_list(special='standard')
    Y = proj.project(X)
    D = distances.compute(Y)
    for noise in noise_levels:
        D_noisy = distances.add_noise(D, noise)
        stress_best = []
        for i in range(3):
            mv = Multiview(D_noisy, persp=proj, verbose=1)
            mv.setup_visualization(visualization='mds')
            mv.initialize_X()
            mv.optimize_X(algorithm='agd')
            stress_best.append(mv.normalized_cost)
        stress.append(min(stress_best))
    fig = plt.figure()
    plt.loglog(noise_levels, stress, linestyle='--', marker='o')
    plt.title('Normalized total stress')
    plt.xlabel('noise level')
    plt.ylabel('total stress')
    plt.show()