Git Product home page Git Product logo

ms-mda's Introduction

Hi there 👋

I'm Hao Chen, Chris, or vb. vb is kinda like a pronoun for me or a nickname I go by.

  • 🏫 My research interests are in artificial intelligence
  • 🌱 I’m currently pursuing a Ph.D., delving into a vast pool of stuff
  • 📫 You can reach me by sending me an email
  • 🐈 The avatar is my pretty cat named "Me-(ow) Me-(ow)"

visitor badge

ms-mda's People

Contributors

pwjworks avatar voicebeer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ms-mda's Issues

关于损失函数

哈喽,我想问一下代码中使用mmd_linear时损失很小也很稳定,但是我换成您代码里的mmd或者CORAL损失就会不稳定而且偏大,这是为什么啊,还想问问您关于目标域是否参与训练这个问题。

数据集提问

作者您好啊,很抱歉打扰您啦,我想问问您数据集是直接将seed里面的ExtractedFeatures按照实验分为1.2.3三个文件夹然后送入程序的吗还是需要提前处理为3394x310的形式然后分为1.2.3文件夹送入的。我刚刚开始接触这个领域,读了您的文章感觉对我很有启发,想复现一下代码,就是在读数据集的时候就一直报错,所以就想来问问您。

标准化问题

作者您好,感谢您的分享。仔细拜读了您的文章,关于标准化有一个小问题希望解答。
您在文章中提出了很多标准方法运用在源域,那么对于目标域而言,是否需要标准化又是如何标准化的。此外,DA的前提似乎是需要利用所有的无标签测试集数据,这样的方法在实际应用上似乎稍显不足。

请问msmda的代码可以改成可运行的吗

现在代码还处于
<<<<<updated upstream

stashed changes
的修改状态,而且有些缩进是没调整好的
请问作者能给一下一开始的代码吗,我怕我复现错误。

confusion

作者好,想问下那个discrepancy loss是作用于domain-specific features,在classifier分类之前吗?而不是分类器四分类softmax后进行作差计算的吗?

About Negtive transfer

您好!请问您在做脑电domain adaptation时有遇到过负迁移的现象吗?如果有的的话有什么解决思路吗?感谢

SEED数据集的session分类问题

作者您好,您在readme里面提到seed中的extracted features文件夹中,需要按照/1/2/3这样的子目录形式,分别把3个session的数据放进去。但extracted features中的所有mat文件只标注了被试序号和时间,该去如何区分各个session呢?我这边是按照时间先后来划分不同的session的,不知道是否正确。
接上文,在没有改动任何代码的情况下,最后复现出的结果,seed数据集cross session的准确率为88%,和论文一样,但是cross subject准确率只有80%,比论文低了9-10%,所以想来咨询一下,有没有可能是我在处理数据集或者其他部分出了问题。
最后谢谢作者能看到这里,恳请您能够拨冗答疑。

About leave-one-subject-out (LOSO) cross-validation strategy

论文并没有做留一实验,我添加了几行代码,进行了SEED3的留一交叉验证实验,发现性能不能达到论文的准确率,下面是结果:

Cross-subject: [tensor(89.7466), tensor(78.7861), tensor(79.6995), tensor(84.5021), tensor(92.5751), tensor(77.3129), tensor(79.3164), tensor(64.1426), tensor(89.2163), tensor(94.6376), tensor(89.1279), tensor(75.4862), tensor(79.9352), tensor(86.2994), tensor(82.5280), tensor(76.9299), tensor(87.6842), tensor(81.5557), tensor(75.3094), tensor(66.2935), tensor(74.2487), tensor(79.4343), tensor(64.2899), tensor(98.0554), tensor(78.6093), tensor(98.0554), tensor(90.9546), tensor(85.8574), tensor(83.5887), tensor(73.0112), tensor(82.1155), tensor(89.0395), tensor(89.7761), tensor(65.3801), tensor(66.9417), tensor(47.1126), tensor(78.2557), tensor(66.4702), tensor(69.1220), tensor(90.1296), tensor(57.8963), tensor(84.2369), tensor(80.5245), tensor(88.1850), tensor(98.0554)]
Cross-subject mean: 80.23178 std: 10.919936

其中,每三个数字代表一个被试的准确率。

请问作者做过相关的实验吗?问题出在哪里?

我的运行环境是:

os: Ubuntu 18.05
gpu: RTX3090*1
python: 3.8.11
pytorch: 1.10+cu113

下面是我修改的代码:

# msmdaer.py
# cross-validation, 15 个被试的留一实验
for subject_id in range(15):
    for i in range(3):
        csub.append(cross_subject(data_tmp, label_tmp, i, subject_id, category_number,
                                  batch_size, iteration, lr, momentum, log_interval))
# 传入了subjec id

# msmdaer.py
def cross_subject(data, label, session_id, subject_id, category_number, batch_size, iteration, lr, momentum, log_interval):
    one_session_data, one_session_label = copy.deepcopy(
        data[session_id]), copy.deepcopy(label[session_id])
    # one_session_data, one_session_label = copy.deepcopy(
    #     data), copy.deepcopy(label)
    train_idxs = list(range(15))
    del train_idxs[subject_id]
    test_idx = subject_id
    target_data, target_label = one_session_data[test_idx,
                                                 :], one_session_label[test_idx, :]
    source_data, source_label = copy.deepcopy(
        one_session_data[train_idxs, :]), copy.deepcopy(one_session_label[train_idxs, :])

    del one_session_label
    del one_session_data
    .......
#util.py
def load_data(dataset_name):
    '''
    description: get all the data from one dataset
    param {type} 
    return {type}:
        data: list 3(sessions) * 15(subjects), each data is x * 310
        label: list 3*15, x*1
    '''
    path, allmats = get_allmats_name(dataset_name)
    data = [([0] * 15) for i in range(3)]
    label = [([0] * 15) for i in range(3)]
    for i in range(len(allmats)):
        for j in range(len(allmats[0])):
            mat_path = path + '/' + str(i+1) + '/' + allmats[i][j]
            one_data, one_label = get_data_label_frommat(
                mat_path, dataset_name, i)
            data[i][j] = one_data.copy()
            label[i][j] = one_label.copy()
    return np.array(data), np.array(label)

关于utils文件里数据集lable代码的询问

想咨询一下utils里的一段代码,在get_number_of_label_n_trial()函数中,代码具体如下:
label_seed4 = [[1, 2, 3, 0, 2, 0, 0, 1, 0, 1, 2, 1, 1, 1, 2, 3, 2, 2, 3, 3, 0, 3, 0, 3],
[2, 1, 3, 0, 0, 2, 0, 2, 3, 3, 2, 3, 2, 0, 1, 1, 2, 1, 0, 3, 0, 1, 3, 1],
[1, 2, 2, 1, 3, 3, 3, 1, 1, 2, 1, 0, 2, 3, 3, 0, 2, 3, 0, 0, 2, 0, 1, 0]]
label_seed3 = [[2, 1, 0, 0, 1, 2, 0, 1, 2, 2, 1, 0, 1, 2, 0],
[2, 1, 0, 0, 1, 2, 0, 1, 2, 2, 1, 0, 1, 2, 0],
[2, 1, 0, 0, 1, 2, 0, 1, 2, 2, 1, 0, 1, 2, 0]]
请问这段代码里的label是从哪里得来的呀,我在SEED和SEED-IV的数据集里并没有找到。因为我想把代码也放在DEAP数据集上面也跑一下,也需要生成一个label的list,所以想问一下这个该怎么找?

目录名无效

作者您好,我想请教一下,为什么会一直提示NotADirectoryError: [WinError 267] 目录名称无效。: 'ExtractedFeatures/10_20131130.mat',它读取的是一个文件,而不是目录,是因为 mats = os.listdir(path + '/' + session)这行的原因吗

Code problem.

你好,我发现您代码中DANN的相关方法存在一些问题,然后我自己修改了一下却达不到论文中的效果,请问是否可以修改一下?

关于准确率

作者大大你好~我用seed数据集跑了你的实验,是分了三个1、2、3文件夹,把每个人不同期的mat文件放进去,但是跑出来cross-sub只有68,cross-sess是79,7是我放的数据集形式不对还是什么可能的原因导致的哇

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.