迁移学习基础教程

   日期:2024-11-07     作者:caijiyuan       评论:0    移动:http://ljhr2012.riyuangf.com/mobile/news/717.html
核心提示:近些年来,机器学习包括深度学习的发展,使模型的准确率越来越高。但是,如果将已有的模型直接拿来处理同类型

近些年来,机器学习包括深度学习的发展,使模型的准确率越来越高。但是,如果将已有的模型直接拿来处理同类型的问题,结果却差强人意。迁移学习(Transfer Learning)提供了这一问题的解决方法。NAIE平台提供了迁移学习SDK,可以方便大家轻松使用多种常见的迁移学习方法,解决不同任务之间迁移的问题。 您只要将源域和目标域的数据准备好,就可以轻松使用迁移学习SDK训练出一个更好的模型。迁移学习SDK分为可迁移性判别方法、浅层迁移学习方法和深层迁移学习方法。集成了学术界和工业界常用的迁移学习能力,并在可迁移性判别上引入了一套独有的判别方法。

迁移学习基础教程

1、可迁移性判别方法

NAIE平台提供的可迁移性判别方法SDK,可用于评估数据是否适用于迁移、哪种浅层迁移方法最有效。

迁移数据评估方法 (EasyTransferability) 评估数据是否适用于迁移。将源域和目标域的数据特征同时作为该方法的输入,该方法会输出一个评估分数,如果分数大于0.5,说明数据适合迁移。

浅层迁移算法评估方法 (metaTrans) 评估各浅层迁移学习方法迁移的效果。将源域的数据特征和标签、目标域的数据特征作为输入,该方法会分别使用各浅层迁移学习方法SDK预置的历史meta信息先训练出对应的SDK模型,然后分别使用SDK模型来预测源域和目标域的数据迁移效果,给出各SDK方法迁移的效果评估分数,如果分数大于1,说明使用对应的SDK来完成迁移学习是有效的,最终会给出效果最好的浅层迁移学习方法。

2、浅层迁移学习方法

基于数据特征和样本迁移,迁移时需同时使用源域和目标域数据,目标域数据无需标签。迁移学习完成后输出新的源域和目标域数据。 浅层迁移学习方法分类如下

(1)特征迁移 (2)不需要源域的标签信息 对源域和目标域的数据特征进行变换或重构,得到分布对齐的样本表示,只需要使用源域和目标域的数据特征,不需要源域的标签信息。该类方法有:CMF (Collective Matrix Factorization)、CORAL (CORrelation ALignment)、GFK (Geodesic Flow Kernel)、LSDT (Latent Space Domain Transfer)、MSDA (Marginalized Stacked Denoising AutoEncoder)、PCA (Principal Component Analysis)、RANDPROJ (Random Projection to one dimension)、SA (Subspace Alignment)、TCA (Transfer Component Analysis) (3)需要源域的标签信息 对源域和目标域的数据特征进行变换或重构,得到分布对齐的样本表示,需要使用源域数据特征和标签信息、目标域的数据特征。该类方法有:ITL (Information-Theoretical Learning) (4)样本迁移在源域中选择和目标域相关性高的样本迁移,需要使用源域数据特征和标签信息、目标域的数据特征。该类方法有:KMM (Kernel Mean Matching)

3、深层迁移学习方法

基于深度自适应网络和深度对抗网络迁移,深度网络迁移训练时需同时使用源域和目标域数据,目标域数据无需标签。 深层迁移学习方法适用于图像、语音、文本、通信等业务领域。 深层迁移学习方法分为: AFN (Adaptive Feature Norm):一种具有较大范数的无监督网络自适应方法。 DAN (Deep Domain Adaptation Network):一种采用多核MMD度量(MK-MMD),并将多核MMD的参数学习融入到深度网络的训练中,不增加网络的额外训练时间,以达到深度网络自适应目的方法。 RevGrad (DANN, Deep Adversarial Domain Adaptation):一种具有对抗性训练和梯度逆转层的深层网络迁移方法。

下文以使用浅层迁移学习方法GFK (Geodesic Flow Kernel)为例,介绍如何使用可迁移性判别方法和浅层迁移学习方法。深层迁移学习方法请参见迁移学习进阶教程。

1、导入依赖库

from naie.datasets import data_reference from naie.feature_processing import data_flow

2、读取数据集

我们以Office+Caltech数据集为例。 Office+Caltech为目标识别领域10分类数据集,分为 C(Caltech):1123个样本,800维特征,最后一列为标签信息。 A(Amazon):958个样本,800维特征,最后一列为标签信息。 W(Webcam):295个样本,800维特征,最后一列为标签信息。 D(DSLR):157个样本,800维特征,最后一列为标签信息。 数据集下载路径 https://github.com/jindongwang/transferlearning/blob/master/data/dataset.md#officecaltech 将Amazon数据集作为源域,DSLR数据集作为目标域,并提前在NAIE训练平台上导入Amazon和DSLR数据集。 选取源域和目标域数据特征和标签 # 将源域数据转换成dataframe source_dr = data_reference.get_data_reference(dataset=‘Default’, dataset_entity=‘amazon’) source_data = data_flow.create_data_flow(source_dr).to_pandas_dataframe() # 将目标域数据转换成dataframe target_dr = data_reference.get_data_reference(dataset=‘Default’, dataset_entity=‘dslr’) target_data = data_flow.create_data_flow(target_dr).to_pandas_dataframe() # 选取源域和目标域数据特征和标签 SX = source_data.values[:,:-1] SY = source_data.values[:,-1] TX = target_data.values[:,:-1] TY = target_data.values[:,-1]

3、迁移评估

评估迁移数据 评估将Amazon数据集作为源域,DSLR数据集作为目标域,是否适用于迁移。 from naie.transfer_learning import EasyTransferability model = EasyTransferability() score = model.predict(SX, TX) print("evaluation score: ", ‘{:.2f}’.format(score)) 如果评估分数大于0.5,说明源域和目标域数据适合迁移。本例中评估分数为0.97,说明可以迁移。

评估迁移算法 评估使用哪种浅层迁移学习方法有效。 from naie.transfer_learning import metaTrans tasks = [(SX, SY, TX, None)] # The algorithm_names paremeter is list of algorithms need to be evaluated. algorithm_names = [‘CMF’, ‘CORAL’, ‘GFK’, ‘ITL’, ‘KMM’, ‘MSDA’, ‘PCA’, ‘RPROJ’, ‘SA’, ‘TCA’] model = metaTrans() score = model.evaluate(tasks, algorithm_names) print("The best transfer is: ", score) 评估结果显示:The best transfer is: {‘GFK’: 5.51}。 下面我们就使用浅层迁移学习方法GFK来完成数据迁移。

4、使用GFK方法完成迁移 导入浅层迁移学习方法库和依赖库 from naie.transfer_learning import ShallowTransferLearning import numpy as np import pandas as pd

使用GFK方法迁移数据 gfk = ShallowTransferLearning(“GFK”) new_SX, new_TX, _ = gfk.fit(SX, TX)

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号