tsne.py 文件源码

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

项目:CNN_Visualization 作者: albioTQ 项目源码 文件源码
def computeProbabilities(X, perplexity=30.0, tolerance=1e-5):
    #Perform an initial dimensionality reduction
    pca = PCA(n_components=50)

    X = pca.fit_transform(X)

    numSamples = X.shape[0]

    P = np.zeros((numSamples, numSamples))

    D = pairwise_distances(X, squared=True)

    for i in range(numSamples):
        indices = np.concatenate((np.arange(i), np.arange(i + 1, numSamples)))

        distancesFromI = D[i, indices]

        sigma = binarySearch(computePerplexity, distancesFromI, tolerance, perplexity)

        precision = 1.0 / sigma
        #Compute a "row" of matrix P: the probabilities wrt point I
        PwrtI = np.exp(- distancesFromI * precision)
        PwrtI /= sum(PwrtI)
        #Insert an element corresponding to I wrt I
        PwrtI = np.concatenate((PwrtI[0:i], [0.0], PwrtI[i:numSamples]))
        #Insert the row
        P[i, :] = PwrtI

    return P
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号