베이지안 최적화 기법 이론 보충 머신러닝 혹은 딥러닝 모델들을 학습 시킬 때 하이퍼 파라미터를 결정해야 하는 경우가 많이 있다. 이때 일반적인 하이퍼파리미터 튜닝 방법은 일저한 간격을 정해서 하이퍼파라미터 후보군을 설정하는 Grid Search와 일정 구간 내에서 랜덤하게 하이퍼 파리미터 후보군을 결정하는 Random Search가 활용된다. 하지만 두 방법론 모두 후보군에 대해서 성능을 확인한 후 비교해야 하므로 비효율적이다. 이러한 경우에 사용할 수 있는 것이 Bayesian Optimization이다. 베이지안 최적화는 크게 두 가지 핵심 모듈이 존재한다.
예측값을 변수로 활용하는 앙상블 테크닉 Blending Blending 은 Ensemble 의 한 종류입니다. Ensemble 이란 예측 모형을 통합해서 하나의 예측을 수행하는 것을 말합니다. Ensemble 의 묘미는 서로 다른 예측 모형들을 합쳐 더 강한 예측 모형을 만들 수 있다는 것입니다. 가령 정확도 0.7, 0.7 인 모델 두 개를 합쳐서 0.9 을 만들 수 있습니다.
Blending 의 프로세스 1. Traning/Validation/Test set 을 나눈다. 2. Training set 에 모델 피팅을 한다. 3. Validation/Test set 에 대해 예측을 한다.
Pseudo Labeling Pseudo Labeling이란? Labeled Data처럼 일일히 label을 하기보다, 이미 가지고 있는 Labeled data에 기반하여 대략적인 Labled을 주는 것
Pseudo Labeling의 순서
Labeled Data로 Model을 먼저 학습시킨다.
그렇게 학습된 모델을 사용하여, Unlabeled Data를 예측하고 그 결과를 Label로 사용하는 Pseudo-labeled data를 만든다.
Pseudo-labeled data와 Labeled를 모두 사용하여 다시 그 모델을 학습시킨다.
Pseudo Labeled data Pseudo Label은 아래와 같은 식으로, 각각의 sample에 대해, 예측된 확률이 가장 높은 것으로 정합니다.
Basic Stacking Model - Diagram 기반 모델들이 예측한 값들을 Stacking 형태로 만들어서 메타 모델이 이를 학습하고 예측하는 모델
교차 검증 세트 기반의 스태킹 교차 검증 세트 기반의 스태킹은 이에 대한 개선을 위해 개별 모델들이 각각 교차 검증으로 메타 모델을 위한 학습용 스태킹 데이터 생성과 예측을 위한 테스트용 스태킹 데이터를 생성한 뒤 이를 기반으로 메타 모델이 학습과 예측을 수행합니다. 이는 다음과 같이 2단계의 스텝으로 구분될 수 있습니다. 스텝 1 : 각 모델별로 원본 학습/테스트 데이터를 예측한 결과 값을 기반으로 메타 모델을 위한/학습용 테스트용 데이터를 생성합니다.
정규 표현식 문자 클래스 []
[] 사이의 문자들과 매치 만약 정규 표현식이 [abc]라면 이 표현식의 의미는 문자열들 중에 a,b,c가 한 개라도 있으면 매치 된다는 것을 의미
[] 안의 두 문자 사이에 하이픈(-)을 사용할 시
두 문자 사이의 범위(From - To)를 의미
하이픈(-)을 사용한 문자 클래스의 사용 예
[a-zA-Z] : 알파벳 전부 [0-9] : 숫자 ^
문자 클래스 안에 ^ 메타 문자를 사용할 경우에는 반대(not)이라는 의미를 갖는다.
Tabular Playground Series - Apr 2021, Titanic 데이터셋 시각화 공부 Matplotlib : 차트의 기본 크기를 설정하려면?
rcParams Matplotlib에서 그리는 그래프,폰트 등의 기본 값을 설정합니다. plt.rcParams와 mpl.rcParams 모두 동일한 결과를 도출하므로 편한 것을 사용하면 됩니다. 사용 가능한 rcParams 항목 : plt.rcParams 초기값으로 되돌리기 : mpl.rcParams.update(mpl.rcParamsDefault) %matplotlib inline import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["figure.figsize"] = (14,4) mpl.rcParams['lines.linewidth'] = 2 mpl.rcParams['lines.color'] = 'r' mpl.rcParams['axes.grid'] = True mpl.rcParams['figure.dpi'] = 120 mpl.
만약 우리에게 모델이 있는데, 미지의 함수(black-box function)라 예측은 잘 되는데 그 속을 들여다 볼 수 없다. 즉, f(x)가 closed-form으로 표현되지 않는다.(닫힌 형태(closed form)란 방정식(equation)의 해(solution)를 해석적(analytic)으로 표현할 수 있는 종류의 문제를 말한다.) 또 non-linear(비선형) + non-convex 해서 gradient도 찾을 수 없다. Non-Convex한 함수란, 볼록함수와는 달리 극점이 굉장히 많을 수 있는 함수이기 때문에, Gradient Descent를 통해 구한 최솟값이 Local Minumum일 뿐, Global Minimum값은 아닐 수 있는 가능성이 생긴다. 심지어 query를 입력으로 주고 evaluate 할 때 엄청난 시간/비용이 든다.
인지과학의 정의 인지과학은 기본적으로 앎의 과학이다. 그런데 앎이 인간의 마음의 작용에서부터 비롯 되는 것이기 때문에 인지과학을 좀 더 넓게 정의한다면 '마음의 과학'이 된다. 그런데 컴퓨터(인공지능 시스템)나 동물과 같은 행위체도 인간의 마음과 유사한 지능을 보인다. 그래서 조금 달리 정의한다면, 마음의 지에 대한 다학문적인 학제적 연구가 인지과학이라고 할 수 있다. 인지과학은 뇌, 행동, 컴퓨테이션(수리적 계산이라는 의미보다는 정보처리에 가까운 의미)이라는 세 개의 넓은 영역을 통합하는 다학문적 분야이다. 사람이 그리고 동물 및 컴퓨터(로봇)가 어떻게 정보를 처리하고, 그 결과를 행위로 산출하는가 등을 연구하는 분야이다.
사람 뇌의 구조 - 신경해부학의 기본 용어 신경 : 각 기관계를 연결하여 하나의 유기체로서 신체 활동의 조절과 조정을 담당하는 신경조직
우리 몸의 신호전달을 모두 담당하고 있는 모두 담당하고 있는 구조물의 총칭
중추신경 : 우리 몸의 가장 가운데 있는 신경으로, 신경정보를 통합, 조정하는 중앙처리 장치. 뇌와 척수
신경세포 : 신경계를 이루는 구조적, 기능적인 기본 단위
말초신경 : 감각과 운동 자극을 중추신경으로 연결하는 통로
대뇌 : 뇌의 대부분을 차지하는 중추신경계의 중추로 운동, 감각, 언어, 기억 및 고등 정신 기능을 수행하는 기관
빅데이터 이해 정형데이터 : 통계저 분석을 수행할 수 있는 테이블 형태로 정리된 데이터 반정형 데이터 : 규격화된 형식을 가지지 않는 웹 문서, 신문과 같은 데이터. 주로 XML,JSON 포맷 - 데이터 속성을 표기하는 메타데이터를 가지며 데이터 구조는 일관성이 없으므로 테이블의 형식을 하고 있어도 샘플들의 속성 순서가 모두 다를 수 있다. 비정형 데이터 : 특별한 형식을 가지지 않는 텍스트, 이미지, 오디오와 같은 원시 데이터 - 형태와 구조가 복잡하여 기존의 DB에 저장될 수 없다, 정형 데이터로 변환되어 분석해야 한다.