一个紧凑的Python迁移学习工具箱。
transfertools的Python项目详细描述
传输工具
transfertools
是一个小Python包,包含最近的转移学习算法。
转移学习致力于将信息从一个数据集source domain传输到相关的数据集目标域。在这些域上可以设置一些约束和假设,从而激发不同的算法来进行信息传递。
该软件包包含四种转移学习算法。在
安装
使用以下命令直接从PyPi安装包:
pip install transfertools
或者使用setup.py
文件安装包:
或者直接从GitHub自身安装:
pip install git+https://github.com/Vincent-Vercruyssen/transfertools.git@master
内容及用途
转移学习的目的是将信息从源域Ds传输到相关的目标域Dt。域由一个具有属性X和标签Y的数据集组成。因此,源域是Ds={{str 1}$Xs,Ys},目标域是Dt={str 1}$Xt,Yt}。基本假设是源域和目标域位于同一个特征空间。 存在不同风格的迁移学习方法。 ^例如,{em1}$Unsupervised transfer学习忽略标签信息,只使用Xs和Xt来确定要传递什么信息。 directed transfer学习使用完整的域Ds和{str 1}$Dt来完成传输。 半监督传输学习使用完整的源域Ds和目标属性{str 1}$Xt来完成传输。在
传输的实际信息也因方法而异。 域适应技术转换源(和目标)域,使它们更紧密地匹配(根据不同的标准),然后组合所有数据点来构造^{str1}$Dcombo。 实例选择技术选择应该传输到目标数据的源数据的子集来构造Dcombo。 传输之后,可以使用Dcombo构造分类器。在
实例选择技术
transfertools
包包含两种为异常检测量身定制的实例选择传输技术:
- LocIT(本地化实例传输)算法以完全无监督的方式工作。它传输Ds中在两个域[1]中具有匹配的本地化分布的实例。该算法还可用于异常检测以外的其他应用。在
- CBIT(cluster-based-instance-transfer)算法以半监督的方式工作。它传输^{str1}$Ds中属于目标数据[2]上定义的集群的实例。在
给定一个源域{{str 1}$Xs,Ys}和目标域{{str 1}$Xt,Yt},算法的应用如下:
fromtransfertools.modelsimportLocIT,CBIT# traintransfor=LocIT()transfor.fit(Xs,Xt)# predictXs_trans=transfor.transfer(Xs)# ... or immediatelyXs_trans=transfor.fit_transfer(Xs,Xt)
域适应技术
transfertools
包包含两种实例域适配技术:
- CORAL(CORAL alignment)算法是一种无监督的转移学习技术,它对齐源和目标数据的一阶和二阶统计量[3]。在
- TCA(transfer component analysis)算法是一种无监督的转移学习技术,它将源数据和目标数据投影到一个低维子空间[4]。在
给定一个源域{{str 1}$Xs,Ys}和目标域{{str 1}$Xt,Yt},算法将作为fo应用允许:
fromtransfertools.modelsimportTCA,CORAL# traintransfor=CORAL()transfor.fit(Xs,Xt)# predictXs_trans=transfor.transfer(Xs)# ... or immediatelyXs_trans=transfor.fit_transfer(Xs,Xt)
包装结构
转移学习算法位于:transfertools/models/
有关如何使用这些算法的更多示例,请参阅笔记本:transfertools/notebooks/
依赖关系
transfertools
包需要安装以下python包:
联系人
请与包的作者联系:vincent.vercruyssen@kuleuven.be
参考文献
[1]Vercruyssen,V.,Meert,W.和J.Davis。(2020)转移学习,通过局部和无监督的实例选择进行异常检测。在纽约举行的第34届AAAI人工智能大会上。待发布
[2]Vercruyssen,V.,Meert,W.,和Davis,J.(2017)$时间序列异常检测的转移学习。见CEUR研讨会论文集,第1924卷,第27-37页。在
- 项目
标签: