ABOUT ME

Today
Yesterday
Total
  • 활성화 함수 - 계단 함수 (Step function) 란?
    Deep Learning (DL) 2022. 10. 29. 01:57

     

     

    활성화 함수(Activation function)

    활성화 함수는 가중 합의 출력 값이 입력되었을 때, 그대로 출력 하지 않고

    값을 증폭 시키거나, 감소 시키는 등 얼마 만큼의 신호로 출력 할 지 정해주는 함수이다.

     

     

    활성화 함수는

    크게 4가지 종류가 있다.

     

    1. 계단 함수 ( Step function )

    입력 값이 임계값을 넘기면 1, 그렇지 않으면 0 을 출력하는 함수이다.

    주로,

    생물체의 전기적인 신호를 보낸다=1, 보내지 않는다=0 의 형태로 대화하기 때문에

    이를 모사하기 위하여 계단 함수가 고안되었다.

    임계값이란?

    귀무가설 하 검정 통계량의 분포에서

    귀무가설을 기각해야 하는 의 집합을 정의하는 점 이다.

    이 집합은 임계 또는 기각 영역이라고 한다.

     

    (예시 이미지의 그래프 에서는 임계값이 0 으로 주어져 있다.)

    Step function

     

    위 그래프를 토대로 출력 값(==가중 합 == 0.5)을 입력 해 보면,

    1 이 출력 됨을 알 수 있다.

     

    코드 예시

    ###python 코드
    # 필요한 패키지를 import 해줍니다.
    import numpy as np
    import matplotlib.pyplot as plt 
    import math 
    
    # 입력할 샘플 데이터를 만들고 확인합니다. 
    x = np.array([-1, 1, 2])
    print("input : ", x)
    
    # 입력 값이 임계값(0)을 넘기는지 판단합니다.
    y = x>0
    print("Logic : ", y)
    
    # 논리(boolean)형태를 정수형으로 바꾸어 01로 나타냅니다.
    y = y.astype(np.int)
    print("Boolean : ", y)
    
    >>> input :  [-1  1  2]
    >>> Logic :  [False  True  True]
    >>> Boolean :  [0 1 1]
    
    
    ### 함수
    def step_function(x):
      return np.array(x>0, dtype=np.int)
      
    # 함수가 제대로 만들어 졌는지 값을 출력해봅니다.
    print(step_function(-1))	# 0
    print(step_function(0.5))	# 1
    print(step_function(500000))	# 1
    
    # 구현한 계단 함수의 값을 바탕으로 그래프를 그려봅시다.
    x = np.linspace(-1, 1, 100)
    plt.step(x, step_function(x)) 
    plt.show()

    step function

     

    댓글

Designed by Tistory.