激活函数 matlab
时间: 2023-10-19 13:01:53 浏览: 92
神经网络激活函数matlab
在 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. Tanh 函数:
```matlab
function y = tanh(x)
y = (exp(x) - exp(-x)) ./ (exp(x) + exp(-x));
end
```
这些函数可以直接在 MATLAB 中调用,例如:
```matlab
x = linspace(-10, 10, 100);
y_sigmoid = sigmoid(x);
y_relu = relu(x);
y_leakyrelu = leakyrelu(x, 0.01);
y_tanh = tanh(x);
plot(x, y_sigmoid, 'r');
hold on;
plot(x, y_relu, 'g');
plot(x, y_leakyrelu, 'b');
plot(x, y_tanh, 'm');
legend('Sigmoid', 'ReLU', 'Leaky ReLU', 'Tanh');
```
上述代码会绘制这些激活函数在给定范围内的曲线图。
阅读全文