Skip to main content

Techniques for Semi-Supervised Learning with Heterophily

Project description

SSLH (Semi-Supervised Learning with Heterophily)

Home of SSLH on github: http://github.com/sslh/sslh/

Documentation

This library implements efficient algorithms in linear algebra for solving various inference and estimation problems in networks with observed heteorphily between classes of nodes (Heterophily: “Opposites attract” vs. Homophily: “Birds of a feather flock together”). The technical framework is that of undirected graphical models (Markov Random Fields or Markov Networks). The key idea is that after applying certain linearization assumptions (that change the semantics) the resulting formulations allow several orders of magnitude speed-up in calculation.

The methods are described in detail in the following papers:

  1. Linearized and Single-Pass Belief Propagation. Wolfgang Gatterbauer, Stephan Günnemann, Danai Koutra, Christos Faloutsos. PVLDB 8(5): 581-592 (2015). [Paper (PDF)], [Full version (PDF)]

  2. Semi-Supervised Learning with Heterophily. Wolfgang Gatterbauer [Working paper (PDF)]

Usage & Documentation

The package consists of:

  1. A directory sslh that contains files with the main methods

  2. A directory test that contains the test files, each of which makes use of methods from the corresonding file in the sslh directory.

Thus ideally take a look in the test directory, run some files and look through the annotations in the files.

Installation

The latest version of SSLH can be installed from the master branch using pip:

pip install sslh

or

pip install git+https://github.com/wolfandthegang/sslh/

Another option is to clone the repository and install SSLH using python setup.py install or python setup.py develop.

Dependencies

SSLH is tested on Python 2.7 and depends on NumPy, SciPy, Sklearn, and PyAMG (see setup.py for version information).


License

Copyright 2015 Wolfgang Gatterbauer

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License.

Distributed in the hope that it will be useful to other researchers, however, unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Contact Me

Questions or comments about SSLH? Drop me an email at gatt@cmu.com.


Changelog

Version 0.1.0

  • Initial Release: Main method ‘linBP_undirected’ for linearized belief propagation with one single doubly stochastic and symmetric potential as described in “Linearized and Single-pass Belief Propagation”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sslh-0.1.0.tar.gz (28.4 kB view hashes)

Uploaded Source

Built Distribution

sslh-0.1.0-py2.py3-none-any.whl (17.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page