------ 본 게시물은 2019년 9월 19일 특강에 참여하여 메모한 내용을 기반으로 정리한 것입니다 ------
머신러닝의 목표
1. 기존에 가지고 있는 자료를 바탕으로
2. 모형을 만들고
3. 모형 성능을 비교하고
4. 각각 모형을 세부 조정하고
5. 새로운 값을 가장 잘 예측할 수 있는 모형 선택
빅데이터의 약속
1. 개인화, 맞춤형 제안
2. 비정형적인 데이터에서 상관관계 도출
* 일반적인 정형데이터만으론 빅데이터가 될 수 없음
- 알고리즘, 데이터, 코드, 컴퓨테이션 기술의 발달이 인공지능의 발달에 영향을 줌.
- 개념의 포괄 순서를 보면, 인공지능 > 머신러닝 > 딥러닝
CRISP-DM
1. 구체적 목표 -> 2. 필요한 정보는? 데이터의 의미는? -> 3. 모델 -> 4. 모델 평가, 모델이 풀어야할 문제를 해결하는가? -> 5. 모델을 현장에 적용, 좋은 결과를 내기를 기도
- 다음 그림을 참고
AI 응용방법론
1. 비즈니스 이해
- 비즈니스, 데이터 현황 분석
- 요구사항 분석, 분석목표 설정
2. 데이터 전처리
3. 인공지능 모델 학습
- 모델 구축, 평가, 최적화(평가에서 제일 우수했던 하나의 알고리즘만 선택)
4. 예측
- 최종 모델 적용, 모니터링
- 예측 결과 시각화
Scikit-learn Algorithm
AutoML
- 배경 : 누구나 손쉽게 적용할 수 있는 자동화된 머신러닝 프로세스 개발 환경의 필요성 대두
- 위세아이텍의 'WiseProphet' : 데이터입력 -> 데이터탐색 -> 특징선택 -> 알고리즘선택 -> 모델평가 -> 모델배포
< 그 외 개념들과 실무적 조언들 >
- LSTM : 일자별로 변하는 데이터(연속된 데이터) 분석에서 사용하는 알고리즘으로, 아리마(통계 데이터)에서 예측된 값을 파생변수로 사용하기도 함
- 비지도 학습(군집을 만들어서 라벨링) => 지도학습(라벨링된 데이터를 활용) 진행
- 무엇을 분류하느냐에 따라 평가지표의 우선순위를 달리 둘 수 있어야 함. ex) 제품 고장 분석시, 고장인데 정상이라고 하는 경우를 피하는 것이 가장 중요
- 문제해결을 위해서는 다양한 모델, 알고리즘을 적용해봐야 한다. 하나만으로는 안된다.
- 여러 알고리즘을 적용해보다보면 사용하는 알고리즘들을 간추릴 수 있게 된다.
- 따라서 필드에서 직접 사용하는 알고리즘은 생각보다 많지 않다. (Linear, Binary, LSTM, Random Forest, XGBoost 등)
- 파생변수는 기존 통계기법에서 나온 값이나 단위 변경(ex. 시속->초속) 등을 통해 생성하고, 미세한 차이일지라도 정확도를 올리는데 기여할 수 있다.
- 범주형 변수(성별 등)는 더미변수화하여 처리해야 정확도가 올라간다.
- 정확도를 올리기 위해서는 데이터를 건들여야한다. (파생변수 추가, 더미변수화 등)
- 학습비율은 6:4, 7:3, 8:2, 9:1 등 다양하게 설정될 수 있는데, 모두 시도해봐야 무엇이 더 좋은지 알 수 있다.
- 머신러닝은 과정이 블랙박스화되어, 머신러닝 결과에 대해 활용자에게 설명하기 어렵다는 단점이 있다. Decision Tree를 기준으로 설명하거나 시각화를 해야한다.
- 롱테일 : 파레토법칙 8:2에서 2에 해당하는 부분 -> 인터넷 상거래에선 그 비중이 중요해질 수 있다.
- 클래스 불균형(데이터 불균형)이 발생하면 업샘플링(오버샘플링), 다운샘플링(언더샘플링)을 사용해서 클래스 균형을 맞출 수 있다. * 클래스 균형은 소수의 클래스에 특별히 더 큰 관심이 있는 경우 필요
- 클래스 불균형을 해결하는 대표적 알고리즘으로 SMOTE기법이 있다.
- 유효한 군집, cluster를 판별할 때는 현업 담당자(도메인 전문가)와의 협업, 프로파일링이 중요하다.
위세아이텍의 머신러닝 적용 사례
1. 고객분석 기반의 개인화 큐레이션(개인화 추천)
1) 고객에 대해 이해
- 나이, 성별, 지역, 관심상품 등 분석하기
2) 고객의 행동패턴 분석
- 고객의 다양한 흔적(구매, 가입, 클릭 등) Segment화 해라!
3) 고객 행동패턴 시각화
4) AI 고객 분류(비지도학습, Clustering)
- 유사도를 기준으로 동질 유형 분류
- 알고리즘 : k-means clustering, EM clustering, Canopy clustering
- k-means clustering에서 k값을 찾기 위해 엘보우, 실루엣기법 사용. k값 1~10 각각 적용해볼 수 있으나 비효율적
5) AI 고객 분류 프로파일링 (특징 정리)
- Cluster에 대한 사용 결정, 의논은 해당업 종사자(도메인 전문가)의 몫! (빅데이터 분석가는 cluster만 제시)
6) AI 고객 분류 판별
- 분류된 고객을 판별모형으로 지도학습!
- 이후 신규고객이 들어왔을 때 어느 cluster에 속하는지 분류 (Decision Tree 그려서 설명!)
# 추천 방식
- 사용자 기반 추천 : 구매 후 평가 점수에 따라, 클릭한 상품을 기준으로
- 상품 기반 추천 : 고객이 본 상품과 유사한 상품 추천
# 추천시스템 프로세스
선호점수와 알고리즘 >> 타겟팅 >> 추천결과 피드백 >> 반복수행(정확도 향상)
# 적용효과
- 마케팅 비용 감소, 매출 증가
- 개인정보 보호법 -> 고객 개인정보 대신에 고객행동 분석
# 추천시스템 성공사례
- 구글의 에드센스, 매출 기여 50% 이상
- 아마존닷컴의 매출 절반 이상은 랭킹 13만 위 이하 책에서!
- 아마존, 구글뉴스, 넷플릭스, 네이버TV, 카카오TV 등..
* CF알고리즘
* 위세아이텍 WiseProphet의 추천
- 고객 행동 데이터 기반으로 콘텐츠를 추천
- 추천 모델 검증을 위한 효과를 분석
- 다양한 추천 알고리즘을 지원
- 편리하게 추천 모델을 개발할 수 있는 유틸리티를 제공
2. 예측 정비
- 사후정비 vs 예방정비 vs 예측정비
- 빅데이터 전처리 시스템을 통한 데이터 정제
- 정비 데이터로부터 다양한 특질을 도출
- 수리부속수요와 정비수요를 예측
- 수리부속의 정확한 수요예측으로 적정 재고량을 산출
- 예측정비를 통해 장비 가동률을 향상시킴
3. 보험 부당 청구 방지(이상거래 탐지)
- 부당청구 패턴 분류로 부당청구 유형을 식별
- 청구다발생 고객 집단을 탐지
- 이미지,텍스트 데이터에 딥러닝을 적용하여 더욱 정확하게 부당청구를 판별
- 국고보조금 유형별로 보조금 부당청구를 적발
- 탐지 결과에 대한 다차원 시각화와 성과 모니터링을 제공
4. 철도사고 위험 예측
- 사고데이터가 정상데이터에 비해 너무 적었고 업/다운 샘플링 적용이 안되는 상황
- 그래서 정상(안전)/비정상(불안전)으로 이진 분류 후 불안정한 것만 SMOTE기법 적용
- 그 후 주의/경계/심각 으로 분류
- 문제점 : 사고 개수가 극히 적다보니 사고 데이터에 대한 라벨링 또한 어려움
5. 경주마 착순 예측
- '순위'를 알기 위해선 분류분석이 필요할 것이라 예상 but 잘 맞지 않음
- 차라리 '기록'을 예측하자! 초 단위 기록을 예측하기 위해 회귀모델 사용
- 단거리/중거리/장거리, 서울/부산 등 지역별 경마장의 조건(ex.땅의 상태), 말의 등급 등 다양한 조건 때문에 여러 개(39개?)의 모델 만듦 * 하나의 모델로는 절대 분석 안됨
- 경주마 착순 예측 모델의 여러 변수(158개?) 를 사용, 앙상블 모델 이용
'IT 공부' 카테고리의 다른 글
Virtual Machine(가상 머신)이란? (feat. 가상화 vs 클라우드) (0) | 2019.10.15 |
---|---|
'메타데이터(metadata)'란? (1) | 2019.09.23 |
Big Data의 개요 (0) | 2019.09.12 |
댓글