본문 바로가기
반응형

DATA Science/Google Machine Learning22

로지스틱 회귀: 모델 학습 로지스틱 회귀의 손실 함수 선형 회귀의 손실 함수는 제곱 손실입니다. 로지스틱 회귀의 손실 함수는 로그 손실로 다음과 같이 정의됩니다. 로그손실로그손실=∑(x,y)∈D−ylog(y′)−(1−y)log(1−y′) 여기서 (x,y)∈D는 라벨이 있는 예(x,y 쌍)가 많이 포함된 데이터 세트입니다. y는 라벨이 있는 예의 라벨입니다. 로지스틱 회귀이므로 y 값은 모두 0 또는 1이어야 합니다. y'는 x의 특성 세트에 대한 예측 값(0~1 사이의 값)입니다. 로그 손실 방정식은 정보 이론에서 말하는 섀넌의 엔트로피 측정과 밀접한 관련이 있습니다. 또한 우도 함수의 음의 로그로 y의 Bernoulli 분포를 가정합니다. 실제로 손실 함수를 최소화하면 최대 우도 추정치가 생성됩니다. 로지스틱 회귀의 정규화 정규.. 2021. 7. 28.
로지스틱 회귀: 확률 계산 많은 문제에 확률 추정치가 출력으로 필요합니다. 로지스틱 회귀는 매우 효율적인 확률 계산 메커니즘입니다. 실제로 반환된 확률을 다음 두 방법 중 하나로 사용할 수 있습니다. '있는 그대로' 이진 카테고리로 변환 확률을 '있는 그대로' 사용하는 방법을 살펴보겠습니다. 한밤중에 개가 짖는 확률을 예측하기 위해 로지스틱 회귀 모델을 만든다고 가정합니다. 이 확률은 다음과 같이 표시합니다. p(bark | night) 로지스틱 회귀 모델이 예측한 p(bark | night)가 0.05이면 개 주인은 1년 동안 약 18번 놀라서 깨게 됩니다. startled = p(bark | night) * nights 18 ~= 0.05 * 365 많은 경우 로지스틱 회귀 출력을 이진 분류 문제의 해결 방법으로 매핑합니다. .. 2021. 7. 26.
단순성을 위한 정규화: 람다 모델 개발자는 람다라는 스칼라(정규화율이라고도 함)를 정규화 항의 값에 곱하여 정규화 항의 전반적인 영향을 조정합니다. 즉, 모델 개발자는 다음을 수행하는 것을 목표로 합니다. 최소화손실데이터모델복잡도모델최소화 (손실 (데이터|모델)+λ복잡도 (모델)) L2 정규화를 수행하면 모델에 다음과 같은 효과를 줄 수 있습니다. 가중치 값을 0으로 유도(정확히 0은 아님) 정규 (종 모양 또는 가우시안) 분포를 사용하여 가중치 평균을 0으로 유도 람다 값을 높이면 정규화 효과가 강화됩니다. 예를 들어 높은 람다 값에 대한 가중치 히스토그램은 그림 2처럼 보일 수 있습니다. 람다 값을 낮추면 그림 3과 같이 더 평평한 히스토그램이 산출되는 경향이 있습니다. 람다 값을 선택할 때 세워야 할 목표는 단순성과 학습 데이.. 2021. 7. 25.
L₂ 정규화 다음에 제시된 일반화 곡선은 학습 반복 횟수에 대해 학습 세트와 검증 세트의 손실을 보여줍니다. 그림 1은 학습 손실은 점차 감소하지만 검증 손실은 결국 증가하는 모델을 보여줍니다. 즉, 이 일반화 곡선은 모델이 학습 세트의 데이터에 대해 과적합하다는 것을 보여줍니다. 이전에 언급했던 Occam 개념을 활용하면 복잡한 모델에 페널티를 부여하는 정규화라는 원칙을 사용하여 과적합을 방지할 수 있을지도 모릅니다. 다시 말해 다음은 단순히 손실을 최소화하는 것만을 목표로 삼습니다 (경험적 위험 최소화). 최소화 (손실 (데이터|모델) ) 이제 구조적 위험 최소화를 통해 다음과 같이 손실과 복잡도를 함께 최소화해 보겠습니다. 최소화 (손실 (데이터|모델) + 복잡도 (모델) ) 이제 우리의 학습 최적화 알고리즘은.. 2021. 7. 25.
특성교차: 원-핫 벡터 교차 이제까지는 별개의 두 부동 소수점 특성의 특성 교차에 초점을 맞추었습니다. 실제로 머신러닝 모델에서 연속 특성을 교차하는 경우는 거의 없습니다. 하지만 원-핫 특성 벡터를 교차하는 경우는 많습니다. 원-핫 특성 벡터의 특성 교차는 논리적 결합이라고 생각하세요. 예를 들어 국가와 언어, 두 특성이 있다고 가정합니다. 각 특성을 원-핫 인코딩하면 country=USA, country=France 또는 language=English, language=Spanish로 해석할 수 있는 이진 특성이 포함된 벡터가 생성됩니다. 그런 다음 이러한 원-핫 인코딩의 특성을 교차하면 다음과 같이 논리적 결합으로 해석할 수 있는 이진 특성이 생성됩니다. country:usa AND language:spanish 다른 예로 위.. 2021. 7. 25.
특성교차: 비선형성 인코딩 그림 1과 2에서 다음을 상상해 보세요. 파란색 점은 병든 나무를 나타냅니다. 주황색 점은 건강한 나무를 나타냅니다. 그림 1. 선형 문제 병든 나무와 건강한 나무를 깔끔하게 구분하는 선을 그릴 수 있나요? 예. 그릴 수 있습니다. 이 문제는 선형 문제입니다. 완벽한 선을 그릴 수는 없습니다. 병든 나무 한두 개가 '건강한' 쪽에 있을 수도 있지만, 이 선을 기준으로 나무의 상태를 적절히 예측할 수 있습니다. 이제 다음 그림을 보세요. 그림 2. 선형 문제 병든 나무와 건강한 나무를 깔끔하게 구분하는 직선 하나를 그릴 수 있나요? 아니요. 그릴 수 없습니다. 이 문제는 비선형 문제입니다. 어떤 선을 그려도 나무의 상태를 적절히 예측할 수 없습니다. 그림 3. 하나의 선으로 두 클래스를 구분할 수 없음 그.. 2021. 7. 25.
표현: 데이터 정제 한 그루의 사과나무에서는 좋은 사과와 벌레 먹은 사과가 같이 열립니다. 그러나 과일 가게에서 판매하는 과일들은 모두 최고의 품질을 자랑합니다. 유통 과정 중간에서 누군가가 심혈을 기울여 불량한 과일을 솎아내고 약간 흠집이 있는 과일을 깨끗이 손질한 것입니다. ML 엔지니어 역시 불량한 예를 솎아내고 약간 문제가 있는 예를 깨끗이 손질하는 데 막대한 노력을 기울입니다. '나쁜 사과' 몇 개가 거대한 데이터 세트를 망칠 수 있습니다. 특성 값 조정 조정이란 부동 소수점 특성 값을 100~900 등의 자연 범위에서 0~1 또는 -1~+1 등의 표준 범위로 변환하는 작업입니다. 특성 세트가 단일 특성으로만 구성된 경우 조정에 따르는 실질적인 이점은 거의 없습니다. 그러나 특성 세트가 여러 특성으로 구성되었다면 .. 2021. 7. 25.
표현: 좋은 특성의 조건 원시 데이터를 적절한 특성 벡터로 매핑하는 여러 가지 방법을 살펴보았지만, 아직 남은 과정이 많습니다. 지금부터는 이러한 특성 벡터 내에서 어떠한 종류의 값이 실제로 좋은 특성이 되는지 알아보겠습니다. 거의 사용되지 않는 불연속 특성 값 배제 좋은 특성 값은 데이터 세트에서 5회 이상 나타나야 합니다. 이러한 특성 값은 모델에서 라벨과의 관계를 학습하기가 쉽습니다. 즉, 동일한 이산 값을 갖는 예가 많으면 모델에서 다양한 설정으로 특성을 확인하여 라벨을 예측하는 좋은 지표인지를 판단할 수 있습니다. 예를 들어 house_type 특성은 값이 victorian인 예를 많이 포함할 수 있습니다. ✔house_type: victorian 반대로, 특성의 값이 한 번만 나타나거나 매우 드물게 나타난다면 모델에서.. 2021. 7. 25.
표현: 특성 추출 기존의 프로그래밍에서는 코드에 중점을 두었습니다. 머신러닝 프로젝트에서는 표현에 중점을 둡니다. 즉, 개발자는 특성을 추가하고 개선하여 모델을 다듬어 나갑니다. 원시 데이터를 특성에 매핑 그림 1의 왼쪽 부분은 입력 데이터 소스의 원시 데이터이고 오른쪽 부분은 특성 벡터, 즉 데이터 세트의 예로 구성된 부동 소수점 값의 집합입니다. 특성 추출이란 원시 데이터를 특성 벡터로 변환하는 과정입니다. 특성 추출에는 일반적으로 상당한 시간이 소요됩니다. 여러 머신러닝 모델은 특성 값에 모델 가중치를 곱해야 하므로 실수 벡터로 가중치를 표현해야 합니다. 특성 추출이라는 과정을 통해 원시 데이터가 특성 벡터에 매핑됩니다. 숫자 값 매핑 정수와 부동 소수점 데이터에는 숫자 가중치를 곱할 수 있으므로 특수한 인코딩은 필.. 2021. 7. 25.
추가 분할(검증데이터 추가?) 이전 모듈에서는 데이터 세트를 학습 세트와 테스트 세트로 분리하는 방법을 소개했습니다. 이러한 분리를 통해 예제 세트 하나로는 학습을 수행하고, 다른 예제 세트로는 모델 테스트를 수행할 수 있었습니다. 두 개의 분할을 사용하는 워크플로우의 예는 다음과 같습니다. 그림 1. 가능한 워크플로우 이 그림에서 '모델 조정'이란 학습률 변경, 특성 추가 또는 삭제, 완전히 새로운 모델 설계와 같이 모델에서 가능한 모든 요소를 조정함을 의미합니다. 이 워크플로우 마지막에서 테스트 세트를 기준으로 가장 우수한 모델을 선택합니다. 데이터 세트를 둘로 나누는 것은 좋은 생각이지만 더 훌륭한 방법이 있습니다. 다음 그림과 같이 데이터 세트를 셋으로 나누면 과적합 가능성을 크게 낮출 수 있습니다. 그림 2. 데이터 세트 하.. 2021. 7. 25.
데이터 분할 이전 모듈에서는 데이터 세트를 다음과 같이 두 부분으로 나눈다는 개념을 소개했습니다. 학습 세트 - 모델을 학습시키기 위한 데이터 세트의 일부분 평가 세트 - 모델을 테스트하기 위한 데이터 세트의 일부분 데이터 세트 하나를 다음과 같이 분할하는 방법을 생각해 볼 수 있습니다. 그림 1. 데이터 세트 하나를 학습 세트와 평가 세트로 분할 평가 세트는 다음 두 가지 조건을 만족해야 합니다. 통계적으로 유의미한 결과를 도출할 만큼 커야 합니다. 데이터 세트를 전체적으로 나타내야 합니다. 즉, 평가 세트가 학습 세트와 같은 특징을 가지도록 선별해야 합니다. 평가 세트가 위와 같은 두 가지 조건을 만족한다면 이제 새로운 데이터에도 일반화될 수 있는 모델을 만드는 것이 목표입니다. 평가 세트는 새 데이터를 모의 실.. 2021. 7. 25.
일반화 : 과적합의 위험 이 모듈에서는 일반화에 초점을 맞추고 세 개의 그림을 활용하여 일반화 개념에 대해 알아봅니다. 그림의 각 점은 숲에서 나무의 위치를 나타낸다고 가정합니다. 두 색상의 의미는 다음과 같습니다. 파란색 점은 병든 나무를 나타냅니다. 주황색 점은 건강한 나무를 나타냅니다. 이를 염두에 두고 그림 1을 살펴보세요. 그림 1. 병든(파란색) 나무와 건강한(주황색) 나무 그다음에 병든 나무나 건강한 나무를 예측하는 데 적합한 모델을 생각할 수 있으세요? 잠시 시간을 내어 머릿속으로 파란색 나무와 주황색 나무를 나누는 호를 그리거나 주황색 나무 또는 파란색 나무의 배치로 분류하세요. 그런 다음 그림 2를 보고 특정 머신러닝 모델에서 병든 나무와 건강한 나무를 구분하는 방법을 확인하세요. 이 모델에서는 손실이 매우 적.. 2021. 7. 25.
반응형