반응형

전체 글 164

Markov Reward Process

개념 설명 return -> 리워드의 감가삼각을 적용하여 합친 것 ex) Reward 4개가 있다면 4가지 행동들에 대해서 일어날수 있는 확률들과 보상값들의 평균적인 보상이 value function -> + 감가삼각까지 고려 *s= state value function을 정의했으면 판단지표가 설정이 된건데 밸류펑션을 직접적으로 정의를 하는것이 bellman Equation s -> s` (위의 그림은 이전스테이트에서 다음스테이트의 관계식을 설명하는 식, state transition matrix)

Deep Learning 2022.05.15

강화학습 (Reinforcement Learning)

강화학습이란 -> 어떤 환경안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법 supervised learning -> 답을 알려주고 모델 학습을 시키고 이후에 인퍼런스를 하는구조 unsupervised learning -> 라벨이 없지만 데이터의 특징을 스스로 분석을해서 군집을 나누는 구조 Reinforement learning -> 데이터들은 이미 확보가 되어있고 그것을 분석하는 과정으로 지속적으로 변하는 환경에대해 옳은 결정이면 + 옳지않으면 - 와 같은 reward 시스템 즉 어떠한 action에 대해 Rule을 스스로 만들어 가는 과정이라고 생각하면 됨 강화학습의 예시 -> 쥐가 지렛대를 통해 먹이를 먹는 과정으로 함수를..

Deep Learning 2022.05.13

검증지표 개념 이해하기

- 검증지표 문제해결 검증지표와 알고리즘 검증지표 단계로 나눠서 생각해봐야함 - 1.문제 해결 검증지표 -> 문제를 잘 풀었는지 평가하기 위한 기준 - 입력 : ~무한대 ~ 무한대 범위의 연속형 값 - 출력 : 이론적으론 0 ~ 무한대 범위의 연속형 값 Regression : MSE ,MSPE,RMSLE,MAE,MPE,R^2,adjusted R^2 classification : logloss, crossentropy, roc ,auc ,gini ranking : gain ,lift,mrr,dcg,ndcg NLP Metrics :perplexity,BLEU score 현실문제 : 어떤 메트릭을 써야할지 지표를 만들어야하는 경우가 더 많음 2. 알고리즘 검증지표 -> 어떤 알고리즘이 더 성능이 좋은지 평가하..

Machine Learning 2022.03.29

Airflow 기초

Airflow 사용 이유 데이터 엔지니어링에선 데이터 ETL(Extract, Transform, Load) 과정을 통해 데이터를 가공하며 적재함 머신러닝 분야에서도 모델 학습용 데이터 전처리, Train, Prediction시 사용 가능 위와 같은 경우 여러개의 Sequential한 로직(앞의 output이 뒤의 input이 되는)이 존재하는데 이런 로직들을 한번에 관리해야 함 관리할 로직이 적다면 CRON + 서버에 직접 접속해 디버깅 하는 방식으로 사용할 수 있지만, 점점 관리할 태스크들이 많아지면 헷갈리는 경우가 생김 이런 Workflow Management 도구는 airflow 외에도 하둡 에코시스템에 우지(oozie), luigi 같은 솔루션이 있음 DAG 생성 DAG 생성하는 흐름 (1) de..

DevOps study 2022.01.11

디자인 패턴 5 리프레이밍

3.1 디자인 패턴5 : 리프레이밍 (Reframing) 머신러닝 문제의 출력 표현을 바꾸는 방식으로 회귀 문제로 보이는 문제를 분류 문제로 전환하거나 분류 문제를 회귀 문제로 전환하는 등의 방식 3.1.1 문제 어느 지역의 강우량을 예측하는 머신러닝 모델을 만든다고 가정했을 때 이것은 회귀인가? 일단 과거부터 현재까지의 기후와 날씨 패턴이 주어진 상황에서 이후 15분의 강우량을 예측하는 문제라면 이것은 시계열 문제로 취급하는 것이 적당하다 달리 생각해보면 강우량이라는 라벨은 수치에 해당하므로 회귀 모델로도 만들 수 있기도 한데 날씨 예측이라는 것은 하다보면 상당히 난해하고 어려운 모델이라는 것을 깨닫게 되는데 예를들면 같은 강우량이라도 시간대에따라 0.3cm , 0.5cm 이런식으로 강우량이 달라질 수..

시계열 데이터 - (one step ahead cross validation)

빈도(Frequency): 계절성 패턴(Seasonality)이 나타나기 전까지의 데이터 갯수로 사람이 정해야 함 Frequency 설정 이점 : 데이터의 시간차원중에서 사람이 지웠거나 실수로 빠졌거나 한 것들을 체크해줌 -> 빠진 것들을 NAN 설정 예시: 계설성이 1년에 1회 나타날 경우, Datafrequency Annual 1 Quarterly 4 Monthly 12 Weekly 52 예시: 데이터가 "일(Day)" 단위로 수집된 경우, Seasonalityfrequency Weekly 7 Annual 365 예시: 데이터가 "분(Minute)" 단위로 수집된 경우, Seasonalityfrequency Hourly 60 Daily 24 x 60 Weekly 24 x 60 x 7 Annual 24..

Time Series Model 2021.07.16

시계열 분석 (Time Series)

시계열 분석을 할 때는 트렌드를 고려해야하는데 이때 행해지는 것이 데이터의 정상성 판단 -> 정상성을 유지하기 위해서는 차분이 필요 : 차분의 필요를 알기 위해서는 디키 풀러테스트로 실험할 수 있다 * 정리 시계열 분석 :(ARIMA) 1. Trend (급상승) 같은 것들이 있는지 파악 2. 파악을 위해서는 dickey fuller test를 실시 -> pvalue를 보고 0.05 이하인지 시계열 안정성 파악 3. 데이터가 정상성을 갖도록 전처리를 함(1차 차분) 4. 단순 증감은 한번의 차분 좀 더 복잡하면 그 이상 차분 시행 5. 그래프를 그려서 PACF ,ACF Peak 의 갯수로 AR차수와 MA차수 결정 -> ex) ARIMA(p,차분횟수,q) 6. 기간별로 train test 나눠서 ARIMA ..

Time Series Model 2021.07.16

불량 타이어 검출을 위한 CNN 모델 개발 및 PYQT(EXE 실행 프로그램) 배포 프로젝트

Project 타이어 정상/불량 판정 자동화를 위한 이미지 처리 + 설비 내장 가능한 서비스 구현 프로젝트 관련 설명 1. 딥러닝 모델 개발 다음과 같은 최적의 딥러닝 모델을 구하기 위해 30여번의 실험을 진행 대략적인 코드는 다음과 같다 CNN 모델 최적화 과정을 간단하게 정리하자면 1. 먼저 data를 argumentaion 진행 (코드1, 이미지를 증폭, 변화를 주어 모델 적용 -> 보통 데이터 부족 할 때 사용) 2. 각각의 이미지에 대해 폴더별로 labeling( 정상 /비정상) 3. 이후 일반적인 딥러닝 모델을 정의한다 ( 지금 같은경우는 Vggnet 을 기본으로잡고 거기서 변화를 주고 실험) 4. 정의된 모델을 테스트 해가며 accuracy를 확인하고 이 과정에서 val acc set의 과적..

Project & Kaggle 2021.06.21

Collaborative Filtering

* 협업 필터링 (Collaborative Filtering) 협업 필터링은 어떤 특정한 인물 A가 한가지 이슈에 관해서 인물 B와 같은 의견을 갖는다면 다른 이슈에 대해서도 비슷한 의견을 가질 확률이 높을 것 Memory-based 협업 필터링의 추천 시스템은 유사도를 기반으로 동작 Movie Lense Dataset 1. ratings.dat 2. movies.dat -> 위의 두가지의 데이터셋을 통해 Rating Matrix를 만드는 것이 목표 Object : 특정 시간 이전에 시청했던 영화들을 통해 앞으로 어떤 영화를 볼 지 예측하는 것 user = 7명 (u) 영화 = 5개 (i) 7*5=35개의 총 평가지표(유저 x 아이템) ->1번 유저가 보지않은 2번과 5번 등 아직 빈칸이 있는 곳을 예측..

지니 계수 (Gini Coefficient)

지니 계수 * 어떤값의 분배 상태를 표현하기 위해 로렌츠 곡선을 이용하여 값의 분배 정도를 수치화 하는 방법 -> 보통 경제적 불평등을 계수화 한 것이라 표현 -> 머신러닝에서는 Decision Tree model의 성능 평가를 하는데 사용 Gini index =A/(A+B) 코드 구현의 예시 def gini(list_of_values): sorted_list = sorted(list_of_values) height, area = 0, 0 for value in sorted_list: height += value area += height - value / 2. fair_area = height * len(list_of_values) / 2. return (fair_area - area) / fair_a..

Machine Learning 2021.06.04

AWS - RDBMS 생성 기초

AWS 클라우드 내에서 pyspark 및 아파치 스파크 사용을 위한 기초 단계로 먼저 AWS를 익혀보면서 DB를 핸들링 해보자 * AWS - RDBMS 생성하기 us-east-2.console.aws.amazon.com/console/home?region=us-east-2# https://us-east-2.console.aws.amazon.com/console/home?region=us-east-2 us-east-2.console.aws.amazon.com 1. 위의 URL 로 들어가 AWS 가입 후 로그인 가입 이후 왼쪽 상단에 있는 서비스를 클릭하여 -> RDS 서비스 선택 및 생성 docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/CHAP_Tutorial..

BigQuery 2021.04.19

Word2VeC (Cbow , Skip-gram)

* Sparse Representation 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법 -> 희소표현 -> 이것은 각 단어간 유사성을 표현 할 수 없음 그래서 나온 것이 단어의 '의미'를 다차원 공간에 벡터화하는 방법인 분산표현이 나옴 이렇게 분산 표현을 이용하여 단어의 유사도를 벡터화하는 작업 -> 워드 임베딩(embedding) * 분산 표현(Distributed Representation) 기본적으로 분포 가설(distributional hypothesis)이라는 가정 하에 만들어진 표현 방법 -> '비슷한 위치에서 등장하는 단어들은 비슷한 의미를 가진다'라는 가정 분포 가설에 따라서 저런 내용을 가진 텍스트를 벡터화한다면 저 단어들은 의미적으로 가까운 단어가 되고 원핫이 아..

Deep Learning 2021.04.14

BERT의 학습 원리 및 transferlearning

BERT : Pre-training of Deep Bidirectional Trnasformers for Language Understanding 구글에서 개발한 NLP(자연어처리) pre-trained model 로 모든 자연어 처리 분야에서 좋은 성능을 내는 범용 language model 2. 데이터가 충분히 많다면 Embedding이 성능에 큰 영향을 미치는데- 임베딩이 잘 된 단어들이 훈련과정에서 당연히 좋은 성능을 낼 수 밖에없음 3. 데이터의 전처리 임베딩을 Word2Vec, GloVe, Fasttext 방식을 많이 사용했지만, 요즘의 고성능을 내는 대부분의 모델에서 BERT를 많이 사용 4.기존 단방향성 모델은 성능 향상, 문맥 파악에 한계점이 존재했었고, 이를 해결하기 위해 Bert는 양..

Deep Learning 2021.04.14
반응형
반응형