반응형

[ADP/ADSP] 3.1.1 데이터 분석 기법의 이해

 

1. 데이터 처리
- DW(Data Warehouse), DM(Data Mart)를 통해 데이터 구성
- DW와 DM에 데이터가 없다면, ODS(Operational Data Store)에서 가져와서 사용 필요
- ODS에도 데이터가 없다면 기존 운영시스템(Leagacy) or 스테이징 영역(Staging Area)에서 데이터를 불러와 클렌징 후 사용
ex) 네이버 검색 순위

2. 시각화
- 탐색적 분석에 필수이며, 그래프 분석이 가장 효율적
- 시각화 만으로도 outlier(이상점) 탐지가 쉬움
ex) polygon, heatmap, mosaic graph 등이 있음

3. 공간 분석 (Spartial Analysis)
- 지도 위에 공간적 차원과 관련된 속성들을 시각화
ex) 지역별 투표율

4. 탐색적 분석(EDA[Exploratory Data Analysis])
- 데이터로 부터 의미있는 사실을 도출하여 분석의 최종 목표를 향해 달성해 가는 과정
ex) 모형 개발에서  데이터 이해, 변수 생성, 변수 선택 단계에서 활용
- EDA의 4가지 주제
    o 저항성의 강조(Resistance)
        -> 데이터 파손에 대한 저항성
        ex) 데이터가 많으면 데이터의 파손에 대한 저항성이 증가하여 overfitting 방지함

    o 잔차(Residual) 계산
        -> 개별 데이터가 주경향성에 얼마나 벗어났는지 확인
        ex) 이동평균 필터 값과의 차이, 마할라노비스 거리를 통한 이상치 계산

    o 자료 변수의 재표현(re-expression)
        -> 분포의 선현성, 분산의 안전성, 관련 변수의 가법성, 분포의 대칭성
        ex) log 함수, 역수 변환, 제곱근 변환

    o 시각화 (Graphical Representation)
        -> 그래프
        ex) 점, 선, 원  그래프

5. 통계적 분석
    o 기술 통계(Descriptive Statistics)
    - 모집단으로 부터 추출한 표본을 숫자나 그래프로 표현

    o 추론 통계 (Inferential Statistics)
    - 표본 통계량으로 부터 모수에 관해 통계적으로 추론

6. 데이터 마이닝
- 빅데이터로 부터 관계, 패턴, 규칙 등을 탐색하고 이전에 알지 못한 지식을 추출하는 방법

-  방법론
    o 데이터 베이스의 지식탐색
    o 머신런닝
    -> svm, 인공신경망, 의사결정 나무, 클러스터링, 베이지안 분류
    o 패턴 인식
    -> 연관 규칙, 장바구니 분석

- 모델링
    o 주의 사항
    -> 데이터마이닝 모델은 통계적 모델링이 아니므로 통계 가설이나 유의성에 집착하면 안됨
    -> 다양한 모델링 옵션을 줄 필요가 없으며, 성능이 만족되면 모델 최적화는 중단한다.
    o 평가 기준
    - 정확도, 정밀도, 리프트, 디텍트 레이트 등이 존재함

반응형
반응형

[ADP/ADSP] 시험 목차

 

ADP/Adsp 단원의 구성

ADP는 5단원, ADSP는 3단원으로 구성된다. ADP와 ADSP 시험의 구성은 다음과 같다.

1. 데이터 이해
- 데이터, 데이터 베이스, 빅데이터, 데이터 사이언티스트

2. 데이터 분석 기획
- 분석 기획, 분석 방법론, 분석 과제 발굴, 프로젝트 관리 방안, 마스터 플랜 수립 프레임워크, 분석을 위한 거버넌스 체계 수립

3. 데이터 분석(ADP는 비정형 데이터 포함)
- 데이터 분석 기법, R 기초, 데이터 구조 및 데이터 프레임, 데이터 변경 및 요약, 기초 분석 및 데이터 관리,  통계 분석, 회귀 분석, 시계열 분석, 다차원 척도법 및 주성분 분석, 데이터 마이닝, 분류 분석, 군집 분석, 연관 분석, 텍스트 마이닝, 사회연결망 분석

4. 데이터 처리 기술 이해 (ADP만)
- ETL, CDC, EAI, 대용량 비정형 데이터 처리방법, 분산 데이터 저장 기술,  분산 컴퓨팅 기술, 클라우드 인프라,

5. 데이터 시각화 (ADP만)
- 시각화와 인사이트, 탐색, 분석, 활용, 시각화 정의, 시각화 방법, 시각화 디자인, 시각화 구현

반응형
반응형

[CANalyzer] CANalyzer 기능 정리

 

1. 장점

A. 네트워크 트래픽 분석 및 모니터링
- 서로 다른 네트워크 타입을 합치기 위해서는 많은 노력이 필요하다.
- CANalyzer의 멀티 버스를 사용하면  동기화를 알아서 해주어 편리하게 사용할 수 있다.

B. 상위 프로토콜 구현 및 로그 파일 분석
- 원본데이터로 트래픽 분석이 오래걸리므로, 로그파일을 기반으로 오프라인으로 재생이 가능함.

c. ECU 개발 
- 네트워크 신호를 인가하여 트래픽 분석을 할 수 있다. 

https://www.youtube.com/channel/UC7P-ggVSMhM28LmVzwf2BQw

 

VECTOR

This is the official #VectorInformatik YouTube channel. Putting Engineers in the Fast Lane: Development Tools, Software, Hardware and Ingenious Solutions for Automotive Electronics and Embedded Systems. Responsible for the content posted by Vector: Vector

www.youtube.com

2. CAPL 사용 방법

CAPL은 CAN data를 출력할 때 주로 사용함 
A. Database Managent에 데이터베이스를 추가
- 심볼 형태로 접근 가능
b. Measurement setup에 CAPL Node 생성
- 해당 노드에서 timer 신호를 통해 publish 구현 하기
https://www.youtube.com/watch?v=n5RNZaipdZE&list=PLdSbSFKVyVmJ0YqYkI25gWxSQ3Vp-7EKN&index=8

 

3. CANalyzer의 Drag & Drop 기능

A. Trace window를 symbol 로 확인하기
= Database management에 dbc 파일을 Drap & Drop하면 심볼 형태로 데이터를 얻을 수 있음

B. Data window, Graphic window
= symbol explore 혹은 Trace all에서 can data를  drag & drop 가능 

C. Vector Panel Designer
 = Trace all에서 symbol을 drag & drop 하여 visualization 가능

D. Logging data 분석
- trace window에 log data 끌어오기 
- symbol을 분석창에 끌어오기

https://www.youtube.com/watch?v=JCa3pG3ia-o&list=PLdSbSFKVyVmJ0YqYkI25gWxSQ3Vp-7EKN&index=9

 

4. CANalyzer Offline Mode 설명

A.Offline Mode 용도
- 저장된 로그파일을  분석
- mode option에서 offline mode 설정 가능함

B. measurement setup
- 로그파일 선택 가능
- offline online 선택 가능
- data, trace, graphic으로 분석 가능함
- 7.5 버전부터는 offline과 online의 구성을 같이 사용 가능함 
- measurement setup을 cfg로 저장가능

https://www.youtube.com/watch?v=3-l3RY6q-yE&list=PLdSbSFKVyVmJ0YqYkI25gWxSQ3Vp-7EKN&index=7

 

CANalyzer - Guide Me! | Vector

3가지 응용 분야에서 CANalyzer를 효율적으로 사용하는 팁을 배울 수 있습니다.

www.vector.com

 

반응형
반응형

[4과목 데이터 분석 소개] 데이터 분석 소개

1. 데이터 마이닝 개념

- 빅데이터 속에서 유용한 정보를 찾아내는 과정이며, 새로운 정보를 발견하고 의사결정에 활용하는 일련의 작업
-  입력 값은 독립 변수, 출력은 종속 변수 혹은 반응 변수라고 한다. 데이터 마이닝은 독립변수에 따른 종속변수가 어떻게 나오는지 모델링하는 것이라고 할 수 있다. .

2. 데이터 마이닝 분석 방법

- 지도학습은 정답이 있는 것을 학습시키는 방식이며, 의사결정나무, 인공신경망, 회귀 분석, 로지스틱 회귀분석 등이 있다. 
- 이러한 지도학습은 분류(Classification) 과 예측(Regression) 문제로 나뉜다.
- 비지도학습은 정답이 없는 것을 학습하는 것이며, 군집분석, 연관성 분석이 이에 해당한다. 

3. 의사결정나무

- 소집단으로 분류하거나 예측 수행하는 분석
- 시각화가 가능하여 성과를 한눈에 볼 수 있다.
- 분류나무 회귀 나무가 존재한다. 

- iris의 경우 꽃잎의 길이와 넓이에 따라 품종을 classification 할 수 있다. 
- 의사결정 나무에서 Overfitting이 발생하지 않도록 가지치기(Prunning) 을 수행해야 한다.
- 결과에 노이즈가 끼지 않고  잡음 데이터에 민감함 없이 분류할 수 있다는 장점이 있다. 

 

참조

https://www.youtube.com/watch?v=yTDtSxzOeFw

 

 

반응형
반응형

[과적합을 줄이는 방법3] CNN Batch Normalization

 

 

 

 

 

appendix. 한글 내용

[과적합을 피하는 방법3] Batch Normalization

- batch normalization이란 각 batch 별 평균과 분산을 기반으로 각 layer에서 나오는 output을 normalization하는 기법이다.
- 추론 단계에서는 평균과 분산을 이동평균으로 계산한 값을 사용한다.
- 평균이 0이고 분사이 1인 값으로 정규화를 해버리면 relu activation function에서 0 이하가 제거가 되므로 스케일링과 편향을 곱하고 더해준다.
- 결과적으로 모든 계층이 동일한 Feature를 출력하여 학습에 유리함.
- 추론 단계에서는 이동평균을 사용하영 배치 정규화의 평균과 분산을 계산함
- 정규화 평균과 스케일, 바이어는 고정 값이므로 단일 곱과 더하기 연산으로 계산됨.
- 학습 시, bias의 역할이 batch normalization의 bias와 역할이 겹치므로 fully connected bias는 사용하지 않는다.
- 최종적으로 학습 시에는 파라미터 값이 상수이므로 학습 시에는 연산량이 많이 필요하다고 하더라도, 추론시에는 연산량이 이전과 똑같다.


합성공 계층의 배치 정규화 방법

- Fully connected Layer 의 batch normalization은 batch 크기의 평균과 분산을 계산 후, 정규화를 한다.
- Convolution Neural Network는 batch size, image height, image width를 고려하여 정규화를 수행한다.
추론 단계에서는 똑같이 적용된다.

 

반응형
반응형

[과적합 줄이는 방법2] Regularization, Argumentation

 

 

appendix. 한글 내용

과적합을 줄이는 방법2

1. 정규화 기법
- Loss에 웨이트 가중치 항을 더하여 전체 Loss는 증가함
- 웨이트가 작으면 일반화에 유리하기 떄문이다.

사례) Image Reconstruction
- GAN이란 Generative Adversarial Network로 적대적 생성 신경만이다
- 비지도 학습이 GAN은 평가에 있어서 주관적이 요소가 많이 개입되므로 Regularization을 사용하여 튜닝이 필요하다.
- 또한 평가하는 방법은 이미지 대회에서 우승한 신경망을 기반으로 평가를 수행한다. Fake Image와 Real Image를 VGG Network에 입력으로 하고 나온 특징 값을 비교하여 만든 loss가 vgg loss 이다.


2. Data Argumentation
- 데이터가 부족하면 데이터 증강이 필요하며, 이를 data argumentation이라고 한다.
- Data Argumentation 기법에는 다양한 방법이 있으며, 서로의 조합을 새로운 Argumentation 기법을 만들 수 있다.
- Argumentation 기법의 순서에 영향을 미치지 않는 것을 invariant, 영향을 미치는 것을 variant라고 한다.


반응형
반응형

[과적합 줄이는 방법] Early Stopping, Dropout, Batch Normalization

 

 

Appendix. 한글 

과적합을 줄이는 방법

1. Early Stopping

Training Data : 학습만을 위하여 사용하는 data
Validation Data : Hyper Parameter를 수정하기 위해 사용하는 data
Test Data : 최종 검증을 위한 데이터

Early stopping을 사용하여 Validation Loss 값이 최소가 되는 지점에서 자동으로 학습을 중단하도록 하는 방법이다.

2. Drop Out
- dropout은 학습 시에 뉴럴 네트워크 간의 연결을 일정 비율만큼 끊은 후, 학습하는 방법이다.
- 일반적으로 0.5 확률로 연결을 끊는다.
- dropout을 사용하면 여러개의 신경망을 합치는 앙상블과 같은 효과를 얻을 수 있다.


3. Batch Normalization
Vanila Gradient Descen는
한번 update를 하기 위하여 모든 데이터를 학습하여 경사하강을 수행함
batch size 개수 만큼 gradient 업데이트를 수행한다.
이것을 미니배치 학습법이라고 한다.

배치 정규화가 필요한 이유는 Internal Covariate Shift를 해결하기 위함이다.
Internal Covariate Shift 란
학습이 진행됨에 따라 입력 데이터의 분포가 달라지게 된다.
이러한 현상을 Internal Covariance Shift라고 한다.
이러한 현상을 해결하기 위하여 Fully Connected Layer와 Relu 사이에 Batch Normalization을 넣으며, 이는 mini batch 학습을 한다는 가정하에 수행된다.
각 배치별로 발생하는 평균과 분산을 이용하여 노말라이제이션을 수행하는 것이다.
학습 단계에서의 batch normalization은 각 층이 동일한 scale로 학습이 되었기 때문에 발산과 수렴이 덜하게 된다.
주로 발산과 수렴은 층의 입력과 출력의 차이가 많이 발생하여 gradient descent 시 발산 혹은 수렴이 되기 때문이다.
또한 정규화 후, 스케일링을 곱하고 편향을 더해준다. 그 이유는 relu를 사용하게 될 경우 0 이하의 값은 모두 사라지기 때문에 의미 있는 정보가 사라지는 것을 막기 위하여 스케일링과 편향 값이 추가되었다.
추론 단계에서의 batch normalization도 비슷하다.
추론 단계에서는 Training 단계에서 이동 평균으로 미리 계산한 평균과 분산 값을 가져와 사용한다. 이 값을 기반으로 Batch Noramlization 하여 추론을 한다.


반응형
반응형

[GAN 기초] GAN이란 무엇인가? Loss 함수는 어떻게 계산하는가

 

요약

본 글에서는 GAN이란 무엇인지 설명을 하며, 생성자와 판별자를 학습하기 위한 Loss 함수에 대한 설명을 다룬다.

 

 






 

Appendix

GAN(Generative Adversarial Network)란


정의 
- GAN이란 생성자와 구분자가 서로 학습을 하여 새로운 데이터를 생성하는 비지도 학습의 한 분야이다.
- Discriminator는 fake image는 0으로 real image는 1을 출력하도록 학습하는 과정이다. 
- Discriminator만 따로 학습을 시키는 것이 아닌, Discriminator와 Generator가 번갈아 가면서 학습을 진행한다.


코드 

실제 코드에서도 loss함수를 다음과 같이 구현함을 알 수 있다. 
########## 로스 선언 ######### 
def discriminator_loss(d_real, d_fake): 
real_loss = tf.keras.losses.BinaryCrossentropy()(tf.ones_like(d_real), d_real) fake_loss = tf.keras.losses.BinaryCrossentropy()(tf.zeros_like(d_fake), d_fake)
return real_loss + fake_loss 

def generator_loss(d_fake): 
return tf.keras.losses.BinaryCrossentropy()(tf.ones_like(d_fake), d_fake)


그 이후, discriminator와 generator가 번갈아 가며 학습을 진행한다. 

for epoch in range(num):
d_mean.update_state(d_loss)
g_mean.update_state(g_loss) 

반응형

+ Recent posts