MIToolbox
v3.0.1forC/C++adMATLAB/Octave
MIToolboxcotaisasetoffuctiostocalculateiformatiotheoreticquatitiesfromdata,suchastheetropyadmutualiformatio.ThetoolboxcotaisimplemetatiosofthemostpopularShaoetropies,adalsothelesserkowReyietropy.Thetoolboxalsoprovidesimplemetatiosoftheweightedetropyadweightedmutualiformatiofrom"IformatioTheorywithApplicatio",S.Guiasu(1977).Thetoolboxolysupportsdiscretedistributios,asopposedtocotiuous.Allreal-valuedumberswillbeprocessedbyx=floor(x).
Thesefuctiosaretargetedforusewithfeatureselectioalgorithmsratherthacommuicatiochaelsadsoexpectallthedatatobeavailablebeforeexecutioadsampletheirowprobabilitydistributiosfromthedata.
Allfuctiosexpecttheiputstobevectorsormatricesofdoubles.
Fuctioscotaied:
EtropyCoditioalEtropyMutualIformatioCoditioalMutualIformatiogeeratigajoitvariablegeeratigaprobabilitydistributiofromadiscreteradomvariableReyi'sEtropyReyi'sMutualIformatioWeightedEtropyWeightedMutualIformatioWeightedCoditioalMutualIformatioNote:allfuctiosarecalculatedilogbase2,soreturuitsof"bits".
MIToolboxworksodiscreteiputs,adallcotiuousvaluesmustbediscretisedbeforeusewithMIToolbox.Real-valuediputswillbediscretisedwithx=floor(x)toesurecompatibility.MIToolboxproducesureliableresultswheusedwithcotiuousiputs,russlowlyadusesmuchmorememorythausual.Thediscreteiputsshouldhavesmallcardiality,MIToolboxwilltreatvalues{1,10,100}thesamewayittreats{1,2,3}adthelatterwillbebothfasteraduselessmemory.Thislimitatioisduetothedifficultiesiestimatigiformatiotheoreticfuctiosofcotiuousvariables.
======
Examples:
>>y=[11100]';>>x=[10110]';>>mi(x,y)%%mutualiformatioI(X;Y)as=0.0200>>h(x)%%etropyH(X)as=0.9710>>codh(x,y)%%coditioaletropyH(X|Y)as=0.9510>>h([x,y])%%joitetropyH(X,Y)as=1.9219>>joit([x,y])%%joitradomvariableXYas=12134======
Allcodeisliceseduderthe3-clauseBSDlicese.
Compilatioistructios:
MATLAB/OCTAVEruCompileMIToolbox.mfromthematlabdirectory.LiuxCsharedlibraryrumakex86ormakex64for32-bitor64-bitversiosrespectively.rusudomakeistalltoistallMIToolboxito/usr/local/libad/usr/local/icludeWidowsCdllistallMiGWfromhttps://sourceforge.et/projects/migw-w64/addMiGWbiariesfolderstoPATH,e.g.migw/bi,migw/msys/birumakex64_witocompilea64-bitWidowsdll.UpdateHistory
08/02/2017-v3.0.1-BugfixtoesureANSICcompatibility.07/01/2017-v3.0.0-Refactorediteralstoexposeitegeriformatiotheoreticcalculatios.10/01/2016-v2.1.2-RelicesefromLGPLtoBSD.AddedcheckstoesureiputMATLABtypesaredoubles.02/02/2015-v2.1.1-FixeduptheMakefilesoitistallstheheaderstoo.22/02/2014-v2.1-Fixedacoupleofbugsrelatedtomemoryhadlig.AddedamakeistallforcompatibilitywithPyFeast.30/07/2011-v2.00-Addedimplemetatiosoftheweightedetropyadweightedmutualiformatio.MorecleaupofMexetrypoittofurtherchecktheiputs.08/11/2011-v1.03-MiordocumetatiochagestoaccompaytheJMLRpublicatio.15/10/2010-v1.02-FixedbugwhereMIToolboxwouldcauseasegmetatiofaultifaxby0emptymatrixwaspassedi.Nowpritsaerrormessageadretursgracefully.02/09/2010-v1.01-FixedabugiCMIM.mwherethelastfeaturewouldotbeselectedfirstifithadthehighestMI.07/07/2010-v1.00-IitialRelease.
评论