
291
8
장
사용자 정의 모델의 성능 개선하기
model_trim=tf.keras.layers.HashedCrossing(num_bins=1000, output_mode='one_hot')(
(inputs['model'], inputs['trim']))
color_int=tf.keras.layers.HashedCrossing(num_bins=400, output_mode='one_hot')(
(inputs['color'], inputs['interior']))
preproc_layers['model_trim'] = model_trim
preproc_layers['color_int'] = color_int
HashedCrossing
은 사이킷런에서 수행한 특징 교차를 수행한 것과는 약간 다릅니다.
해싱
hash-
ing
함수는 문자열을 입력받아 정수를 반환하는 특수 함수입니다. 결정적으로 작동하여 같은 문
자열을 넣으면 항상 같은 정수를 출력하지만, 각기 다른 문자열의 결과들은 일정한 패턴을 찾
기 어려울 정도로 불규칙하게 분포됩니다.
HashedCrossing
은 해싱 함수의 출력을 사용해 해
당 요소를 배치할 버킷을 선택하는 데 사용합니다.
model
_
trim
에는
1
,
000
개,
color
_
inte-
rior
에는
400
개의 버킷이 있습니다.
이 버킷 수는 어떻게 정했을까요 ...