PyTSK:在Python中高效构建和训练TSK模糊系统

PyTSK程序包基于Python语言,由华中科技大学脑机接口与机器学习实验室开发,主要提供了基于模糊聚类和梯度下降优化的TSK模糊系统的训练算法。它主要适合:

  • 开发TSK模糊系统算法的科研人员:PyTSK提供的接口灵活度较高,可根据需要自定义各种模块。
  • 使用TSK模糊系统的工程人员:PyTSK提供了几种基础的TSK模糊系统实现,可用于快速搭建和训练。

 

PyTSK的文档网址:https://pytskdocs.readthedocs.io/en/latest/

PyTSK的项目地址:https://github.com/YuqiCui/PyTSK

PyTSK可直接通过pip安装:pip install scikit-pytsk

 

PyTSK程序包构架如下:

 

PyTSK

|–cluster 实现了模糊C均值聚类(Fuzzy c-means, FCM)算法,以及根据FCM等模糊聚类算法将输入映射到TSK系统规则后件输入的转换函数,全部遵从sklearn的API设计风格,可以直接由sklearn的API调用

|–gradient_descent 实现了TSK模糊神经网络的搭建和训练方法

            |–antecedent 实现了基于高斯模糊集的规则前件

            |–callbacks 类似Keras的回调函数,用于训练时监控模型性能,改变模型参数等

            |–training 实现了基于pytorch的训练算法

            |–tsk 实现了TSK模糊系统

            |–utils 实现了一些训练时会用到的辅助工具

 

例如,如果您需要使用模糊聚类算法构建一个TSK模糊系统,只需通过下面代码就可实现:

通过PyTSK,您可以快速实现一些华中科技大学脑机接口与机器学习实验室开发的最新算法。例如,DropRule[1]、UR正则化[2]、带有BN层的TSK模糊系统[2]、高维模糊系统HTSK[3]以及嵌入神经网络作为特征提取器[4]等。这些方法已被证明可显著提高TSK模糊系统在分类、回归等问题上的性能。具体实现方法可通过API文档中的“Models & Technique”查看。

 

[1] Wu D, Yuan Y, Huang J, et al. Optimize TSK fuzzy systems for regression problems: Minibatch gradient descent with regularization, DropRule, and AdaBound (MBGD-RDA)[J]. IEEE Transactions on Fuzzy Systems, 2019, 28(5): 1003-1015.

[2] Cui Y, Wu D, Huang J. Optimize TSK fuzzy systems for classification problems: Minibatch gradient descent with uniform regularization and batch normalization[J]. IEEE Transactions on Fuzzy Systems, 2020, 28(12): 3065-3075.

[3] Cui Y, Wu D, Xu Y. Curse of dimensionality for TSK fuzzy neural networks: Explanation and solutions[C]//2021 International Joint Conference on Neural Networks (IJCNN). IEEE, 2021: 1-8.

[4] Shi Z, Wu D, Guo C, et al. FCM-RDpA: TSK fuzzy regression model construction using fuzzy c-means clustering, regularization, droprule, and powerball adabelief[J]. Information Sciences, 2021, 574: 490-504.

 

PyTSK工具包还可以纳入更多的算法。如果您想将您的算法纳入到我们的工具包中,欢迎联系崔博士 yqcui@qq.com,我们将共同开发PyTSK,将其扩展成最新、最有影响力的模糊系统工具包。

You may also like...