[KT AIVLE 5기 AI트랙] 5주차 회고

pwrwpw·2024년 3월 23일
1

KT AIVLE

목록 보기
7/21

이번주에는 지난주에 배운 머신러닝을 활용한 미니프로젝트 2차가 진행되었습니다.
특히, 월요일과 수요일에 대면으로 진행된 세션에서는 비대면으로 진행된 화요일보다 활발한 의견 교류가 있었다고 느껴졌던 것 같아요

이번 미프때는 공공데이터를 활용해서 하는 프로젝트 였기 때문에 블로그에 써도 괜찮을 것 같아서 다뤄 보려고 합니다!


1일차 미니프로젝트에서는 서울지역의 2022년과 2023년 날씨 및 미세먼지 데이터를 활용하여 미세먼지 농도를 예측하는 머신러닝 모델을 구현해 보았습니다.

사실 이 부분에서는 결측치를 처리하는 부분이 제일 어려웠던 것 같아요.
저는 결측치를 0 또는 중앙값, 평균값 또는 삭제하는 방법으로만 처리를 하려고 생각을 했었는데 발표하는 에이블러 님들을 보니 선형 보간이라는 방법도 있다는 것을 알게 되었던 것 같습니다.

선형보간이란?

결측치가 발생한 위치의 앞뒤 데이터를 사용하여 적절한 값을 추정하는 방법입니다. 선형보간, 시간 보간, 다항 보간 등 다양한 방법이 있으며, 상황에 따라 적절한 방법을 선택해야 합니다.

선형보간법을 활용하면 결측치 처리를 보다 유연하게 할 수 있어요. 데이터의 특성을 잘 파악하고 적절한 방법을 선택하는 것이 중요하겠죠? 파이썬의 interpolate 함수를 활용할 수 있습니다.

하지만, 결측치가 많거나 연속적으로 발생하는 경우에는 실제 값과의 차이가 커질 수 있으니 주의가 필요합니다.


2~3일차 미니프로젝트에서는 장애인 콜택시의 도착 예정시간을 예측하는 모델을 개발하는 것이 목표였습니다.
주어진 가이드라인에 따라 데이터를 추가하고, 범주화 및 가변수화 등의 방법으로 모델을 개발했을 때 모델의 성능이 상당히 좋았습니다.
하지만, 모델을 더 개선하고자 조원들과 상의하여 의미 없어 보였던 데이터를 줄이는 시도를 했으나, 예상과 달리 모델의 성능이 오히려 떨어졌습니다.
이 과정에서 우리가 생각했던 것과 실제 모델 예측에 적용되는 성능 사이에 차이가 있음을 깨달았습니다.

이러한 경험을 통해 한기영 강사님이 강조하셨던 CRISP-DM 방법론의 중요성을 다시 한번 느낄 수 있었습니다.

CRISP-DM(Cross Industry Standard Process for Data Mining) 방법론은 데이터 마이닝 프로젝트를 위한 표준 프로세스 모델로, 비즈니스 이해부터 데이터 이해, 데이터 준비, 모델링, 평가, 배포까지의 단계를 포함합니다.
이 방법론은 데이터 마이닝 프로젝트의 성공을 위해 체계적이고 단계별로 접근하는 것의 중요성을 강조합니다.

이 프로젝트를 통해, 데이터 분석 및 모델링 과정에서 체계적인 접근이 얼마나 중요한지를 실감할 수 있었습니다. 또한, 데이터를 단순히 줄이거나 변형하는 것만으로는 모델의 성능을 개선할 수 없으며, 각 단계에서의 신중한 고려와 평가가 필요함을 깨달았습니다.


딥러닝 이란?

딥 러닝은 머신 러닝의 하위 분야로, 기본적으로 3개 이상의 계층으로 된 신경망입니다. 이러한 신경망은 인간의 뇌의 능력에 한참 못 미치지만 인간의 뇌의 행동을 흉내내어 대량의 데이터로부터 "학습"을 수행합니다.참고

은닉층(히든레이어)란?

은닉층 또는 히든레이어라 부르는 해당 레이어는 입력층과 출력층 사이에 가려져 있다고 해서 은닉층이라고 불립니다. 은닉층을 사용하면 성능이 향상되지만 무조건 과하게 사용한다고 무조건 성능이 향상되는 것은 아닙니다.
만약 레이어를 증가시켜서 성능이 유지가 됐다면 이미 feature를 충분히 추출했다는 것을 의미합니다.

순전파란?

순전파는 신경망에서 입력층에서 출력층으로 신호가 전달되는 과정을 의미한다.
입력값이 네트워크를 통과하여 순방향으로 각 레이어의 뉴런을 거치며 최종 출력을 생성한다.
입력층에서 시작하여 은닉층을 거쳐 출력층으로 이동하는 동안, 각 뉴런은 가중치와 활성화 함수를 통해 입력값을 변환하고 다음 뉴런으로 신호를 전달한다.
순전파는 학습 단계가 아니며, 단순히 입력값을 네트워크에 통과시켜 출력값을 계산하는 과정이다.

역전파란?

역전파는 신경망의 가중치를 조정하여 학습하는 과정을 말한다.
신경망의 출력과 실제 값 사이의 오차를 계산하고, 이 오차를 최소화하기 위해 역방향으로 각 레이어의 가중치를 조정한다.
먼저, 순전파로 입력값을 전달하여 출력을 계산합니다. 그 후, 출력값과 실제값 사이의 오차를 계산한다.
역전파는 이 오차를 거꾸로 전파하여 각 레이어의 가중치를 조정한다.
이 때, 경사 하강법(Gradient Descent)을 사용하여 오차를 최소화하는 방향으로 가중치를 업데이트한다.
이 과정은 역방향으로 진행되기 때문에 '역전파(backward propagation of errors)'라고 불린다.

딥러닝 학습 순서

첫 번째 단계는 가중치 초기값 할당입니다. 이 단계에서는 딥러닝 모델의 기본 구조를 만들고, 모델을 구성하는 각 가중치에 초기값을 할당합니다. 이 초기 모델은 아직 훈련되지 않았기 때문에, 예측 성능은 무작위에 가깝습니다.

두 번째 단계는 모델로 예측하기입니다. 초기 모델을 사용하여 입력 데이터에 대한 예측을 수행합니다. 이때의 예측 결과는 실제 값과 큰 차이가 있을 수 있습니다.

세 번째 단계는 오차 계산입니다. 손실 함수(loss function)를 사용하여 모델의 예측값과 실제값 사이의 오차를 계산합니다. 이 오차는 모델이 얼마나 잘못 예측했는지를 나타내며, 모델 훈련의 핵심적인 지표가 됩니다.

네 번째 단계는 가중치 조절입니다. 계산된 오차를 줄이기 위해, 모델의 가중치를 조금씩 조절합니다. 이 과정에서 최적화 알고리즘(optimizer)이 사용되며, 학습률(learning rate)은 가중치를 얼마나 조절할지를 결정하는 중요한 매개변수입니다.

마지막으로, 다섯 번째 단계는 반복입니다. 위의 과정을 여러 번 반복하며, 각 반복을 에포크(epoch)라고 합니다. 이 반복 과정을 통해 모델은 점차 오차를 줄여나가며, 최종적으로는 입력 데이터에 대한 정확한 예측을 할 수 있게 됩니다.

이렇게 딥러닝 모델은 초기 가중치 할당부터 시작하여 예측, 오차 계산, 가중치 조절, 그리고 이를 반복하는 과정을 통해 점차 최적화되어 갑니다. 이 과정을 통해 모델은 데이터로부터 학습하며, 점점 더 정확한 예측을 할 수 있게 됩니다.


수요일부터는 또 새로운 미니 프로젝트가 기다리고 있는데 뭔가 점점 많은 걸 배우는 거 같아서 요즘 좀 재밌게 지내고 있는 것 같아요!!

오늘 나갔다 와보니 부산은 벚꽃도 곧 필 것 같던데 다들 꽃도 보고 하셨으면 좋겠습니다!!

이번 주에는 알고리즘 스터디 노션만 보여드릴 수 있을 것 같아요 ㅠㅠ.

에이블러님들 이번 주에도 다들 화이팅 입니다!!. ٩(๑>∀<๑)۶

0개의 댓글