여러가지공부/머신러닝(Machine Learning)

[머신러닝] 인공 신경망이란?(ANN, Artificial Neural Network), 예제 풀이(Example)

끄적끄적아무거나 2023. 3. 4. 10:18
반응형

 

목차

     

     

    해당 포스트(Machine Learning)는 유투브 혁펜하임의 강의 내용을 듣고 제 생각대로 정리한 내용이라 틀린 내용이 있을 수 도 있습니다.

     

     

     

     

    인공 신경망(ANN, Artificial Neural Network)이란?

     

     

    그림1

     

     

    위와 같이 몸무게 데이터와 수명과의 관계알려주는 데이터를 그림1과 같이 모았습니다. 이때 몸무게 데이터는 x값으로 그리고 수명 데이터는 y 데이터로 표기 해줍니다. 

     

     

    이를 선형대수학의 행렬(Matrix)과 벡터(Vector)로 표현하면 아래와 같습니다. 

     

    수식1

     

    수식2

     

     

     

    최종적으로 Loss 함수를 최소화(https://scribblinganything.tistory.com/670) 하는 x벡터 값을 찾는 것이 머신 러닝의 모델링 방법인 것입니다.  그리고 수식2와 같이 a, b 변수를 찾는 선형식이기 때문에 선형회기(Linear Regression)이라고 합니다. 

     

     

     

     

    그림2

     

    그림2는 ANN 신경망의 하나의 뉴런만을 표기한 그림입니다. 수식1과 같이 선형식이 그림2과 같이 표현된 것입니다. 앞서 수식1에서는 a, b 값을 찾는 것이지만 그림2에서는 wj, wk 값을 찾는 것입니다.

     

     

     

    여기서 i 값은 Layer를 의미하는 번호로 뉴런들이 여러개가 연결되서 최종적으로 결과물을 찾을 때 몇번째 Layer(계층)이었는지를 알려 줍니다. j,k의 의미는 앞서 수식1처럼 파라미터가 a, b만 있을 경우 2개면 되지만 여러개일 경우 j, k 이외에 여러개를 표기하기 위해 사용했습니다. wj, wk 값은 아래 Loss 함수 또는 Cost 함수라고 불리는 값을 최소로 만들어주는 값을 찾는 것입니다. 

     

     

     

    수식3

     

    인공신경망이란 그림2와 같은 뉴런이 사람의 신경과 같이 여러개의 계층으로 이루어져 있고 최적의 결과를 도출하는 파라미터를 찾는 것이 목표입니다. 그리고 파라미터는 선형 회기와 동일 방법으로 찾아가는 것입니다. 

     

     

     

     

     

     

     

     

    인공 신경망(ANN, Artificial Neural Network) 예제 풀이#1

     

    수식4

     

    수식4와 같은 형태의 데이터 x와 y를 가지고 있을 때 ANN으로 표기를 해보겠습니다. 

     

     

    수식5

     

    선형대수학식으로 행렬과 벡터로 수식4를 수식5와 같이 표기 할 수 있습니다. a, b 변수에 대해 선형이기 때문에 선형 대수학을 사용할 수 있는 것입니다. 

     

     

    그림3

     

    수식5를 인공 신경망으로 표기하면 그림3과 같이 표현이 가능합니다.

     

     

     

     

     

     

     

     

     

     

    인공 신경망(ANN, Artificial Neural Network) 예제 풀이#2

     

    수식6

     

    수식6은 a, b가 선형(Linear)이 아닙니다. 그래서 수식6과 같은 경우는 선형식으로 변형시킬 필요가 있습니다. 

     

     

    수식7

    수식6에 ln 로그를 처리하면 수식7과 같이 나옵니다. 

     

    수식8

    ln(a)를 위와 같이 새로운 변수 a로 만들면 수식7은 선형식으로 처리할 수 있게 됩니다.

     

    행렬과 벡터로 표현하면 아래와 같습니다. 

     

     

     

     

    반응형