기록 블로그

전체 글 73

07/19 73일차 확률 기초 | 분포

확률 주요 메모 사항 강의 난이도 급상승으로 어지러워져서 이제 강의보다 이력서에 집중하고자 한다... 확률 머신 러닝(Machine Learning)에서 확률(probability)은 불확실성을 모델링하는 데 사용되는 중요한 개념 확률은 어떤 사건이 발생할 가능성을 수치화하는데 사용되며, 머신 러닝에서는 데이터를 확률적으로 모델링하여 패턴을 학습하고 예측하는 데 사용 확률 기초 확률은 어떤 사건이 일어날 가능성을 숫자로 나타내는 개념 - 사건이 발생할 확률은 0부터 1까지의 값을 가지며, 0은 사건이 절대로 일어나지 않을 확률을 의미하고, 1은 사건이 반드시 발생할 확률을 의미 - 0과 1 사이의 값은 사건이 발생할 가능성의 정도를 나타냄 ㄴ 예를 들어, 0.5는 사건이 발생할 가능성이 50%라는 의미 ..

07/18 72일차 머신러닝을 위한 기초 선형대수

선형대수 기초 주요 메모 사항 선형대수의 기본 개념 선형대수는 수학의 한 분야로, 벡터와 행렬을 다루는 대수적인 개념과 기법을 연구 1.1 벡터 (Vector) 벡터는 크기와 방향을 가지는 양을 나타내는 개념입니다. 2차원 벡터는 평면상의 위치를, 3차원 벡터는 공간상의 위치를 표현하는 데 사용됩니다. 기호로는 보통 소문자로, 굵은 화살표로 표시합니다. 1.2 행렬 (Matrix) 행렬은 2차원 배열로 구성된 숫자들의 집합입니다. 데이터를 구조화하거나 선형 변환을 표현하는 데에 사용됩니다. 기호로는 보통 대문자로 표시합니다. 1.3 벡터 공간 (Vector Space) 벡터 공간은 벡터들의 집합으로, 일정한 선형 조건(덧셈과 스칼라 곱)을 만족하는 공간을 의미합니다. 이는 추상적인 개념으로, 선형대수의 ..

07/17 71일차 머신러닝 기초

머신러닝 기초 개념 주요 메모 사항 머신러닝이란? Machine Learning (기계학습) - 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘 연구 학습데이터 ㄴ 입력벡터들: x1 ,…,xN (xi는 i번째 행에 해당) ㄴ 목표값들: t1 ,…,tN 머신러닝 알고리즘의 결과는 목표값을 예측하는 함수 y(x) ㄴ y(x1 ) ~ t1 ㄴ y(x2 ) ~ t2 - array x가 숫자 이미지를 어두운 정도를 int로 표현 - 숫자 0을 인지 하기 위한 목표 t는 0이 됨 핵심개념들 - 학습단계 (training/learning phase): 함수 y(x)를 학습데이터에 기반해 결정하는 단계 - 테스트 데이터셋: 모델을 평가하기 위해서 사용하는 별도의 데이터 - 일반화 (generalization): 모델에서..

07/14 70일차 Spark Streaming

Spark Streaming 주요 메모 사항 Spark Streaming 소개 Spark 3.0의 구성 - Spark Core - Spark SQL - Spark ML - Spark MLlib - Spark Streaming - Spark GraphX Spark Streaming이란? - 실시간 데이터 스트림 처리를 위한 Spark API - Kafka, Kinesis, Flume, TCP 소켓 등의 다양한 소스에서 발생하는 데이터 처리 가능 - Join, Map, Reduce, Window와 같은 고급 함수 사용 가능 Spark Streaming 동작방식 1. 데이터를 마이크로 배치로 처리 2. 계속해서 위의 과정을 반복 (루프) 3. 이렇게 읽은 데이터를 앞서 읽은 데이터에 머지 (새로 데이터를 만들..

07/13 69일차 Kafka CLI, Topic, Consumer, ksqlDB

CLI, Topic, Consumer, ksqlDB 주요 메모 사항 Kafka Client Tool Kafka CLI Tools 접근 방법 docker ps를 통해 Broker의 Container ID 혹은 Container 이름 파악 해당 컨테이너로 로그인 ㄴ $ docker exec -it Broker_Container_ID sh 거기서 다양한 kafka 관련 클라이언트 툴을 사용 가능 ㄴ kafka-topics ㄴ kafka-configs ㄴ kafka-console-consumer ㄴ kafka-console-producer docker 컨테이너 접속 kafka1의 이름을 가진 컨테이너가 Broker kafka-topics $ kafka-topics --bootstrap-server kafka1:..

07/12 68일차 Kafka

Kafka 주요 메모 사항 Kafka 소개 Kafka란 무엇인가? - 실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼 ㄴ 데이터 재생이 가능한 분산 커밋 로그 (Distributed Commit Log) - Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템 ㄴ Producer-Consumer - High Throughput과 Low Latency 실시간 데이터 처리에 맞게 구현됨 - 분산 아키텍처를 따르기 때문에 Scale Out이란 형태로 스케일 가능 ㄴ 서버 추가를 통해 Scalability 달성 (서버 = Broker) - 정해진 보유기한 (retention period) 동안 메시지를 저장 기존 메시징 시스템 및 ..

07/11 67일차 Udemy의 데이터 처리

Udemy 데이터 처리 주요 메모 사항 Udemy 데이터팀 빌딩 2014년 8월 데이터 엔지니어링팀 처음 빌딩 -데이터 웨어하우스 도입 (Redshift) - ETL 프로세스 개발 ㄴ 처음에는 crontab으로 관리하다가 Pinterest의 Pinball로 이전 ㄴ 파이썬을 기본 개발 언어로 사용, 지금은 Airflow 사용 ㄴ 처음에는 데이터 복사만 하다가 점차 중요 프로세스 개발도 시작 ㄴ B2B 강사 보수 계산 (소비율에 따라 나눠줌) ㄴ 중요 파이프라인의 경우 SLA (Service Level Agreement) 설정하고 지표로 계산 - 데이터 소스 추가 요청을 받는 슬랙 채널 개설 - 백엔드/프런트엔드 엔지니어링팀과 다양한 협업 시작 ㄴ Incremental Update를 하기위해 프로덕션 DB..

07/10 66일차 스트리밍 데이터

실시간 데이터 처리 kafka 주요 메모 사항 데이터 처리의 발전 단계 데이터 처리의 일반적인 단계 데이터 수집 (Data Collection) 데이터 저장 (Data Storage) 데이터 처리 (Data Processing) ㄴ 이 과정에서 서비스 효율을 높이거나 의사결정을 더 과학적으로 하게 됨 데이터 저장 시스템의 변천 데이터 처리의 고도화 - 처음에는 배치로 시작 ㄴ 이 경우 처리할 수 있는 데이터의 양이 중요 - 서비스가 고도화되면 점점더 실시간 처리 요구가 생기기 시작함 ㄴ Realtime 처리 vs. Semi Realtime 처리 ㄴ 동일 데이터 소비가 필요한 케이스 증가: 다수의 데이터 소비자 등장 처리량(Throughput) vs. 지연시간(Latency) 처리량 : 주어진 단위 시간 ..

07/07 65일차 Spark EMR과 Spark 요약

클라우드 Spark 서비스 주요 메모 사항 AWS에서 Spark을 실행하려면? EMR (Elastic MapReduce) 위에서 실행하는 것이 일반적 EMR이란? AWS의 Hadoop 서비스 (On-demand Hadoop) ㄴ Hadoop (YARN), Spark, Hive, Notebook 등등이 설치되어 제공되는 서비스 EC2 서버들을 worker node로 사용하고 S3를 HDFS로 사용 AWS 내의 다른 서비스들과 연동이 쉬움 (Kinesis, DynamoDB, Redshift, …) Spark on EMR 실행 및 사용 과정 1. AWS의 EMR (Elastic MapReduce - 하둡) 클러스터 생성 2. EMR 생성시 Spark을 실행 (옵션으로 선택) ㄴ S3를 기본 파일 시스템으로 사..