1. 다차원 배열
💡다차원 배열은 여러 개의 차원을 가진 배열로, 2차원 이상의 배열을 의미한다. 인공지능에서는 주로 행렬
(matrix) 또는 텐서(Tensor)라는 용어를 사용한다
💡또한, 딥러닝에서 자주 다루는 이미지 처리 문제와 관련할 때도 보통 4차원 텐서로 이미지 데이터를 표현한다

행렬의 내적
다차원 행렬의 내적 복습하기!!
https://dscience26.tistory.com/43
03. numpy [연산]
💡NumPy는 배열 간의 산술 연산을 지원하며, 이는 벡터화되어 빠르게 수행된다. 배열 간 연산은 기본적으로 원소별(element-wise) 연산을 수행한다. 사칙연산arr_a = np.arange(1, 10).reshape(3, 3)arr_b
dscience26.tistory.com
2. 출력층 활성화 함수
- 세 가지 함수를 주로 사용하는 이유
- 문제 유형에 최적화
- 항등 함수 (Identity Function): 회귀 문제에서, 연속적인 값을 그대로 출력할 때 적합하다.
- 시그모이드 함수 (Sigmoid Function): 이진 분류나 다중 레이블 분류에서, 각 클래스의 존재 확률을 0과 1 사이로 표현할 때 유용하다.
- 소프트맥스 함수 (Softmax Function): 다중 클래스 분류에서, 각 클래스에 대한 예측 확률 분포를 생성하기 위해 사용된다.
- 미분 가능성 및 학습의 안정성
- 세 함수 모두 미분 가능하여 역전파(backpropagation) 알고리즘에 적합하다.
- 문제 유형에 따라 적절한 함수 선택이 학습의 수렴과 안정성을 보장한다.
- 수학적, 실무적 검증
- 각 함수는 해당 문제에 대해 오랜 연구와 실제 적용에서 최적의 성능을 보임으로써 표준으로 자리 잡았다.
- 문제 유형에 최적화
01. 항등함수
- 항등 함수(Identity Function)는 입력 값을 그대로 출력하는 함수이다.

def identity_function(x):
return x
x = np.array([1.0, 2.0, 3.0])
print(identity_function(x))
02. 시그모이드 함수
- 시그모이드 함수 (Sigmoid Function)는 이진 분류나 다중 레이블 분류 문제에서 주로 사용되는 활성화 함수이다.
- 이진 분류 문제에서 출력층에 시그모이드 함수를 적용하면, 각 뉴런의 출력이 특정 클래스에 속할 확률로 해석되며, 다중 레이블 분류에서도 각 레이블에 대한 존재 여부를 예측할 수 있다.
def sigmoid(x):
return 1 / (1 + np.exp(-x))
x = np.array([0.0, 2.0, -1.0])
print(sigmoid(x))
03. 소프트맥스 함수
- 소프트맥스(Softmax) 함수는 분류 문제에서 출력층에서 사용되는 활성화 함수이다.

def softmax(x):
exp_x = np.exp(x)
return exp_x / np.sum(exp_x)
x = np.array([2.0, 1.0, 0.1])
print(softmax(x))
⭐ 소프트맥스 함수 구현 시 주의점!
- 소프트맥스 함수는 지수 연산을 포함하기 때문에 오버플로우(Overflow) 문제가 발생할 수 있다.
- 이를 방지하기 위해 입력에서 최대값을 빼는 기법을 적용한다.
출력층의 뉴런 수
- 출력층의 뉴런 수는 해결하려는 문제에 따라 결정된다.
- 회귀 문제: 1개 (연속된 값 출력)
- 이진 분류: 1개 또는 2개 (시그모이드 사용 시 1개, 소프트맥스 사용 시 2개)
- 다중 클래스 분류: 클래스 개수와 동일한 뉴런 개수 (소프트맥스 사용)
'SKN > 06. Deep Learning' 카테고리의 다른 글
| 01. 퍼셉트론 / 활성화 함수 (0) | 2025.03.18 |
|---|