학습 날짜: 2025.09.02 ~ 2025.09.03
AI, ML, DL 기초 개념 정리
1. Legacy System
- 과거에 개발되어 현재까지 사용 중인 오래된 시스템을 의미.
- 유지보수는 가능하지만, 새로운 기술(예: AI, 클라우드)과의 통합에는 한계가 있음.
2. AI ⊃ ML ⊃ DL
- AI(Artificial Intelligence): 인간의 지능적 행동을 모방하려는 모든 시도
- ML(Machine Learning): 데이터를 기반으로 컴퓨터가 스스로 학습하도록 하는 방법
- DL(Deep Learning): 인공신경망을 기반으로 한 머신러닝의 한 분야
3. Rule-Based System

- 특징
- 프로그래머가 명시적으로 작성한 규칙만으로 문제 해결
- 잘 정의된, 논리적인 문제 해결에 적합
- 한계
- 현실의 문제는 복잡하고 모호하며 다양한 경우의 수 존재
- 모든 규칙을 만들 수 없고, 규칙이 많다고 해서 모든 문제 해결이 가능하지 않음
⇒ 이러한 한계로 인해 1980년대에 머신러닝이 등장
4. Machine Learning (ML)

- 정의
- 방대한 데이터를 바탕으로 기계가 스스로 학습하도록 하는 연구 분야
- Tom Mitchell의 정의(1997)
" 어떤 작업 T(Task)에 대한 프로그램의 성능을 P(Performance measure)로 측정했을 때,
경험 E(Experience)을 통해 성능이 향상되었다면,
그 프로그램은 T와 P에 대해 E로부터 학습한 것이다."
- 데이터 마이닝
- 대량의 데이터를 기반으로 머신러닝 알고리즘을 통해 학습시키면 보이지 않던 새로운 패턴 발견 가능
- 새로운 지식 창출 및 의사결정 지원
- 한계
- 만능은 아님: 세상의 모든 문제를 머신러닝으로 해결할 수는 없음
- 데이터 의존성: 데이터의 양과 질이 모델 성능을 좌우
- 리소스 부담: 데이터 수집·준비에 많은 시간과 비용 필요
- 기업의 다크 데이터
- 활용되지 못한 상태로 저장되어 있어, 내용 또는 가치가 확인되지 않는 데이터
- 어떤 데이터가 저장되어 있는지 정보 부족
- 데이터 관리에 대한 전략 부재
5. Deep Learning (DL)
- 역사
- 인공신경망(1943): 뇌를 모델링하려는 아이디어
- 퍼셉트론(1957): 뇌의 뉴런을 모방한 모델 (입력 신호 → 0 또는 1 출력)
- 생물의 뇌: 뉴런들이 다층 연결
- 인공신경망: 퍼셉트론의 다층 연결
- 개념
- DNN(Deep Neural Network): 인공신경망을 깊게 쌓은 구조
- Deep Learning: DNN을 가리키는 용어 (마케팅적으로 확산된 이름)
- 특징
- 층을 깊게 쌓을수록 복잡한 문제 해결 가능
- 하위 층에서 학습한 특징을 조합 → 더 높은 차원의 문제 해결
머신러닝의 유형

1. 지도학습
- 정답 라벨이 주어진 상태에서 학습하는 방식
- 라벨이 붙여진 데이터셋을 학습시켜, 신규 데이터의 라벨을 찾아내는 방법
- 세부 유형
- 분류 (Classification): 결과가 범주형(categorical) → ex) 스팸/정상, 고양이/개
- 회귀 (Regression): 결과가 연속형(continuous) → ex) 주택 가격 예측, 온도 예측
2. 비지도학습
- 정답 라벨이 없는 데이터 기반으로 학습하는 방식
- 데이터 사이의 관계나 유사성을 기반으로 군집별 패턴을 찾아내는 방식
- 세부 유형
- 군집화 (Clustering): 유사한 데이터끼리 그룹화 aka 땅따먹기 → ex) 고객 유형 분류
- 차원 축소 (Dimensionality Reduction): 데이터 특성을 줄여 학습·시각화 효율 개선 → ex) PCA, t-SNE
3. 준지도 학습
- 라벨이 있는 데이터와 라벨이 없는 데이터를 모두 사용하여 학습하는 방식
4. 강화학습
- 보상을 기반으로 시행착오를 거쳐 최적의 행동 전략 학습
- ex) 알파고, 로봇 제어 등
머신러닝의 주요 프로세스
1. 문제 정의
- 해결하려는 문제를 명확히 정의
- 문제 성격과 데이터 특성에 따라 적절한 알고리즘 선정이 핵심
2. 데이터 수집 단계
- 학습과 검증에 사용할 데이터를 수집하는 단계
- 학습·검증에 사용할 데이터를 충분히 수집해야 함
- 대표성 있고 고품질의 데이터 확보가 중요
- 데이터셋 분할 방식
- Train (훈련 데이터): 모델 학습에 사용
- Validation (검증 데이터): 학습 중 모델 성능을 평가하고 개선 지표로 활용
- Test (테스트 데이터): 최종 성능 평가에 사용
- 일반적으로 Train/Test 또는 Train/Validation/Test로 분할 ⇒ 홀드아웃 교차검증(Hold-out Cross Validation)
- 왜 데이터를 분할해야 할까?
- 학습 데이터와 검증 데이터가 같으면, 마치 기출문제만 공부해서 그대로 시험에 나오는 상황과 같음.
- 이 경우 모델은 훈련 문제는 잘 맞추지만, 새로운 문제(신규 데이터)에서는 성능이 보장되지 않음.
- 따라서 검증·테스트용 데이터를 따로 분리하여, 모델의 실제 일반화 능력을 확인하는 것이 필수!
3. 데이터 전처리
- 데이터 품질을 결정하는 중요한 단계, 데이터를 정제하는 과정
- 주요 작업
- 결측값 처리
- 이상값 처리
- 데이터 정제 (Data Cleaning)
- 동일한 정보를 일관되게 표현하도록 수정
- 예: "십오평" → 15, "1.5(단위: 10평)" → 15
- 데이터 스케일링 (Scaling/Normalization)
- 수치형 변수들의 크기·범위를 조정
- Z-score 표준화, Min-Max 정규화
- 데이터 인코딩 (Encoding)
- 범주형 변수를 수치형으로 변환
- One-hot encoding, Label encoding
- 데이터 라벨링 (Labeling): 지도학습에는 반드시 정답 라벨(y값)이 필요하기 때문
- 비정형데이터: 다양한 전처리 작업이 선행됨
- 특징
- 전처리 단계가 가장 오래 걸리고 까다로운 과정
- 도메인 지식과 데이터에 대한 이해가 필수
- 좋은 전처리가 곧 좋은 모델 성능으로 이어짐
4. 특징 추출(Feature Engineering)
- 개념
- Feature: 독립변수 = attribute, 특성, 속성 → 모델에 학습시킬 데이터의 특성
- Class: 종속변수 = label, target, 정답, 결정 → 모델을 통해 판단 또는 예측하고자 하는 정답 값
👉 Feature가 많다고 좋은 모델은 아님. 문제를 가장 잘 설명하는 핵심 변수를 골라내는 과정이 필요.
👉 도메인 지식을 활용해 새로운 변수를 생성할 수도 있음 (변수 생성/파생변수).
- 종류
- 특징 선택 (Feature Selection)
- 불필요하거나 영향력이 낮은 변수를 제거
- 기법
- 상관분석, SFS(Sequential Feature Selection)
- Lasso, Ridge: 불필요 변수 가중치를 줄여 영향력을 제거 (주로 금융데이터에서 활용)
예) 가중치 = 0.2 → 0.00000001
- 특징 추출 (Feature Extraction)
- 원래 변수들을 조합·변환해 새로운 변수 생성
- 예: PCA(주성분분석)로 차원 축소
- 특징 학습 (Feature Learning): 모델이 자동으로 특징을 학습 (딥러닝 등)
- 특징 변환 (Feature Transformation)
- 단위 변환: Z-score 표준화, Min-Max 정규화, log 변환(when 정규성 x)
- 범주형에서 수치형으로 변환: One-hot encoding(ML) = Dummy coding(variable)(통계)
- 특징 선택 (Feature Selection)
- 특징
- 실제 현업에서는 전처리와 특징 추출이 혼용되지만, 이론적으로는 전처리 후에 진행
- 잘 설계된 Feature는 모델 성능을 크게 향상시킴
5. 학습과 검증
- Epoch (에포크)
- 정의: 전체 학습 데이터를 1회 학습하는 단위
- 예: 데이터가 10,000개일 때 → 1 Epoch = 10,000개 모두 학습
- Epoch마다 검증(validation)을 수행하여, 학습과 동시에 현재 성능을 평가 ⇒ 학습 - 평가를 반복
- 검증 (Validation)
- 학습에 노출된 적 없는 검증 데이터 셋을 사용하여 검증
- 모델의 일반화 능력을 확인하는 과정
- 문제 특성에 따라 다양한 검증 지표가 존재
- 분류: 정확도, 정밀도, 재현률,
AUC Score(분류 모델의 종합적 성능 지표, 실무에서 가장 많이 활용) - 회귀: MSE, MAE
- 분류: 정확도, 정밀도, 재현률,
- 데이터셋 분할 이유
- Train / Validation / Test로 나누는 이유 = 모델 성능을 일반화하기 위해서
- 학습 데이터와 검증 데이터가 같다면, 기출문제만 보고 시험 보는 것과 같음 → 실제 실력을 검증 불가
- 새로운 데이터(Test)로 시험을 쳐야 진짜 성능을 확인할 수 있음
- 성능 관련 개념
- 과적합(Overfitting): 학습 데이터에는 잘 맞지만 새로운 데이터에는 성능이 떨어짐
- 과소적합(Underfitting): 학습 데이터조차 잘 학습하지 못한 상태
- 일반화: 두 극단의 중간, 즉 새로운 데이터에도 안정적으로 동작하는 상태

'LG U+ Why Not SW Camp 8기 > 학습 로그' 카테고리의 다른 글
| 공부 일지 #30 | 머신러닝 전처리: 과대적합·과소적합, 인코딩, 스케일링 (0) | 2025.09.07 |
|---|---|
| 공부 일지 #29 | 머신러닝 경험해보기: KNN 알고리즘 (0) | 2025.09.05 |
| 공부 일지 #27 | 통계 및 실습: 회귀(복습), 로지스틱회귀 (1) | 2025.09.02 |
| 공부 일지 #26 | 통계 및 실습: 상관, 회귀 (4) | 2025.08.26 |
| 공부 일지 #25 | 추론과 검정 정리: 추정, 가설검정, t-test, ANOVA, 카이제곱 (4) | 2025.08.24 |