以下仅为猜测,不代表本人立场,看看就好
ANFIS是类神经网络的一种
先介绍类神经Neural Netwrok
基本上你可以把他看成神经元架构
input neuron output
Wmd Zm Wkm
Xd O—————O—————O Yk
╲ W1d / ╲ W1m /
. ╲ / ╲ /
. ╳ ╳
. / ╲ / ╲
/ Wm1 ╲ / Wk1 ╲
X1 O—————O—————O Y1
W11 Z1 W11
其中input维度为d维,资料n笔
神经元为一个activation function,扮演着非线性的角色
所以类神经网络是非线性架构
通常是logistic sigmoid function,但是我想在ANFIS是fuzzy logistic
其中神经元可以说代表你的变量数目
越多的神经元,所需要的资料要越多笔,所以不是越多越好
因为未知参数会越多,成了ill-postd problem
Generate FIS就是在产生你的神经元数目,和神经元的function型态
在training的过程中,主要是求W系数
forward propagation的training过程中,系数是从前面算到后面
要花的时间比较久
所以以back propagation的training方式为主,系数从后面算到前面
input每一次都会依照output与target所计算出的error functin调整参数
资料有n笔,n笔喂完之后叫做一个epochs
所以epochs是设定你要重复做几次
training好之后,就可以喂testing资料点,不用包含output
checking是让你作valdiation用的,看哪一种hypothesis的model最好
所以也要给output好作评估
这个模型是regression model
但是你的问题是像classification
举例来说
你今天是举手还是抬腿
举手是1
抬腿是0
你算出来是0.5,请问是抬半只加不举吗
你必须再利用softmax转成classification
问题应该迎刃而解
※ 引述《jenny920218 (jenny)》之铭言:
: 最近做专题实在卡关很久了
: 有些问题实在想不通想请教大家
: 我想要用六个部位肌电讯号的数据判读目前在做什么动作
: 每个部位的肌电讯号取300个数据
: 所以总共的input是6*300
: 然后需要判读的动作有六个(假设为ABCDEF)
: 我目前想先用anfisedit做初步的判断
: 原本的想法是假设第一组数据所输出的结果是A
: 那我给的training data为7*300(六组input 一组output)
: (我的想法是,假设output (1*300)输出的值为 1 时为动作A)
: 输出的值为 2 时为动作B以此类推
: 那我给的checking data要如何设定
: 再输入checking data的时候也要给output
: 不过我不是很清楚为什么
: 希望可以帮忙解答
: 谢谢