뉴런(Neuron) : 인공신경망
뉴런 자체로는 거의 쓸모가 없다. 그러나 동시에 수백개 수천개의 뉴런이 협업하면 큰 효과가 생긴다.
뉴런은 입력신호를 받고 출력을 한다.

여러개의 독립변수로 이루어진 input 값을 뉴런을 통해 출력이 된다. 독립변수는 표준화를 해주어야 한다.
다루고 있는게 한 행이라고 생각하면 된다. 하나의 관측치와 관련된 다른 관측치, 다른 특성, 속성이다.
시냅스: 가중치는 인공신경망에 꼭 필요하다. 가중치를 조정하면서 뉴런이 결정을 내린다.
뉴런 안에는 입력된 모든 값들이 합산이 된다. 모든 입력값의 가중합계는 중요하다. 그리고 활성화 함수를 적용한다. 그걸로 뉴런이 신호에 전달여부를 이해한다. 그리고 뉴런이 다음 뉴런에 신호를 전달한다.
Activation Function 활성화 함수
활성화함수에는 네가지유형이 있다.
1. 한계값 함수
:매우 간단하다. 값이 0보다 작으면 한계값 함수는 0를 전달. 매우 직설적이다.

2. Sigmoid 시그모이드 함수
: x는 가중 합계의 값이다. 로지스틱회귀에서 적용하는 함수. 곡선에 꼬임이 없어서 매끄럽다. 0 아래면 무조건 없는 셈치고, 0 이상이면 1에 가까워진다. 확률을 예측할때 유용하다.

3. Rectifier 정류화 함수
:가장 많이 적용된다. 0까지 가서 0이도되면 거기서부터 입력값이 증가한다

4. Hyperbolic Tangent 하퍼볼릭탄젠트 함수
: 0아래로 내려간다. 값은 0에서 1까지 혹은 대략 1이 되고, 반대쪽은 0에서 -1까지 간다.

입력층의 모든 뉴런은 은닉층 맨위의 뉴런에 연결하는 시냅스가 있다. 그 시냅스에 가중치가 있다.
목표는 비용함수를 최소화하는 것. ŷ과 비교가 끝나면 다시 돌아간다. 가중치를 업데이트하고 조정한다. ŷ과 같아질때까지 계속 똑같은 값을 입력한다.
활성화 함수가 입력되고 비용함수가 바뀌고 그 정보를 다시 신경망에 전달하고 다시 가중치를 조정하는 과정을 반복한다.
- 행이 여러개 있다면?
값을 얻고 실제값과 비교한다. ŷ과의 차이를 기반으로 모든 제곱차이를 합해서 반으로 나눈다. 그럼 전체 비용함수가 나온다. 목표는 돌아가서 가중치를 업데이트하는것. 모든 신경망은 사실 하나의 신경망이다. 가중치는 모든 행에서 동일. 가중치를 공유하는 것. 행이 하나만 있을때 처럼 여러행을 반복한다. (비용함수를 계산하기 위해 비용함수 최소화하고 최종신경망을 찾는다→ 데이터셋을 구성하고 있는 최적의 가중치가 나온다.)
경사하강법 Gradient Descent

경사하강법
: 비용함수가 나와있다. 최적의 옵션을 더빠르게 찾는 방법. 각도를 확인. 특정지점의 기울기가 어느정도인지 알아야한다. 단계별 접근방식. 기울기의 경사를 파악. ex. 산을 내려가면서 경사가 얼만큼인지 멈춰가면서 생각
확률적 경사하강법 Stochastic Gradient Descent
: 비용함수가 볼록할 필요가 없다.
평범한 경사 하강법은 모든 행을 신경망에 연결하고 여기서는 신경망을 여러번 복사해두었지 행들이 연결된 신경망은 매번 똑같은 신경망에 연결된 거라 결국 신경망은 하나 뿐이다.
그리고 행이 입력되면 공식에 따라서 비용 함수를 계산한다. 그리고나서 가중치를 조정한다. 이걸 경사 하강법이라고 부른다.
정확한 명칭으로는 배치 경사 하강법이라고 한다.
확률적 경사하강법은
매 행마다 가중치를 조정하는것. 한번에 한 행만 조정하고 똑같은 과정 반복한다. 더 느릴것 같지만 더 빠르다. 전체데이터 메모리에 넣어서 돌리기 때문에 기다릴 필요가 없는 것이다.

역전파 backpropagation
역전파는 고급 알고리즘이라 정교한 수학으로 작동해서 모든 가중치를 함께 조정한다. 모든 가중치를 개별적으로 조정해야한다. 장점은 역전파 과정동안 알고리즘 구조방식 덕분에 모든 가중치를 동시에 조정할 수 있다.
y와 ŷ과의 오차 또는 제곱 차이의 합이 신경망을 통해 역전파가 되고 가중치가 조정된다.
무차별방식을 사용하지 않는이유? → 최적화할 수 있는 방식이 단하나라면 차원의 저주를 맞닥뜨리기 때문
*차원의 저주: 데이터의 차원이 높아질 수록 알고리즘의 실행이 아주 까다로워지는 일이다.
'데이터 분석일기 > deep learning' 카테고리의 다른 글
TensorFlow vs PyTorch (22) | 2024.01.15 |
---|---|
CNN (1) | 2023.11.11 |
CNN (Convolutional Neural Network) (0) | 2023.10.26 |
Deep Learning 개요 (0) | 2023.10.24 |
Data Preprocessing 개념 (0) | 2023.10.24 |
뉴런(Neuron) : 인공신경망
뉴런 자체로는 거의 쓸모가 없다. 그러나 동시에 수백개 수천개의 뉴런이 협업하면 큰 효과가 생긴다.
뉴런은 입력신호를 받고 출력을 한다.

여러개의 독립변수로 이루어진 input 값을 뉴런을 통해 출력이 된다. 독립변수는 표준화를 해주어야 한다.
다루고 있는게 한 행이라고 생각하면 된다. 하나의 관측치와 관련된 다른 관측치, 다른 특성, 속성이다.
시냅스: 가중치는 인공신경망에 꼭 필요하다. 가중치를 조정하면서 뉴런이 결정을 내린다.
뉴런 안에는 입력된 모든 값들이 합산이 된다. 모든 입력값의 가중합계는 중요하다. 그리고 활성화 함수를 적용한다. 그걸로 뉴런이 신호에 전달여부를 이해한다. 그리고 뉴런이 다음 뉴런에 신호를 전달한다.
Activation Function 활성화 함수
활성화함수에는 네가지유형이 있다.
1. 한계값 함수
:매우 간단하다. 값이 0보다 작으면 한계값 함수는 0를 전달. 매우 직설적이다.

2. Sigmoid 시그모이드 함수
: x는 가중 합계의 값이다. 로지스틱회귀에서 적용하는 함수. 곡선에 꼬임이 없어서 매끄럽다. 0 아래면 무조건 없는 셈치고, 0 이상이면 1에 가까워진다. 확률을 예측할때 유용하다.

3. Rectifier 정류화 함수
:가장 많이 적용된다. 0까지 가서 0이도되면 거기서부터 입력값이 증가한다

4. Hyperbolic Tangent 하퍼볼릭탄젠트 함수
: 0아래로 내려간다. 값은 0에서 1까지 혹은 대략 1이 되고, 반대쪽은 0에서 -1까지 간다.

입력층의 모든 뉴런은 은닉층 맨위의 뉴런에 연결하는 시냅스가 있다. 그 시냅스에 가중치가 있다.
목표는 비용함수를 최소화하는 것. ŷ과 비교가 끝나면 다시 돌아간다. 가중치를 업데이트하고 조정한다. ŷ과 같아질때까지 계속 똑같은 값을 입력한다.
활성화 함수가 입력되고 비용함수가 바뀌고 그 정보를 다시 신경망에 전달하고 다시 가중치를 조정하는 과정을 반복한다.
- 행이 여러개 있다면?
값을 얻고 실제값과 비교한다. ŷ과의 차이를 기반으로 모든 제곱차이를 합해서 반으로 나눈다. 그럼 전체 비용함수가 나온다. 목표는 돌아가서 가중치를 업데이트하는것. 모든 신경망은 사실 하나의 신경망이다. 가중치는 모든 행에서 동일. 가중치를 공유하는 것. 행이 하나만 있을때 처럼 여러행을 반복한다. (비용함수를 계산하기 위해 비용함수 최소화하고 최종신경망을 찾는다→ 데이터셋을 구성하고 있는 최적의 가중치가 나온다.)
경사하강법 Gradient Descent

경사하강법
: 비용함수가 나와있다. 최적의 옵션을 더빠르게 찾는 방법. 각도를 확인. 특정지점의 기울기가 어느정도인지 알아야한다. 단계별 접근방식. 기울기의 경사를 파악. ex. 산을 내려가면서 경사가 얼만큼인지 멈춰가면서 생각
확률적 경사하강법 Stochastic Gradient Descent
: 비용함수가 볼록할 필요가 없다.
평범한 경사 하강법은 모든 행을 신경망에 연결하고 여기서는 신경망을 여러번 복사해두었지 행들이 연결된 신경망은 매번 똑같은 신경망에 연결된 거라 결국 신경망은 하나 뿐이다.
그리고 행이 입력되면 공식에 따라서 비용 함수를 계산한다. 그리고나서 가중치를 조정한다. 이걸 경사 하강법이라고 부른다.
정확한 명칭으로는 배치 경사 하강법이라고 한다.
확률적 경사하강법은
매 행마다 가중치를 조정하는것. 한번에 한 행만 조정하고 똑같은 과정 반복한다. 더 느릴것 같지만 더 빠르다. 전체데이터 메모리에 넣어서 돌리기 때문에 기다릴 필요가 없는 것이다.

역전파 backpropagation
역전파는 고급 알고리즘이라 정교한 수학으로 작동해서 모든 가중치를 함께 조정한다. 모든 가중치를 개별적으로 조정해야한다. 장점은 역전파 과정동안 알고리즘 구조방식 덕분에 모든 가중치를 동시에 조정할 수 있다.
y와 ŷ과의 오차 또는 제곱 차이의 합이 신경망을 통해 역전파가 되고 가중치가 조정된다.
무차별방식을 사용하지 않는이유? → 최적화할 수 있는 방식이 단하나라면 차원의 저주를 맞닥뜨리기 때문
*차원의 저주: 데이터의 차원이 높아질 수록 알고리즘의 실행이 아주 까다로워지는 일이다.
'데이터 분석일기 > deep learning' 카테고리의 다른 글
TensorFlow vs PyTorch (22) | 2024.01.15 |
---|---|
CNN (1) | 2023.11.11 |
CNN (Convolutional Neural Network) (0) | 2023.10.26 |
Deep Learning 개요 (0) | 2023.10.24 |
Data Preprocessing 개념 (0) | 2023.10.24 |