Label Distribution Learning is a novel machine learning paradigm. A label distribution covers a certain number of labels, representing the degree to which each label describes the instance. LDL is a general learning framework which includes both single-label and multi-label learning as its special cases.
Further details about LDL can be found in the following paper.
X. Geng. Label Distribution Learning. IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE), 2016, 28(7): 1734-1748.
Our alogrithms can be used freely for academic, non-profit purposes. If you intend to use it for commercial development, please contact us.
In academic papers using our codes and data, the following references will be appreciated:
 X. Geng. Label Distribution Learning. IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE), 2016, 28(7): 1734-1748.
 X. Geng, C. Yin, and Z.-H. Zhou. Facial Age Estimation by Learning from Label Distributions. IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE TPAMI), 2013, 35(10): 2401-2412.
Applications of LDL
Facial Age Estimation
Head Pose Estimation
Pre-release Prediction of Movies
Emotion Distribution Recognition
We have implemented four LDL algorithms, namely IIS-LLD, BFGS-LLD, CPNN and LDSVR. To help you start working with LDL, we provide three demos (See iisllddemo.m, bfgsllddemo.m, cpnndemo.m, ldsverdemo.m) in this package.
Once downloaded, unzip the compressed folder to see the structure of LDL package. You'll see:
bfgsllddemo - The example of BFGSLLD algorithm. bfgslldtrain - The training part of BFGSLLD algorithm. bfgsprocess - Provide the target function and the gradient. cpnn - The implementation of CPNN structure. cpnndemo - The example of CPNN algorithm. cpnnpredict - To predict the distribution by trained CPNN structure. cpnntrain - The training part of CPNN algorithm. drawdistribution - Draw the label distributions for comparision. euclideandist - Calculate the average Euclidean distance between the predicted label distribution and the real label distribution. fidelity - Calculate the average fidelity between the predicted label distribution and the real label distribution. fminlbfgs - Finds a local minimum of a function of several variables. iisllddemo - The example of IISLLD algorithm. iislldtrain - The training part of IISLLD algorithm. intersection - Calculate the average intersection between the predicted label distribution and the real label distribution. kernelmatrix - calculate the kernel matrix of vectors (samples) between two data matrices. kldist - Calculate the average Kullback-Leibler divergence between the predicted label distribution and the real label distribution. ldsvrdemo - The example of LDSVR algorithm. ldsvrpredict - To predict the distribution by trained LDSVR model. ldsvrtrain - The training part of LDSVR algorithm. ldsvrmsvr - The LDSVR's Multioutput SVR. lldpredict - Calculate the predicted distribution of the instance X by weights. sorensendist - Calculate the average Sorensen's distance between the predicted label distribution and the real label distribution. squaredxdist - Calculate the average squared x*x distance between the predicted label distribution and the real label distribution.
We have collected 15 real-world LDL data sets. Here are some statistics about them:
There are some other LDL datasets provided by other researchers, such as
|18||Twitter_ldl and Flickr_ldl|