神经网络激活函数 matlab
时间: 2023-09-14 08:08:34 浏览: 219
神经网络激活函数.pdf
在神经网络中,常见的激活函数有sigmoid函数、ReLU函数、Leaky ReLU函数和softmax函数等。以下是在MATLAB中实现这些激活函数的示例代码:
1. Sigmoid函数:
```matlab
function y = sigmoid(x)
y = 1 ./ (1 + exp(-x));
end
```
2. ReLU函数:
```matlab
function y = relu(x)
y = max(0, x);
end
```
3. Leaky ReLU函数:
```matlab
function y = leakyrelu(x, alpha)
y = max(alpha*x, x);
end
```
其中,alpha是一个小于1的参数,用于控制负数部分的斜率。
4. Softmax函数:
```matlab
function y = softmax(x)
ex = exp(x);
sum_ex = sum(ex);
y = ex ./ sum_ex;
end
```
以上代码中,softmax函数接收一个向量作为输入,并返回一个与输入向量维度相同的概率分布向量。
在神经网络中,通常会在每个神经元的输出上应用激活函数。例如,在MATLAB中定义一个具有两个隐藏层和一个输出层的神经网络,其中使用ReLU激活函数:
```matlab
net = feedforwardnet([10, 5]); % 创建一个具有10个神经元的第一个隐藏层和5个神经元的第二个隐藏层的前馈神经网络
net.layers{1}.transferFcn = 'relu'; % 设置第一个隐藏层的激活函数为ReLU
net.layers{2}.transferFcn = 'relu'; % 设置第二个隐藏层的激活函数为ReLU
net.layers{3}.transferFcn = 'purelin'; % 设置输出层的激活函数为线性函数
```
在这个例子中,我们使用`feedforwardnet`函数创建了一个前馈神经网络,然后通过修改`net.layers`中每个隐藏层和输出层的`transferFcn`属性,指定了相应的激活函数。
希望这些示例能帮助到你在MATLAB中实现神经网络中常见的激活函数。
阅读全文