[아티클 스터디] '머신러닝' 기초 지식 톺아보기
아티클 링크
https://yozm.wishket.com/magazine/detail/2611/
- 머신러닝을 이해하고 활용할 수 있는 역량이
개발자의 경쟁력을 높이는 핵심 요소가 될 가능성이 높음!
1. 머신러닝의 기본 개념
1) 머신러닝이란?
- 머신러닝(Machine-Learning) : 컴퓨터가 데이터로부터 패턴을 학습하여, 명시적인 프로그래밍이 없이 어떤 예측이나 분류 작업을 수행하는 것
- 훈련 데이터를 학습하여 새로운 데이터에 관한 결과를 도출
2) 인공지능, 머신러닝, 딥러닝 개념 정리
- 인공지능 : 인간의 지능을 모방하는 기술을 통칭
- 머신러닝 : 인공지능을 구현하는 방법론 중 하나
- 딥러닝 : 머신러닝의 한 종류, 인공 신경망을 기반으로 한 심층 학습 기술로 전통적인 머신러닝 기법에 비해 대규모의 데이터를 처리 및 이미지와 음성 인식, 자연어 처리 등에서 널리 사용
2. 머신러닝의 분류와 유형
1) 지도학습(Supervised Learning)
-
레이블(Label)이 있는 훈련 데이터를 사용하여 모델을 학습 시크는 방법
-
입력 데이터와 출력 데이터를 모델에 제공하여 입력 데이터와 정답 간의 관계를 학습시키는 것
-
이를 통해 새로운 데이터에 대해 정답을 예측 가능
-
지도학습이 다루는 문제 유형 : 분류, 회귀
- 분류 : 입력 데이터를 미리 정의된 범주 중 하나로 분류
- 회귀 : 연속적인 값을 예측
2) 비지도학습(Unsupervised Learning)
-
레이블이 없는 데이터를 사용하여 데이터에 내재된 구조나 패턴을 발견하는 방법
-
알고리즘이 스스로 데이터의 특성을 파악하고, 유의미한 그룹이나 표현을 발견
-
비지도학습이 다루는 문제 유형 : 클러스터링, 차원 축소
- 클러스터링 : 유사한 특성을 가진 데이터들을 그룹화
- 차원 축소 : 고차원을 저차원으로 차원을 축소 ( 예: 주성분 분석 등 )
3) 강화학습(Reinforcement Learning)
- 에이전트(Agent)가 환경(Environment)과 상호작용 하면서 보상(Reward)을 최대화하는 방향으로 학습하는 머신러닝
- 에이전트 : 행동을 수행하는 주체로 사람 대신 업무를 처리하는 일종의 인공지능
- 관찰, 행동을 수행며 보상(또는 페널티)를 부여
- 게임 AI, 로봇 제어, 자율 주행 등의 분야에서 활용
3. 머신러닝 개발 프로세스
1) 데이터 수집 및 전처리
- 문제 정의가 완료된 후 데이터 수집 및 전처리로 시작
- 데이터 전처리 : 수집된 데이터를 해결하고자 하는 문제를 풀수있도록 정제하는 것
- 학습 데이터와 검증 데이터, 테스트 데이터로 분할, 결측값 처리, 이상치 제거, 스케일링, 정규화 및 증강 등의 작업 수행
2) 모델 선택 및 학습
- 전처리가 완료되면 적절한 머신러닝 알고리즘을 선택
- 해결하고자 하는 방향과 데이터의 종류에 따른 모델이 달라질 수 있음
- 선형 회귀, 로지스틱 회귀, 의사결정트리 등이 존재하며, 학습 데이터로 학습시켜 모델을 생성
- 모델 생성 후 하이퍼 파라미터 조정을 통해 성능 최적화를 진행
3) 모델 평가 및 검증
- 모델 학습이 완료 후 성능을 평가하는 검증 단계
- 분류 문제의 경우 : 정확도, 정밀도, 재현도, F1 Score 등의 평가 지표 사용
- 회귀 문제일 경우 : MSE, RMSE, MAE, R제곱 등을 지표를 사용
4) 모델 배포와 유지보수
- 검증된 모델을 실제 환경에 배포하고 운영하는 단계
- 모델의 성능을 지속적으로 모니터링하고, 새로운 데이터에 대한 예측 품질을 관리
- 이후 필요에 따라 데이터 수집 및 전처리 작업과 학습을 다시 진행하면서 모델 업데이트
4. 머신러닝 활용 사례
1) 추천 시스템 개발
- 사용자의 행동 데이터를 학습하여 개인 맞춤형 제품이나 서비스를 제안하는 시스템
- 온라인 쇼핑, 스트리밍 서비스, 소셜 미디어 플랫폼 등에서 사용
- 소규모 : 지도 방식 학습 / 대규모 : 클러스터링 or 딥러닝
2) 이상 탐지 및 부정행위 감지
- 데이터에서 비정상적인 패턴을 식별하고 경고를 발생시키는 머신러닝 기술
- 신용카드 거래 내역, 네트워크 침입 탐지, 제조 공정에서 불량품 탐지 등에 활용
3) 자연어 처리와 감성 분석
- 머신러닝이 활용되는 가장 중요한 분야 중 하나로, 문서 분류, 기계 번역, 문장 요약 등의 작업
- 대화영 AI 시스템, 챗봇, 가성 어시스턴트 등에서 활용
4) 컴퓨터 비전과 이미지 인식
- 딥러닝 기술을 통한 이미지와 동영상 데이터 인식 및 인식한 데이터에서 유의미한 정보를 추출
- 의료 영상 진단, 자율 주행 차량, 스마트 감시 시스탬, 증강 현실 등 다양한 분야에서 활용
5. 마치며
- Python에서 머신러닝을 활용하기 위한 라이브러리는 Tensorflow와 PyTorch와 같은 것이 있으며, 각종 통계와 수학, 데이터 처리 방법 등을 배워야 한다.
6. 느낀점
- 이전에 배웠던 머신러닝 강의의 간략한 요약본 느낌으로 앞으로 진행할 프로젝트 전 개념 숙지하기 좋다고 생각한다.
- 머신러닝은 인공 지능의 방법론 중 하나로 현재 다양하게 활용되고 있다.
- 데이터 분석에서 머신러닝은 어떻게 사용되는지 확인하고, 해당 방법들에 찾을 필요가 있다.
- 매출 예상 : 선형 회귀를 통한 예측
- 고객 집단 분류 : 클러스터링 + RFM 분류
- 지금 데이터 분석가에게 Python과 머신러닝은 필수는 아니지만 성장하고 싶고,
앞으로 미래를 위한다면 필수적으로 머신러닝을 활용할 수 있어야 한다고 생각한다.