Esempio n. 1
0
def get_factors_codes_dataset():
    ''' Create factors-codes dataset
    '''
    # create factors dataset
    dist, dist_kwargs = DISTRIBUTION
    factors = get_artificial_factors_dataset(nb_examples=NB_EXAMPLES,
                                             nb_factors=NB_FACTORS,
                                             distribution=dist,
                                             dist_kwargs=dist_kwargs)

    # compute codes from continuous factors
    codes = np.concatenate((factors, factors, factors, factors), axis=1)

    return factors, codes
Esempio n. 2
0
def get_factors_codes_dataset(nb_seen_factors):
    ''' Create factors-codes dataset
    
    :param nb_seen_factors:     number of measured factors
    '''
    # create factors dataset
    dist, dist_kwargs = DISTRIBUTION
    factors = get_artificial_factors_dataset(nb_examples=NB_EXAMPLES,
                                             nb_factors=NB_FACTORS,
                                             distribution=dist,
                                             dist_kwargs=dist_kwargs)

    # compute codes from continuous factors
    codes = factors
    factors = factors[:, :nb_seen_factors]

    return factors, codes
def get_factors_codes_dataset(noise_level):
    ''' Create factors-codes dataset
    
    :param noise_level:     noise level to compute codes from factors
    '''
    # create factors dataset
    dist, dist_kwargs = DISTRIBUTION
    factors = get_artificial_factors_dataset(nb_examples=NB_EXAMPLES,
                                             nb_factors=NB_FACTORS,
                                             distribution=dist,
                                             dist_kwargs=dist_kwargs)

    # compute codes from continuous factors
    noise = np.random.uniform(size=factors.shape)
    codes = (1 - noise_level) * factors + noise_level * noise

    return factors, codes
def get_factors_codes_dataset(non_linearity_strength):
    ''' Create factors-codes dataset
    
    :param non_linearity_strength:     strength of non-linearity relation between factors and codes
    '''
    # create factors dataset
    dist, dist_kwargs = DISTRIBUTION
    factors = get_artificial_factors_dataset(nb_examples=NB_EXAMPLES,
                                             nb_factors=NB_FACTORS,
                                             distribution=dist,
                                             dist_kwargs=dist_kwargs)

    # compute codes from continuous factors
    B, C = 1000, 0.25
    omega = 2 * np.arctan(B**(non_linearity_strength - C) / 2)
    codes = B**(C - non_linearity_strength) * np.tan(omega *
                                                     (factors - 0.5)) + 0.5

    return factors, codes
Esempio n. 5
0
def get_factors_codes_dataset(noise_level):
    ''' Create factors-codes dataset
    
    :param noise_level:     noise level to compute codes from factors
    '''
    # create factors dataset
    dist, dist_kwargs = DISTRIBUTION
    factors = get_artificial_factors_dataset(nb_examples=NB_EXAMPLES,
                                             nb_factors=NB_FACTORS,
                                             distribution=dist,
                                             dist_kwargs=dist_kwargs)

    # create projection matrix
    projection = (1 - noise_level) * np.eye(NB_FACTORS) + noise_level * np.eye(
        NB_FACTORS, k=1)
    projection[-1, 0] = noise_level

    # compute codes from continuous factors
    codes = np.dot(factors, projection)

    return factors, codes