Custom Loss Function in Keras

Summary

  • Business Impact에 기반해서 Loss Function을 수정해야할 필요가 있다.
  • 예를 들어 비대칭 구조(예: 지수분포)에서는 Loss값에 Weight를 줘야하는 상황이 그렇다.
  • Keras에서는 Model에 필요한 제반 환경을 Complie이라는 단계에서 설정하는데 이 때 Loss Function을 Keras 라이브러리에서 불러올 수도 있지만 앞서 언급한 바와 같이 Custom Loss Function을 설정할 수 있다.

Example

  • 여기서 AMSE는 Asymmetric Mean Squared Error의 준말이다.

import keras.backend as K
from keras import models
from keras import layers


def AMSE(y_true, y_pred):
	loss = K.square(y_pred - y_true)
	loss = (loss**2)*10.0 if loss < 0 else loss**2
	return loss

def build_model():
	model = models.Sequential()
	model.add(layers.Dense(64, activation='relu', input_shape=(train_data.shape[1],)))
	model.add(layers.Dense(64, activation='relu'))
	model.add(layers.Dense(1))
	model.compile(optimizer='rmsprop', loss = AMSE, metrics=['mae'])
	return model 

References

Read more

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

Pandera: 데이터프레임 검증에 최적화된 도구 주요 장점 * Pandas와 통합: Pandas 데이터프레임에 대해 스키마 기반 검증을 수행합니다. * 유연한 검증 조건: 열 데이터 타입, 값 범위, Null 여부 등 다양한 검증 조건을 정의할 수 있습니다. * 명확한 오류 메시지: 스키마 불일치에 대한 명확한 오류 메시지를 제공합니다. 단점 * 대용량 데이터 검증에서는 속도가 느릴 수

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression * Tobit 회귀(Tobit Regression)는 종속 변수가 특정 값에서 절단(Censored)된 상황에서 데이터를 분석하기 위해 사용되는 통계 기법입니다. * James Tobin이 처음 제안한 이 모델은 경제학과 사회과학 분야에서 자주 사용되며, 일반 선형 회귀로는 설명할 수 없는 상황에서 효과적으로 적용할 수 있습니다. Tobit Regression 수식 1. 관측된 종속 변수