Publish to my blog (weekly)

    • 조정이란 부동 소수점 특성 값을 100~900 등의 자연 범위에서 0~1 또는 -1~+1 등의 표준 범위로 변환하는 작업
    • 다음과 같은 이점
    • 경사하강법이 더 빠르게 수렴됩니다.
    • NaN 트랩'이 방지됩니다. NaN 트랩이란 모델의 숫자 중 하나가  NaN(예: 학습 중에 값이 부동 소수점  정밀도 한도를 초과하는 경우)이 된 후 수학 연산 과정에서  모델의 다른 모든 숫자가 결국 NaN이 되는 상황입니다.
    • 모델이 각 특성의 적절한 가중치를 익히는 데 도움이 됩니다.  특성 조정을 수행하지 않으면 모델에서 범위가 더 넓은 특성을  과도하게 중시합니다.
    • 숫자 데이터를 조정하는 알기 쉬운 방법 중 하나는 [최소값, 최대값]을 [-1, +1] 등의 작은 척도로 선형 매핑하는 것입니다
    • Z 점수는 표준편차를 기준으로 평균에서 벗어난 정도를 계산합니다
    • 좋은 특성 값은 데이터 세트에서 5회 이상 나타나야 합니다.
    • 반대로, 특성의 값이 한 번만 나타나거나 매우 드물게 나타난다면 모델에서 해당 특성을 기반으로 예측할 수 없습니다. 예를 들어 unique_house_id는 각 값이 한 번만 사용되어 모델에서 어떠한 학습도 불가능하므로 좋은 특성이 아닙니다.
    • 프로젝트의 모든 구성원에게 각 특성은 명확하고 분명한 의미를 가져야 합니다
    • 다음 특성 값은 특성을 만든 엔지니어 이외에 다른 사람은 알아보기 어렵습니다.
    • 데이터의 노이즈로 인해 값이 불명확해지는 경우도 있습니다.
    • 277
      • 사용자 나이가 277세인 경우는 없을 것이므로...
    • 특수 값이 나타나지 않게 하려면 특성을 다음과 같은 두 특성으로 변환하세요.
    • 특성 하나는 특수 값 없이 오로지 품질 등급만 갖습니다.
    • 특성 하나는 quality_rating이 입력되었는지 여부를 나타내는  부울 값을 갖습니다. 이 부울 특성에 is_quality_rating_defined와 같은  이름을 지정합니다.
    • 특성의 정의는 시간이 지나도 변하지 않아야 합니다.
    • 희소 표현
    • 머신러닝 모델은 특성 값에 모델 가중치를 곱해야 하므로 실수 벡터로 가중치를 표현해야 합니다.
    • 모델은 학습된 가중치로 문자열을 곱할 수 없으므로 특성 추출을 통해 문자열을 숫자값으로 변환합니다
    • 제약조건을 모두 제거하기 위해, 대신 모델의 범주형 특성에 바이너리 벡터를 생성할 수 있습니다
        • 예시에 적용되는 값의 경우 관련 벡터 요소를 1로 설정합니다.
        •  
        • 다른 요소는 모두 0으로 설정합니다.
        •  
          

    • 이러한 방식을 통해 모든 특성 값(예: 거리 이름)에 대한 부울 변수를 효과적으로 만들 수 있습니다. 여기에서는 집이 Shorebird Way에 있는 경우 Shorebird Way에만 해당하는 바이너리 값은 1입니다. 따라서 모델은 Shorebird Way의 가중치만 사용합니다.
    • 집이 두 거리가 만나는 모퉁이에 위치한 경우 두 바이너리 값은 1로 설정되며 모델은 각각의 가중치를 모두 사용
      • multi-hot encoding
    • 희소 표현
      • sparse representation

Posted from Diigo. The rest of my favorite links are here.

댓글

이 블로그의 인기 게시물

Publish to my blog (weekly)

Publish to my blog (weekly)