Sha256: c05a732b63d2058350e2b305f6b6df48a8b86a9c11f05f7e92e6e86b06446d3a

Contents?: true

Size: 1.65 KB

Versions: 9

Compression:

Stored size: 1.65 KB

Contents

// Copyright (C) 2015  Davis E. King (davis@dlib.net)
// License: Boost Software License   See LICENSE.txt for the full license.
#undef DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_
#ifdef DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_

#include <vector>

namespace dlib
{
    template <
        typename kernel_type,
        typename vector_type
        >
    std::vector<unsigned long> spectral_cluster (
        const kernel_type& k,
        const vector_type& samples,
        const unsigned long num_clusters
    );
    /*!
        requires
            - samples must be something with an interface compatible with std::vector.
            - The following expression must evaluate to a double or float:
                k(samples[i], samples[j])
            - num_clusters > 0
        ensures
            - Performs the spectral clustering algorithm described in the paper: 
              On spectral clustering: Analysis and an algorithm by Ng, Jordan, and Weiss.
              and returns the results.
            - This function clusters the input data samples into num_clusters clusters and
              returns a vector that indicates which cluster each sample falls into.  In
              particular, we return an array A such that:
                - A.size() == samples.size()
                - A[i] == the cluster assignment of samples[i].
                - for all valid i: 0 <= A[i] < num_clusters 
            - The "similarity" of samples[i] with samples[j] is given by
              k(samples[i],samples[j]).  This means that k() should output a number >= 0
              and the number should be larger for samples that are more similar.
    !*/
}

#endif // DLIB_SPECTRAL_CLUSTEr_ABSTRACT_H_


Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
dlib-1.2.2 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.2.1 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.2.0 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.5 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.4 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.3 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.2 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.1 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h
dlib-1.1.0 ext/dlib-19.4/dlib/clustering/spectral_cluster_abstract.h