단계별로 추진하고자 하는 목표를 명확히 정의하고, 선/후해 ㅇ단계를 고려해 단계별 추진내용을 정렬한다.
(2) 분석 로드맵 단계
데이터 분석 체계 도입
추진과제
분석 기회 발굴, 분석 과제 정의, 로드맵 수립
추진목표
비즈니스 약점이 무엇인지 식별, 분석 과제를 정의하고 로드맵 수립
데이터 분석 유효성 검증
추진과제
분석 알고리즘 설계, 아키텍처 설계, 분석 과제 파일럿 수행
추진목표
분석 과제에 대한 파일럿 수행, 유효성/타당성 검증, 기술 실현 가능성을 검증, 분석 알고리즘 및 아키텍처 설계
데이터 분석 확산 및 고도화
추진과제
변화관리, 시스템 구축, 유관 시스템 고도화
추진목표
검증된 분석 과제를 업무 프로세스에 내재화하기 위한 변화관리 실시, 빅데이터 분석/활용 시스템 구축 및 유관시스템을 고도화
2) 분석 문제 정의
(1) 분석 문제의 의미
'과제'는 처리해야 할 문제(이슈)이며, '분석'은 과제와 관련된 현상이나 원인, 해결방안에 대한 자료를 수집 및 분석하여 의사 결정에 활용하는 활동
문제라는 것은 기대 상태와 현재 상태를 동일한 수준으로 맞추는 과정
이 과정에서 제약 조건을 파악하고, 잠재원인을 진단하고 관련된 데이터를 수집, 가공, 분석하는 활동을 수행한다.
하향식 접근 방식과 상향식 접근 방식을 반복적으로 수행하면서 상호 보완하여 분석과제를 발굴
과제 발굴 이후 '분석 과제 정의서' 산출물을 작성
(2) 하향식 접근 방식
Top Down Approach (하향식 접근 방식) 개념
하향식 접근 방식은 분석 과제가 정해져 있고 이에 대한 해법을 찾기 위해 체계적으로 분석하는 방법
하향식 접근 방식을 이용한 과제 발굴 절차
문제 탐색
문제 정의
해결방안 탐색
타당성 검토 과정
(3) 상향식 접근 방식
Bottom Up Approach (상향식 접근 방식) 개념
문제 정의 자체가 어려운 경우 데이터를 기반으로 문제를 지속적으로 개선하는 방식
기존 하향식 접근법의 한계를 극복하기 위한 분석 방법론으로써 "디자인 사고" 접근법을 사용하여 객관적인 데이터 그 자체를 관찰하고 실제적으로 행동에 옮겨 대상을 이해하는 방식을 적용한다
상향식 접근 방식 특징
비지도 학습 방법 사용
데이터 자체의 결합, 연관성, 유사성 등을 중심으로 데이터의 상태 분석
장바구니 분석, 군집 분석, 기술 통계, 프로파일링 등의 기술을 사용
프로토타이핑 접근법 사용
시행착오를 통한 문제 해결을 위해 사용
가설의 생성(Hypotheses), 디자인에 대한 실험(Design Experiments), 실제 환경에서의 테스트(Test), 테스트 결과에서의 통찰(Insight) 도출 및 가설 확인의 프로세스로 실행
(4) 대상별 분석 기획 유형
분석의 대상(What)
Known
Un-Known
분석의 방법 (How)
Known
Optimization
Insight
Un-Known
Solution
Discovery
대상별 분석 기획 유형
최적화(Optimization)
개선을 통한 최적화 형태로 분석을 수행
솔루션(Solution)
해당 분석 주제에 대한 솔루션을 찾아냄
통찰(Insight)
새로운 지식인 통찰을 도출
발견(Discovery)
분석의 대상 자체를 새롭게 도출
(5) 데이터 분석 과제 추진 시 고려해야 하는 우선순위 평가 기준
빅데이터 분석 과제 추진 시 고려해야 하는 우선순위 평가 기준은 시급성과 난이도가 있음
시급성
목표 가치와 전략적 중요도에 부합하는지에 따른 시급성이 가장 중요한 기준임
시급성의 판단 기준은 전략적 중요도가 핵심사항
분석 과제의 목표 가치와 전략적 중요도를 현재의 관점에서 둘 것인지, 미래의 관점에 둘 것인지를 함께 고려하여 시급성 여부 판단 필요
난이도
현재 기업의 분석 수준과 데이터를 생성, 저장, 가공, 분석하는 비용을 고려한 난이도는 중요한 기준
난이도는 현시점에서 과제를 추진하는 것이 범위 측면과 적용 비용 측면에서 바로 적용하기 쉬운 것인지 또는 어려운 것인지에 대한 판단 기준으로 데이터 분석의 적합성 여부의 기준이 됨
우선순위 선정 기준을 토대로 난이도 또는 시급성을 고려하여 분석 과제를 4가지 유형으로 구분하여 분석 과제의 적용 우선순위 결정
우선순위 선정 기준을 토대로 난이도 또는 시급성을 고려하여 분석과제를 4가지 유형으로 구분하여 분석 과제의 적용 우선순위 결정
사분면 영역에서 가장 우선적인 분석 과제 적용이 필요한 영역은 3사분면이다.
전략적 중요도가 현재 시점에는 상대적으로 낮은 편이지만 중장기적으로는 경영에 미치는 영향도가 높고, 분석 과제를 바로 적용하기 어려워 우선순위가 낮은 영역은 2사분면이다.
분석 과제의 적용 우선순위 기준을 '시급성'에 둔다면 3사분면 $\rightarrow$ 4사분면 $\rightarrow$ 2사분면 영역 순이며, 우선순위 기준을 '난이도'에 둔다면 3사분면 $\rightarrow$ 1사분면 $\rightarrow$ 2사분면 영역 순으로 의사결정 가능
3) 데이터 분석 방안
(1) 빅데이터 분석 방법론 개념
빅데이터를 분석하기 위해 문제를 정의하고 답을 도출하기 위한 체계적인 절차와 처리 방법
데이터 분석 방법론의 구성요소에는 절차, 방법, 도구와 기법, 템플릿과 산출물이 존재
(2) 빅데이터 분석 방법론 계층
단계(Phase)
프로세스 그룹을 통하여 완성된 단계별 산출물이 생성, 기준선으로 설정 관리하며, 버전 관리 등을 통한 통제
태스크(Task)
단계를 구성하는 단위 활동, 물리적 또는 논리적 단위로 품질 검토의 항목이 될 수 있음
스탭(Step)
입력자료(Input), 처리 및 도구(Process & Tool), 출력자료(Output)로 구성된 단위 프로세스(Unit Process)
(3) 빅데이터 분석 방법론의 분석 절차
분석 기획
비즈니스 이해 및 범위 설정
프로젝트 정의 및 계획 수립
프로젝트 위험 계획 수립
데이터 준비
필요 데이터 정의
데이터 스토어 설계
데이터 수집 및 정합성 검증
데이터 분석
분석용 데이터 준비
텍스트 분석
탐색적 분석(EDA)
모델링
모델 평가 및 검증
모델 적용 및 운영 방안 수립
시스템 구현
설계 및 구현
시스템 테스트 및 운영
평가 및 전개
모델 발전 계획 수립
프로젝트 평가 보고
(4) 분석 방법론 유형
KDD 분석 방법론(Knowledge Discovery in Databases)
1996년 Fayyad가 프로파일링 기술을 기반으로 통계적 패턴이나 지식을 찾기 위해 체계적으로 정리한 방법론
절차
데이터 세트 선택
데이터 전처리
데이터 변환
데이터 마이닝
데이터 마이닝 결과 평가
CRISP-DM 분석 방법론
개념
비즈니스의 이해를 바탕으로 데이터 분석 목적의 6단계로 진행되는 데이터 마이닝 방법론
1996년 유럽연합의 ESPRIT 프로젝트에서 시작한 방법론으로 1997년 SPSS 등이 참여하였으나 현재에는 중단
방법론 구성
단계(Phase) : 최상위 레벨
일반화 태스크(Generic Tasks) : 데이터 마이닝의 단일 프로세스를 완전하게 수행하는 단위, 각 단계는 일반화 태스크 포함
세분화 태스크(Specialized Tasks) : 일반화 태스크를 구체적으로 수행하는 레벨
프로세스 실행(Process Instances) : 데이터 마이닝을 위한 구체적인 실행
분석 절차
업무 이해
데이터 이해
데이터 준비
모델링
평가
전개
SEMMA 분석 방법론
분석 솔루션 업체 SAS가 주도한 통계 중심의 5단계(샘플링 $\rightarrow$ 탐색 $\rightarrow$ 수정 $\rightarrow$ 모델링 $\rightarrow$ 검증) 방법론이다.
분석 절차
샘플링
탐색
수정
모델링
검증
2. 분석 작업 계획
1) 데이터 확보 계획
빅데이터 분석 목적 달성을 위해 데이터 특성에 맞는 수집 방법을 선정
(1) 데이터 획득 방안 수립
내외부의 다양한 시스템으로부터 정형/비정형/반정형 데이터를 수집하기 위한 구체적인 방안 수립
내부 데이터 획득에는 부서 간 업무협조와 개인정보보호 및 정보보안과 관련된 문제점을 사전에 점검하고, 외부 데이터 획득은 시스템 간 다양한 인터페이스 및 법적인 문제점을 고려하여 상세한 데이터 획득 계획을 수립
(2) 데이터 확보 계획 수립 절차
데이터 확보 계획 수립 절차
목표 정의
성과 목표 정의, 성과 지표 설정
요구사항 도출
데이터 및 기술 지원 등과 관련된 요구사항 도출
예산안 수립
자원 및 예산 수립
계획 수립
인력 투입 방안, 일정 관리, 위험 및 품질관리
2) 분석 절차 및 작업 계획
(1) 빅데이터 분석 절차
분석 절차
문제 인식
연구조사
모형화
자료 수집
자료 분석
분석 결과 공유
(2) 빅데이터 분석 작업 WBS 설정
WBS 설정
데이터 분석 과제 정의
분석 목표 정의서를 기준으로 프로젝트 전체 일정에 맞게 사전 준비를 하는 단계
단계별 필요 산출물, 주요 보고 시기 등으로 구분하여 세부 단위별 일정과 전체 일정이 예측될 수 있도록 일정을 수립
데이터 준비 및 탐색
데이터 처리 엔지니어와 데이터 분석가의 역할을 구분하여 세부 일정이 만들어지는 단계
분석 목표 정의서에 기재된 내용을 중심으로 데이터 처리 엔지니어가 필요 데이터를 수집하고 정리하는 일정 수립
데이터 분석가가 분석에 필요한 데이터들로부터 변수 후보를 탐색하고 최종적으로 도출하는 일정 수립
데이터 분석 모델링 및 검증
데이터 준비 및 탐색이 완료된 이후 데이터 분석 가설이 증명된 내용을 중심으로 데이터 분석 모델링을 진행하는 단계
데이터 분석 모델링 과정에 대해서는 실험방법 및 절차를 구분
기획하고 검증하는 내용에 대해 자세한 일정을 수립
산출물 정리
데이터 분석 단계별 산출물을 정리하고, 분석 모델링 과정에서 개발된 분석 스크립트 등을 정리하여 최종 산출물로 정리하는 단계
텍스트의 Sparse vector 표현, 소위 bag-of-words model은 NLP에서 오랜 역사를 가지고 있습니다. word embeddings의 조밀한 벡터 표현은 2001년에 사용되었습니다. Mikolov et al. 에 의해 2013년에 제안된 hidden layer를 제거함으로써 목표를 근사화하고 이러한 word embeddings를 더 효율적으로 학습하도록 만들었습니다.
이런 변경은 간단했지만 효율적인 word2vec 구현과 함께 word embeddings에 대한 large-scale 학습이 가능하도록 하였습니다.
Word2Vec은 CBOW(Continuous Bag-of Word)와 Skip-gram의 두 가지로 나누어집니다.
이 두 가지는 목적이 다름으로써 차이점이 발생합니다.
1. CBOW
- 주변 단어를 기반으로 중심 단어를 예측
2. Skip-gram
- 중심단어를 기반으로 주변 단어를 예측
이러한 embeddings들은 a feed-forward neural network와 개념적으로 다르지 않지만 매우 큰 말뭉치에 대한 훈련을 통해 성별, 동사 시제, 국가-자본 관계 등을 포착할 수 있습니다.
이러한 관계와 그 이면의 의미는 word embedding에 대한 관심을 촉발시켰고, 많은 연구에서 이러한 선형 관계의 기원을 조사하였습니다. (Arora et al., 2016; Mimno & Thompson, 2017; Antoniak & Mimno, 2018; Wendlandt et al., 2018)
현재의 NLP에서 word embeddings을 강화한 것은 사전 훈련된 embeddings을 초기화로 사용했을 때 광범위한 downstream tasks에서 성능이 향상된다는 점입니다.
word2vec은 직관적이고 마법적인 특정을 가지고 있지만 이후 연구에 따르면 본질적으로 특별한 것은 없다는 사실이 밝혀졌습니다. word embeddings은 matrix factorization을 통해 학습을 할 수도 있습니다.(Pennington et al, 2014; Levy & Goldberg, 2014)
그리고 적절한 튜닝을 통해 SVD 및 LSA와 같은 고전적인 matrix factorization 접근법과 유사한 결과를 얻을 수도 있습니다.(Levy et al., 2015)
그 이후로word embeddings의 다양한 측면을 탐색하기 위해많은 연구가 진행되었습니다.
nlp의 많은 발전에도 불구하고 word2vec은 여전히 인기 있는 선택이며 많이 사용되고 있습니다. 또한, Word2vec의 범위는 단어 수준을 넘어서까지 확장되었습니다. negative sampling을 적용한 skip-gram, local context를 기반으로 한 embeddings 학습, 문장 표현을 학습(Mikolov & Le, 2014; Kiros et al., 2015), NLP를 넘어선 networks(Grover & Leskovec, 2016), biological sequences(Asgari & Mofrad, 2015).
특히 흥미로운 방향 중 하나는 다른 언어의 word embeddings을 동일한 공간에 투영하여(zero-shot) 언어 간 전송을 가능하게 하는 것입니다. 완전한 비지도 방법으로 (유사한 언어의 한해서) 좋은 투영법을 배우는 것이 점점 가능해지고 있으며, 이는low-resource 언어 및 비지도 기계 번역에 대한 애플리케이션을 엽니다.(Lample et al., 2018; Artetxe et al., 2018)
해당 내용은 사실과 다를 수 있습니다.
정정이 필요한 부분은 댓글로 작성 부탁드립니다. ( 혹은 reference추천도 감사합니다. )
텍스트의 Sparse vector 표현, 소위 bag-of-words model은 NLP에서 오랜 역사를 가지고 있습니다. word embeddings의 조밀한 벡터 표현은 2001년에 사용되었습니다. Mikolov et al. 에 의해 2013년에 제안된 hidden layer를 제거함으로써 목표를 근사화하고 이러한 word embeddings를 더 효율적으로 학습하도록 만들었습니다.
이런 변경은 간단했지만 효율적인 word2vec 구현과 함께 word embeddings에 대한 large-scale 학습이 가능하도록 하였습니다.
Word2Vec은 CBOW(Continuous Bag-of Word)와 Skip-gram의 두 가지로 나누어집니다.
이 두 가지는 목적이 다름으로써 차이점이 발생합니다.
1. CBOW
- 주변 단어를 기반으로 중심 단어를 예측
2. Skip-gram
- 중심단어를 기반으로 주변 단어를 예측
이러한 embeddings들은 a feed-forward neural network와 개념적으로 다르지 않지만 매우 큰 말뭉치에 대한 훈련을 통해 성별, 동사 시제, 국가-자본 관계 등을 포착할 수 있습니다.
이러한 관계와 그 이면의 의미는 word embedding에 대한 관심을 촉발시켰고, 많은 연구에서 이러한 선형 관계의 기원을 조사하였습니다. (Arora et al., 2016; Mimno & Thompson, 2017; Antoniak & Mimno, 2018; Wendlandt et al., 2018)
현재의 NLP에서 word embeddings을 강화한 것은 사전 훈련된 embeddings을 초기화로 사용했을 때 광범위한 downstream tasks에서 성능이 향상된다는 점입니다.
word2vec은 직관적이고 마법적인 특정을 가지고 있지만 이후 연구에 따르면 본질적으로 특별한 것은 없다는 사실이 밝혀졌습니다. word embeddings은 matrix factorization을 통해 학습을 할 수도 있습니다. (Pennington et al, 2014; Levy & Goldberg, 2014)
그리고 적절한 튜닝을 통해 SVD 및 LSA와 같은 고전적인 matrix factorization 접근법과 유사한 결과를 얻을 수도 있습니다.(Levy et al., 2015)
그 이후로 word embeddings의 다양한 측면을 탐색하기 위해 많은 연구가 진행되었습니다.
nlp의 많은 발전에도 불구하고 word2vec은 여전히 인기 있는 선택이며 많이 사용되고 있습니다. 또한, Word2vec의 범위는 단어 수준을 넘어서까지 확장되었습니다. negative sampling을 적용한 skip-gram, local context를 기반으로 한 embeddings 학습, 문장 표현을 학습(Mikolov & Le, 2014; Kiros et al., 2015), NLP를 넘어선 networks(Grover & Leskovec, 2016), biological sequences(Asgari & Mofrad, 2015).
특히 흥미로운 방향 중 하나는 다른 언어의 word embeddings을 동일한 공간에 투영하여(zero-shot) 언어 간 전송을 가능하게 하는 것입니다. 완전한 비지도 방법으로 (유사한 언어의 한해서) 좋은 투영법을 배우는 것이 점점 가능해지고 있으며, 이는 low-resource 언어 및 비지도 기계 번역에 대한 애플리케이션을 엽니다.(Lample et al., 2018; Artetxe et al., 2018)
해당 내용은 사실과 다를 수 있습니다.
정정이 필요한 부분은 댓글로 작성 부탁드립니다. ( 혹은 reference추천도 감사합니다. )
많은 분들이 Andrej Karpathy blog를 보시지 않았을까 생각합니다. 저 또한 RNNs을 공부하면서 참고했던 곳 중 하나입니다. 이 단순한 게시물에서 제시한 언어 모델링이 많은 발전을 통해 현재의 모델에 도달하였습니다.
Word embeddings : word2vec의 목적은 언어 모델링을 단순화하는 것에 의미가 있습니다.
Sequence-to-sequence models : 이러한 모델들은 한 번에 한 단어를 예측하여 output sequence를 생성합니다.
Pretrained language models : 이 방법들은 transfer learning을 위한 언어 모델의 표현을 사용합니다.
최근의 자연어발전은 언어 모델 개발에 치중되어 있는데, real nlp을 위한 다른 방법과 모델이 필요성을 어필합니다. ( raw form을 이용한 학습은 한계가 존재할 것이라고 합니다. )
2008 | Multi-task Learning
Multi-task Learning(이하 MTL)는 여러 작업에 대해 훈련된 모델들 간에 파라미터를 공유하는 일반적인 방법입니다. 신경망에서는 다른 layer들의 가중치를 묶음으로써 쉽게 수행할 수 있습니다. 이러한 아이디어는 93년 Rich Caruana가 제안하였으며 당시에는 도로 추적 및 폐렴 예측에 적용되었습니다.
직관적으로 MTL은 모델이 많은 태스크에 유용한 표현을 학습하도록 합니다. 이것은 일반적으로 낮은 레벨의 표현들을 학습하고 모델의 attentions 또는 제한된 학습 데이터가 있을 때 유용합니다.
MTL은 2008년 Collobert와 Weston이 NLP용 신경망에 처음으로 적용하였습니다.
위에서 보는 것과 같이 서로 다른 작업에 대해 훈련 된 두 모델 간의 look-up table(word embedding matrices)가 공유됩니다.
word embedding을 공유하면 모델 안에서 가장 많은 수의 파라미터를 구성하는 word embedding matrix의 일반적인 low-level 정보를 공유할 수 있습니다. word embedding를 사전 훈련하고 지난 몇 년간 채택된 텍스트에 대해 CNN을 사용하는 것과 같은 아이디어를 주도했습니다.
MTL은 광범위한 NLP 태스크에서 사용되며 기존, NLP repertoire에서 유용한 도구가 되었다고 할 수 있습니다. 파라미터 공유는 일반적으로 정의되어 있긴 하지만, 다른 공유 패턴을 학습할 수 있습니다. 모델의 일반화 능력을 평가하기 위해서 multiple tasks평가가 증가함에 따라 MTL이 중요해지고 있고 전용 벤치마크도 제안되었습니다.(Wang et al., 2018; McCann et al., 2018).