Bayesian Optimization 코드 (Optuna, HyperOpt)
·
ML & DL/데이터마이닝
데이터마이닝에 관한 스터디를 진행하고자 정리한 내용입니다.개인 공부 과정에서 틀린 부분이 있을 수 있습니다. (잘못된 부분은 알려주시면 수정하겠습니다!)1. Optuna 사용 가이드✅주요 개념Study: 전체 최적화 과정의 단위. (Trial을 여러 번 실행하며 최적의 하이퍼파라미터를 찾아나감)Trial: 특정 하이퍼파라미터 조합으로 모델을 평가하는 1번의 시도Objective Function: 최적화하려는 대상 함수. ( 각 Trial의 성능을 평가하고 반환함)0) 라이브러리 및 데이터 준비optuna 없으면 `pip install optuna`로 설치하고 시작import numpy as npimport pandas as pdimport optuna # Optuna 라이브러리import xgboost ..
[혼자 공부하는 머신러닝+딥러닝] 8-3. 합성곱 신경망의 시각화
·
ML & DL/머신러닝 기초
Intro.8-2장에서 합성곱 신경망으로 Fasion MNIST 이미지를 분류하는 모델을 만들어봤다.이번 장에서는 합성곱 층이 이미지에서 대체 무엇을 학습한 건지 보기 위해 가중치와 특성 맵을 시각화해보자!또, 그냥 Sequential 클래스만 쓰는 게 아니라 함수형 API를 써서 좀 더 복잡한 모델을 만들어보자! 1. 가중치 시각화필터와 특성맵의 관계합성곱 층은 여러 개의 필터로 이미지의 특징을 학습함 → 필터에는 가중치 & 절편이 담겨있음 →  여기서 가중치는 입력 이미지의 어떤 특징을 두드러지게 표현하는 역할을 함! (절편은 시각적 의미 X)ex) 가방 이미지에 아래와 같은 필터가 합성곱 연산을 수행하면, 손잡이가 있는 쪽 픽셀들과 곱해졌을 때 높은 출력값이 나옴➡️즉, 필터의 패턴(가중치 높은 부..
[혼자 공부하는 머신러닝+딥러닝] 8-2. 합성곱 신경망을 사용한 이미지 분류
·
ML & DL/머신러닝 기초
Intro.8-1장에서 합성곱 신경망의 주요 개념들을 살펴봤다.필터 크기, 패딩, 스트라이드, 풀링 등 설정할 게 많았는데, 이걸 일일이 직접 계산할 필요는 없다.복잡한 계산은 Keras API가 다 해주기 때문에, 우리는 직관적으로 층의 구조만 설계하면 된다.이번엔 Fasion MNIST 데이터를 적용해서 합성곱 신경망을 실습해보자!(과연 7장의 심층신경망보다 성능이 더 좋을지 지켜봅시다!)  1. 데이터 준비7장에서 했던 것과 동일하게 데이터 불러옴 + 데이터 살펴보기이전과 유사하게 255로 나눠서 전처리하고, 훈련/검증세트 분리⭐단, `reshape` 할 때 1차원으로 펼치지 않음 + 깊이(채널) 차원 추가  2. 합성곱 신경망(CNN) 만들기keras의 `Sequential()`클래스에다가 `ad..
[혼자 공부하는 머신러닝+딥러닝] 8-1. 합성곱 신경망의 구성요소
·
ML & DL/머신러닝 기초
Intro.심층신경망으로 '패션 아이템 분류' task의 성능을 89%(정확도)까지 늘렸다.그런데 뭔가 아쉬운 이사님 왈...🗣️ "도장을 찍듯이 이미지 특징을 팍팍 잡을 수 없나?"오, 이거다! 이 아이디어를 딥러닝에 써보자!1. 합성곱 연산1차원 관점"7장에서도 이미지를 1차원으로 펼쳐서 썼으니까, 편의상 1차원 관점으로 먼저 설명해보겠습니다"7장에서 사용한 밀집(Dense)층에는 뉴런(=summation)마다 입력 크기만큼의 가중치가 있었음ex) 크기가 10인 (펼쳐진) 입력이 들어가서, 1개의 출력(=은닉층의 h1)이 나옴. 은닉층 뉴런이 3개라면 이런 출력이 3개가 나옴.즉, 입력 데이터 전체에 가중치가 적용됨 (ex. 3,1,0, ... 5 까지 10개의 입력에 각각 하나씩 w가 붙음) 그런..
[데이터마이닝] eXplainable AI ② LIME, SHAP
·
ML & DL/데이터마이닝
[데이터마이닝] 데이터마이닝에 관한 스터디를 진행하고자 정리한 내용입니다. 참고한 자료들은 아래에 따로 정리해두었으며,개인 공부 과정에서 틀린 부분이 있을 수 있습니다. (잘못된 부분은 알려주시면 수정하겠습니다!) Intro.지난 시간에 이어 계속 eXplainable AI (설명 가능한 인공지능) 에 대한 내용을 다룹니다. 모델에 관계없이 사용 가능한 Model-Agnostic method를 다루고 있으며, PDP, ICE, Feature Importance에 이어서 LIME과 SHAP에 대해 살펴보겠습니다.앞서 살펴본 PDP와 ICE는 입력과 출력의 관계를 적절히 시각화함으로써 해석력을 얻었다면, 지금부터 볼 LIME과 SHAP은 설명을 위한 대리모델(surrogate model, explanatio..
[데이터마이닝] eXplainable AI ① PDP, ICE, Feature Importance
·
ML & DL/데이터마이닝
데이터마이닝에 관한 스터디를 진행하고자 정리한 내용입니다. 참고한 자료들은 아래에 따로 정리해두었으며,개인 공부 과정에서 틀린 부분이 있을 수 있습니다. (잘못된 부분은 알려주시면 수정하겠습니다!) Intro.우리는 앞서 트리 기반 모델을 다룰 때 앙상블을 통해 모델의 성능을 강력하게 높일 수 있음을 배웠습니다.그런데 여기서 다시 한 가지 의문이 들 수 있어요. Decision Tree의 장점은 명확한(해석 가능한) 규칙의 집합을 만들어 ‘의사 결정’에 직관적으로 도움을 준다는 것이었는데, 앙상블은 그런 트리가 수십, 수백 개가 모여서 작동합니다. 그렇다면 그 앙상블 모델의 결과에 대해서는 대체 어떻게 설명할 수 있을까요?학습 매커니즘을 일일이 설명할 수는 있겠지만, 더이상 원래의 트리모델처럼 명확한 규..
[혼자 공부하는 머신러닝+딥러닝] 🎊혼공학습단 완주 회고록🎊
·
ML & DL/머신러닝 기초
본 포스팅은 2023 혼공학습단 수료 인증을 위해 작성한 글입니다.(23.01.02. ~ 23.02.17.) 혼공학습단 수료드디어 혼공학습단의 6주차 미션이 모두 끝났습니다!!! 언제 오려나 하고 시작했는데 정말 말도 안 되게 금방 와버리네요... 여러모로 정신없는 1월이었는데 그래도 어찌저찌 다 해냈습니다!다시 책 목차를 펴고 돌아보니 한편으론 뿌듯하면서도, 한편으론 여전히 배움의 깊이가 부족하단 생각에 자세를 고쳐 앉게 되네요..ㅎㅎ 박해선 저자님께서 강의 중에 종종 말씀해주셨듯이 이 책은 정말 입문 수준이고, 더 다양한 라이브러리들과 그 기반 원리를 배우려면 중급자 이상의 다른 교재를 더 공부해야 할 것 같습니다. (그리고 사실 완주라고 했지만 여전히 8,9 챕터는 하지도 않았으니..^^)공부 방법..
[혼자 공부하는 머신러닝+딥러닝] 7-3. 신경망 모델 훈련
·
ML & DL/머신러닝 기초
Intro.지금까지 인공신경망+심층신경망을 배우고, 이를 케라스 API로 직접 만들어봤다.이번 시간엔 이렇게 모델을 훈련하면서 필요한 추가 도구들을 배워보자!1. 신경망 모델 돌아보기모델 만드는 함수 제작신경망 모델 만드는 과정을 함수로 만들어서 편하게 사용하려고 함.이제는 `model_fn()` 함수에다가 쌓고 싶은 층만 전달해주면 알아서 신경망 모델 만들어 줌!훈련(fit) 결과값 시각화저번 시간에 심층신경망 훈련했던 코드를 다시 보면, 아래와 같은 메시지가 있음사실 keras의 `.fit()` 메소드는 History 객체를 반환함.➔ 그 안에는 훈련 측정값이 담긴 `history` 딕셔너리가 들어있음! ('accuracy'는 우리가 따로 metrics 넣어줬기 때문에 있는 거임 ㅇㅇ)이 측정값(결과..
[데이터마이닝] 클러스터링 알고리즘
·
ML & DL/데이터마이닝
데이터마이닝에 관한 스터디를 진행하고자 정리한 내용입니다. 참고한 자료들은 아래에 따로 정리해두었으며,개인 공부 과정에서 틀린 부분이 있을 수 있습니다. (잘못된 부분은 알려주시면 수정하겠습니다!) Intro.지도학습의 대표 격인 트리 기반 모델에 대해 알아봤으니, 이젠 비지도학습 차례입니다. 비지도학습의 대표적인 알고리즘인 클러스터링(clustering)의 세계로 들어가봅시다.1. 클러스터링 개요1.1. Background지도학습은 입력(X)과 정답(Y)이 모두 존재하여 둘의 관계를 찾아내는 것이 목표인 반면, 비지도학습은 정답(Y)없이 입력(X)의 내재적 특징을 찾는 것이 목표였죠. 그중에서도 아래 그림처럼 비슷한 객체끼리 묶어주는 것을 ‘군집화(clustering)’라고 합니다.군집화(cluster..