https://github.com/wmkouw/flda
Feature-level domain adaptation
https://github.com/wmkouw/flda
domain-adaptation machine-learning
Last synced: over 1 year ago
JSON representation
Feature-level domain adaptation
- Host: GitHub
- URL: https://github.com/wmkouw/flda
- Owner: wmkouw
- License: mit
- Created: 2015-01-14T10:35:59.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2019-09-06T08:35:16.000Z (almost 7 years ago)
- Last Synced: 2025-03-22T06:31:46.758Z (over 1 year ago)
- Topics: domain-adaptation, machine-learning
- Language: MATLAB
- Homepage:
- Size: 76.4 MB
- Stars: 10
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Feature-level domain adaptation
This repository contains MATLAB code accompanying the paper:
"Feature-level domain adaptation."
which is published in the Journal of Machine Learning Research 2016 ([pdf](http://www.jmlr.org/papers/v17/15-206.html)/[preprint](https://arxiv.org/abs/1512.04829)).
For a cleaner implementation of flda as well as a translation into Python, see my library on transfer learners and domain-adaptive classifiers: [libTLDA](https://github.com/wmkouw/libTLDA).
## Installation
Clone the repository (bash):
```shell
git clone https://github.com/wmkouw/flda
```
Installation consists of adding the repository to your path (matlab):
```
addpath(genpath('./flda'))
```
### Dependencies
Flda depends on [minFunc](http://www.cs.ubc.ca/~schmidtm/Software/minFunc.html) and [libSVM](https://www.csie.ntu.edu.tw/~cjlin/libsvm/).
First download and extract them (bash):
```
wget http://www.cs.ubc.ca/~schmidtm/Software/minFunc_2012.zip -O minFunc.zip
unzip minFunc.zip
wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+zip -O libSVM.zip
unzip libSVM.zip
```
Then add them to your path (matlab):
```
addpath(genpath('./minFunc_2012'))
addpath(genpath('./libSVM-3.22'))
```
## Usage
Repo contains the following folders:
- __experiment-*__: contains scripts for running experiments reported in the paper.
- __data__: contains the digits, spam, office, imdb and amazon data sets.
- __util__: contains utility functions and algorithms.
To start an experiment, call the corresponding experiment function (matlab):
```
cd experiment-amazon/
run_daexp_amazon('flda_log_b')
```
Options for classifiers are:
- 'flda_log_b': flda with logistic loss and blankout transfer model
- 'flda_log_d': flda with logistic loss and dropout transfer model
- 'flda_qd_b': flda with quadratic loss and blankout transfer model
- 'flda_qd_d': flda with quadratic loss and dropout transfer model
- 'gfk_knn': geodesic flow kernel with a k-nearest-neighbour classifier
- 'tca_svm': transfer component analysis with a support vector machine
- 'sa_svm': subspace alignment with a support vector machine
- 'kmm': kernel mean matching with importance-weighted logistic regression
- 'scl': structural correspondence learning with logistic regression
### Contact
Bugs, comments and questions can be submitted to the issues tracker.