1) 정형, 반정형, 비정형 데이터
정형
표 형태로 표현되며 고정된 스키마를 가진다. 고객 데이터 베이스라면 고객 이름, 주소, 전화번호, 이메일과 같은 고정된 필드가 있음.
비정형
구조가 없거나 매우 제한적인 구조를 가지는 데이터. 텍스트, 이미지, 오디오, 비디오 형태. 예를 들면 트위터의 트윗, 의료 이미지 등.
반정형
구조가 명확하게 정의되지 않았으나 일부 구조화 된 정보가 있음. XML, JSON, HTML등과 같은 마크업 언어를 사용된 데이터 형태
2) 실시간 데이터
스트리밍 데이터
데이터를 실시간으로 분석하고 수행해야 하는 데이터. 시간이 지나면서 변경되며 새로운 데이터가 계속 이전 데이터에 추가됨.
IoT 데이터
금융 거래 데이터는 실시간으로 처리되어야 하며 시장 조건에 따라 신속한 결정을 내려야 한다.
지연이 발생하지 않아야 함.
작은 Edge Devide에서 수집되는 경우가 많음.
3. 데이터 저장과 관리
데이터 저장소
DBMS - 구조화된 데이터. MySQL, PostgreSQL.
NoSQL Database - 정형 데이터 외에도 반정형 및 비정형 데이터를 저장하고 관리할 수 있음. MongoDB, Redis.
Data Warehouse - 다양한 데이터 원본에서 데이터를 추출. 주로 정형 데이터 중심. 구조화된 데이터를 저장하고 분석.
Data Lake - 다양한 비구조화 데이터를 저장하는 시스템. 스키마의 유연성을 제공함. AWS S3 bucket.
https://www.databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
데이터 버전 관리
데이터 변경 이력을 추적하고 이전 상태로 롤백할 수 있게 하는 프로세스
데이터의 무결성과 안정성을 보장하며, 잘못된 변경으로 인한 문제를 예방
Git-LFS 등. Feature store는 Feature(Data 가공된 버전)의 버전 관리를 지원.
4. 데이터 품질과 보안
데이터 품질
데이터 품질은 데이터가 정확하고 신뢰할 수 있는지는 나타냄
낮은 데이터 품질은 잘못된 분석 및 결정을 초래할 수 있으며, 비즈니스 프로세스에 영향을 미칠 수 있음.
데이터 보안
데이터를 무단 변조, 유출 되는 것에 대한 보호. 데이터 보안 정책을 개발하고 직원 교육 및 보안 솔루션을 구현하여 데이터 보호를 강화해야 함.
4가지의 데이터 유형을 인지한 상태에서 최대한 자동화 한 것이 MLOps에 포함된다.
1) Data Sampling이란?
큰 데이터 집합에서 작은 부분 집합을 추출하는 프로세스.
목적: 1. 자원 및 시간 절약 2. 품질 향상 3. 통계적 추론 4. 데이터 시각화 5. 데이터 테스트
2) Data Sampling 종류
Random Sampling, Stratified Sampling, Cluster Sampling
Weight Sampling - 데이터 포인트에 가중치를 할당. 중요한 데이터를 더 자주 선택함. 불균형 데이터 분포르르 가진 경우 잘 활용됨.
Importance Sampling - 확률 분포에 기반한 통계 샘플링. 베이지안, 몬테 카를로 시뮬레이션, 결합 확률 분포 추정 등.
3) Data Sampling 고려 사항
편향과 오차 관리
특정 데이터 세트에 대한 과소 또는 과대 표현이 일어나지 않도록 Sampling 선정.
무작위성에 의한 변동이 많지 않도록 Sampling 선정. 샘플 크기 및 신뢰 수준.
1) Labelling이란
특정 객체에 의미를 부여하는 프로세스.
2) Data Labelling - Image, text, audio. 의료 영상 데이터 라벨링, 텍스트 분류 라벨링, 자율주행 차량 라벨링 등
3) Data Labeling 예시
4) Supervised 학습과 Labeling - 라벨링 된 데이터를 활용해서 데이터 패턴을 학습. Infringing/Irrelevant categorisation 라벨링에 대한 데이터 패턴을 학습하도록 하기.
5) Semi-Supervised Learning - 일부 데이터만 라벨링이 됨.
6) Self-Supervised Learning
Learning 방법론
1. Auto Encoder - 입력 데이터를 압축하고 다시 복원하는 아키텍처. 엔코더와 디콬더로 구성됨. 압축하고 복원하는 과정에서 정보를 학습하는 것. 압축된 부분을 다른 모델에 활용하기도 함.
2. Masked Language Model - 일부 단어를 가리고 해당 단어를 예측하는 Task 활용. 모델은 문맥을 이해하고 숨겨진 단어를 예측하기 위해 단어 간의 관계를 학습. NLP에 많이 사용 됨.
3. Constrastive Learning - 모델에게 유사한 데이터는 가깝게, 다른 데이터는 멀게 표현하도록 학습하는 방법. 모델이 데이터간의 유사성을 학습하여 서로 다른 예제를 구분하는 방법.
3. 이걸 알아두면 나중에 DS가 될 사람이 배경지식에 대해서 배울 수 있고 현업에서 뭘 업무할때 도움이 된다는 개소리를 듣는걸 보면 역시 개소리를 잘하는 사람이 얼굴에 철판을 깔고 뭔가를 할 수가 있다.
모델 학습 유형
Transfer Learning - 이미지 분류: 사전 훈련된 ResNet, VGG 모델을 의료 이미지 분류나 식물 종류 분류에 활용.
자연어 처리: GPT와 같은 모델에 자체적인 문서 분류, 감정 분석에 활용.
Fine tuning
Online Learning & Batch Learning
Model (Training/Evaluation/Tuning/Selection/Ensembles) (0) | 2023.11.29 |
---|---|
[패스트 캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 (실습1) (0) | 2023.11.27 |
[패스트 캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 (2) (1) | 2023.11.25 |
[패스트 캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 (1) (0) | 2023.11.25 |
[SQL] Programmers (1) | 2023.11.11 |