종료
INNOPOLIS AI SPACE-S 인공지능 세미나 - 정형 데이터를 다루는 머신러닝 문제해결 패턴
2022.09.20 - 2022.09.20
0
117
0
0
글쓰기
총 2

SPACE-S 세미나 - 정형 데이터를 다루는 머신러닝 문제해결 패턴 - 신백균

어떤 일이든 일정 수준에 도달하면 경험적으로 최적화된 패턴이 생기기 마련입니다. 본 세미나에서는 수많은 캐글 수상자의 코드를 리팩터링하며 찾아낸 공통된 패턴을 소개합니다. 데이터 분석부터 기본 모델 설계, 최적화까지에 이르는 일련의 기본적인 머신러닝 프로세스를 설명합니다. 이제 막 머신러닝을 접하신 입문자, 초급자 분들이 듣기에 적합합니다.세미나 소개날짜: 2022년 9월 20일 화요일시간: PM 7:00 ~ PM 8:00장소: 온라인접속링크 :  실시간 라이브프로그램 소개19:00~19:20 : 탐색적 데이터 분석(EDA)의 중요성과 개요19:20~19:40 : 베이스라인 모델 설계19:40~20:00 : 모델 성능 개선 방안(피처 엔지니어링, 하이퍼파라미터 최적화)연사 소개연사 : 신백균 (한국생산성본부 교육 컨설턴트)진행 : 김태영 (주)인공지능팩토리 대표이사세미나 신청하기 회원 가입 후 상단 [참가하기] 버튼을 클릭하시면 됩니다.  

AF 커뮤니티 매니저
0

정형 데이터를 다루는 머신러닝 문제해결 패턴 리뷰

정형 데이터를 다루는 머신러닝 문제해결 패턴 리뷰AIFactory 에서 제공하는 세미나 중에서 흥미로웠던 부분을 중심으로 리뷰했습니다.실제로 많은 도움이 되었고 전체적인 진행방향을 잡기 좋은 강의였습니다. 목차머신러닝 문제해결 프로세스 & 탐색적 데이터 분석(EDA)의 중요성과 개요베이스라인 모델 설계모델 성능 개선 방안 1. 머신러닝 문제해결 프로세스 & 탐색적 데이터 분석(EDA)의 중요성과 개요과정문제 이해탐색적 데이터 분석주어진 데이터를 면밀히 분석데이터 전처리더러운 데이터를 깨끗하게 만드는 작업대회에서는 상당 수준 전처리가 이미 이루어진 상태 머신러닝 문제해결 체크리스트 1-1. 문제 이해문제 배경과 목적어떤 데이터를 활용해서 어떤 값을 예측해야 하는지?문제 유형 확인회귀인지, 분류인지?데이터 확인주어진 데이터가 무엇인지?문제 접근 방법어떻게 접근해서 문제를 풀어야 하는지?배경 지식을 활용한 만한 점이 있을지가장 큰 공감이 되는 부분이었습니다. 막상 대회를 수행할 때 주제가 흥미로운지에 관점을 두고 주먹구구식으로 대회를 한 적이 많아서 다시 모델링을 하게 되는 경우가 있었습니다. 가장 중요한 주제와 제약조건을 꼭 확인하는 것이 중요! 1-2. 탐색적 데이터 분석이란?주어진 데이터의 구조를 간단히 훑어보거나 몇 가지 통계값을 구해봄다양한 그래프를 활용해 데이터 전반을 깊이 있게 살펴봄해당 과정에서 어떤 피처가 중요한지, 피처끼리 어떻게 조합해서 새로운 피처를 만들지, 어떤 점을 주의해서 모델링 할지 등의 인사이트를 얻게 됨 제공된 데이터 둘러보기제공된 파일별 용도 파악데이터 양(레코드 수, 피처 수, 전체 용량 등)info(), shape피처 이해이름, 의미, 데이터 타입, 결측값/고윳값 개수피처 요약표 활용훈련 vs 테스트 데이터 차이분포가 서로 비슷한지?훈련 데이터엔 있지만 테스트 데이터에 없는 피처가 있는지?타깃값(목표값) 파악때에 따라 훈련 데이터 타겟값이 명확히 없는 경우도 있음 데이터 피처 탐색표타깃값 파악때에 따라 훈련 데이터에 타깃값이 명확히 없는 경우 존재개별 피처들을 확인할 때는 몰랐던 정보가 존재할 수 있는 전체 피처 요약표를 만들고 해당 내용을 파악 후 대회를 진행하는 것이 좋다는 말씀! 1-3. 데이터 시각화Permalink효과적인 시각화를 위한 피처 엔지니어링각종 시각화수치형 데이터 시각화, 범주형 데이터 시각화, 데이터 관계 시각화피처 파악추가할 피처제거할 피처피처별 인코딩 전략이상치, 결측값 파악이상치, 결측값 파악 기법해당 피처별 처리 방법 치우친 분포를 가진 데이터정규분포에서 멀리 떨어진 분포는 회귀에서의 성능 저하 발생할 수 있어서 변환 연도, 월, 일 시각화1번 그래프 : 2011 < 2012 더 많은 자전거 대여수량 기록2번 그래프 : 월별 대여수량을 통해 날씨가 더울수록 자전거 대여 수량이 높다는 것을 파악3번 그래프 : 일별 데이터가 거이 비슷하기 때문에 제거 가능성 파악4번 그래프 : 시간이라는 피처를 통해 출퇴근 시간때 많은 대여량 확인평일과 휴일간의 차이를 확인가능해당 그림을 통해 타겟값 예측에 도움을 줄 피처인지 유추가능특정 피처 A 가 있다고 한다면 해당 A라는 피처가 타겟값과의 비율을 확인해 해당 피처가 예측에 도움이 되는 피처인지 파악해당 방법은 정말 해보지 않은 방법이었습니다. Classification 문제에 적용해보는 것이 좋을 거 같습니다.상관관계를 절대적인 지표로 하기는 어렵지만 참고용으로는 가능레이블 인코딩은 데이터 간의 대소 관계나 크기의 차이가 존재할 때 사용이 적절, 순서가 유의미 하지만 원-핫이 좋을수도 있음시각화의 중요성을 조금 더 크게 알 수 있었고 블랙박스인 모델에서 설명을 위해서도 10% 정도는 투자하는 것이 좋다는 말씀 2. 베이스라인 모델 설계아주 간단한 기본 모델을 생성, 훈련해 성능 확인기본적인 뼈대를 만들어두는 것추후 모델링을 진행하면서 여기에 살을 덧붙이면서 성능을 끌어올림 2-1. 평가지표모델 훈련이 제대로 이루어졌는지 확인하는 방법대부분 평가지표는 사이킷런에서 제공 필요한 경우 커스텀 평가지표 작성 2-2. 모델훈련훈련 : 피처와 타깃값이 주어졌을 때 최적 가중치(회귀계수)를 찾는 과정 - 세타값 찾기예측 : 최적 가중치를 아는 상태(훈련된 모델)에서 새로운 독립변수(데이터)가 주어졌을 때 타깃값을 추정하는 과정 - 찾은 세타값을 통해 예측탐색적 데이터 분석 : 예측에 도움이 될 피처를 추리고, 적절한 모델링 방법을 탐색하는 과정피처 엔지니어링 : 추려진 피처들을 훈련에 적합하도록, 성능 향상에 도움되도록 가공하는 과정 3. 모델 성능 개선 방안피처 엔지니어링모델 성능 개선의 첫 단계이상치 제거, 결측값 처리하기, 데이터 인코딩, 피처 스케일링, 파생 피처 생성, 피처 제거 및 선택 등을 수행하이퍼파라미터 최적화모델의 최적 하이퍼 파라미터를 찾는 작업하이퍼파라미터 최적화 기법으로는 그리드서치, 랜덤서치, 베이지안 최적화 등이 있음, 그 중 베이지안 최적화가 효율적그 외 성능 개선 기법 적용교차 검증, OOF(out-of-fold), 테스트 단계 데이터 증강(TTA), 레이블 스무딩성능 평가성능이 좋지 않다면 탐색적 데이터 분석이나 피처 엔지니어링부터 다시 수행 3-1. 피처 엔지니어링 파생 피처 생성기존 피처를 가공해 타깃값 예측에 도움될 피처 새로 생성쉽게 생각할 수 있는 점부터 도메인 지식을 요하는 부분까지 다양함가장 창의력이 많이 필요한 파트시차(lag, 지연) 피처 생성 (시계열 데이터에 한정 - 과거 시점의 타겟값을 현재 시점의 피처로 넣을수 있음)이전 타겟 피처로 사용하는 코드시차 피처란 과거 시점에 관한 피처시계열 문제에서 성능 향상에 큰 도움이 됨트렌드와 유사성 반영다양한 기준을 바탕으로 시차 피처를 만들 수 있음 데이터 조합을 생성해 데이터 수 늘려주기 (모든 가능한 조합)가능한 모든 조합 생성 코드데이터가 아예 없는 것보다 유의미한 데이터가 많은것이 좋음 데이터 다운캐스팅더 작은 데이터 타입으로 변환하는 작업훈련 속도가 빨라지고, 메모리 소모도 줄일수 있음해당 코드 피처 스케일링 (트리 기반은 굳이 수행할 필요없음 - 대소관계로 판단하기 때문)서로 다른 피처 값의 범위(최댓값 - 최솟값)이 일치하도록 조정하는 작업대표적으로는 min-max 정규화와 Standardization트리 모델을 사용할 땐 굳이 적용할 필요 없음 이상치 제거통계치 vs 특별히 튀는 값 vs 도메인 지식 활용 vs 이상 탐지 결측값 처리결측값이 많으면 해당 데이터 자체를 없앨 수도 있지만, 해당 데이터가 정말 중요한 데이터라면?일반적으로 최빈, 평균, 중앙, 대체보다는 더 현명한 방법을 생각함결측값 자체를 타깃값으로 생각하고, 별도로 모델링을 활용해 결측값 예측데이터 특성에 맞는 적절한 결측값 처리 방안 구상 어떤 파생 피처를 만들어야 성능 향상에 도움이 될까요?처음부터 어떤 파생 피처가 예측에 도움이 될지 알기는 쉽지 않음대회 상위권 캐글러들도 갖은 방법으로 피처 엔지니어링을 시도그중 성능 향상에 도움되는 피처를 선별다만, EDA와 도메인 배경지식, 창의적인 아이디어가 도움을 줄 수 있음 하이퍼 파라미터 최적화대표적인 하이퍼 파라미터 최적화 기법그리드 서치 (grid search) : 내가 어느정도 하이퍼 파라미터에 대한 이해가 있을 때랜덤 서치 (random search) : 너무 random 이라 잘 사용하지 않음베이지안 최적화 (bayesian optimization) 머신러닝 체크리스트 github 주소 강의 후기확실히 대회를 수행하면서 주요한 내용을 모두 간략하게 다뤄 주신 강의였던 거 같습니다. EDA ~ 모델 추론까지 모든 내용을 전반적으로 확인할 수 있어서 좋았습니다.

최재혁
2