forked from TheAlgorithms/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbipolar_binary_step.py
35 lines (23 loc) · 933 Bytes
/
bipolar_binary_step.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
This script demonstrates the implementation of the Bipolar Binary Step function.
It's an activation function in which the neuron outputs 1 if the input is positive
or 0, else outputs -1 if the input is negative.
It's a simple activation function which is mentioned in this wikipedia article:
https://en.wikipedia.org/wiki/Activation_function
"""
import numpy as np
def bipolar_binary_step(vector: np.ndarray) -> np.ndarray:
"""
Implements the binary step function
Parameters:
vector (ndarray): A vector that consists of numeric values
Returns:
vector (ndarray): Input vector after applying binary step function
>>> vector = np.array([-1.2, 0, 2, 1.45, -3.7, 0.3])
>>> bipolar_binary_step(vector) # doctest: +NORMALIZE_WHITESPACE
array([-1, 1, 1, 1, -1, 1])
"""
return np.where(vector >= 0, 1, -1)
if __name__ == "__main__":
import doctest
doctest.testmod()