머신 러닝 및 신경망 - 페이지 61

 

기계 학습에 대한 친숙한 소개



기계 학습에 대한 친숙한 소개

안녕하세요. 기계 학습의 세계에 오신 것을 환영합니다. 오늘은 머신러닝이 무엇인지 알아보겠습니다. 이 세상에는 인간과 컴퓨터가 있으며 이들 사이의 주요 차이점 중 하나는 학습 방법입니다. 인간은 과거의 경험에서 배우지만 컴퓨터는 프로그래밍되고 지시를 따라야 합니다. 하지만 컴퓨터가 경험을 통해 배우도록 가르칠 수 있을까요? 대답은 '예'이며, 바로 여기에서 기계 학습이 시작됩니다. 컴퓨터 영역에서는 과거의 경험을 데이터라고 합니다.

다음 몇 분 동안 컴퓨터가 이전 데이터로부터 학습하도록 가르칠 수 있는 방법을 보여주는 몇 가지 예를 제시하겠습니다. 흥미로운 부분은 이러한 알고리즘이 매우 간단하고 머신 러닝을 두려워할 필요가 없다는 것입니다. 첫 번째 예를 살펴보겠습니다. 우리가 주택 시장을 연구하고 있고 우리의 임무가 집 크기에 따라 집 가격을 예측하는 것이라고 상상해보십시오. 크기와 가격을 포함하여 다양한 주택에 대한 데이터를 수집했습니다. x축은 집 크기를 평방 피트로 나타내고 y축은 가격을 달러로 나타내는 그래프에 이 데이터를 플로팅하면 둘 사이의 관계를 시각화할 수 있습니다. 데이터 포인트가 대략적으로 선을 형성하는 것을 알 수 있습니다.

선형 회귀라는 방법을 사용하여 데이터 포인트에 가장 잘 맞는 선을 그릴 수 있습니다. 이 선은 주어진 크기의 주택 가격을 예측하기 위한 최선의 추측을 나타냅니다. 그래프를 살펴보면 선의 해당 지점을 식별하여 중형 주택의 가격을 추정할 수 있습니다. 선형 회귀를 사용하면 선과 데이터 포인트 사이의 오류를 최소화하여 가장 적합한 선을 찾을 수 있습니다. 선형 회귀는 기계 학습 알고리즘의 한 예일 뿐입니다. 데이터가 선형 관계를 형성할 때 비교적 간단하고 효과적입니다. 그러나 문제의 특성에 따라 곡선, 원 또는 더 높은 차수의 다항식과 같은 다른 유형의 데이터를 맞추기 위해 유사한 방법을 사용할 수 있습니다.

이제 다른 예로 넘어 갑시다. 이메일 스팸 감지 시스템을 구축한다고 가정합니다. 스팸으로 표시되었는지 여부를 포함하여 이전 이메일에 대한 데이터를 수집했습니다. 이 데이터를 분석하여 이메일이 스팸인지 여부를 나타낼 가능성이 있는 기능을 식별할 수 있습니다. 예를 들어 "저렴한"이라는 단어가 포함된 전자 메일은 종종 스팸으로 표시될 수 있습니다. 나이브 베이즈 알고리즘을 사용하여 확률을 이러한 기능과 연결할 수 있습니다. 이 경우 이메일에 "저렴한"이라는 단어가 포함되어 있으면 해당 이메일의 80%가 스팸으로 표시됩니다. 여러 기능과 관련 확률을 결합하여 기능을 기반으로 이메일이 스팸인지 여부를 예측하는 분류자를 만들 수 있습니다.

다음 예시로 넘어가서 App Store나 Google Play에서 일하고 있고 사용자에게 앱을 추천하는 것이 목표라고 가정해 보겠습니다. 사용자, 특성 및 다운로드한 앱에 대한 데이터를 수집할 수 있습니다. 이 데이터를 분석하여 권장 사항을 안내하는 의사 결정 트리를 구축할 수 있습니다. 의사 결정 트리는 사용자 특성에 따른 질문으로 구성되어 특정 앱을 추천합니다. 예를 들어 사용자가 20세 미만인지 물어볼 수 있습니다. 답변에 따라 특정 앱을 추천할 수 있습니다. 사용자가 나이가 많은 경우 성별과 같은 다른 질문을 하여 권장 사항을 더 세분화할 수 있습니다. 의사 결정 트리는 사용자 특성을 기반으로 개인화된 앱 추천을 만드는 데 도움이 됩니다.

마지막으로 대학의 입학처를 살펴보자. 그들은 입학 시험 점수와 학생의 성적이라는 두 가지 정보를 기반으로 어떤 학생을 입학시킬지 결정하려고 합니다. 이전에 합격한 학생과 불합격한 학생의 데이터를 분석하여 로지스틱 회귀 모델을 만들 수 있습니다.

로지스틱 회귀를 사용하여 수락된 학생과 거부된 학생의 데이터 포인트를 구분하는 선을 그릴 수 있습니다. 이 선은 학생의 입학 또는 거부 여부를 결정하는 결정 경계를 나타냅니다. 로지스틱 회귀 모델은 입학 시험 점수와 성적을 기반으로 입학 확률을 계산합니다. 결정 경계가 설정되면 입시 점수와 성적을 그래프로 그려 신입생을 평가할 수 있습니다. 포인트가 결정 경계 위에 있으면 모델은 입학을 예측합니다. 아래로 떨어지면 모델이 거부를 예측합니다. 이는 기계 학습 알고리즘의 몇 가지 예일 뿐이며 다양한 도메인에 적용할 수 있는 방법입니다. 기계 학습을 통해 컴퓨터는 모든 시나리오에 대해 명시적으로 프로그래밍하지 않고도 데이터에서 학습하고 예측 또는 결정을 내릴 수 있습니다. 자동화, 패턴 인식 및 복잡하고 대규모 데이터를 처리하는 기능을 지원합니다.

기계 학습에는 학습할 데이터가 필요하다는 점에 유의해야 합니다. 데이터의 품질과 관련성은 모델의 정확성과 효율성에 중요한 역할을 합니다. 또한 기계 학습 모델은 일반화 가능성을 보장하기 위해 대표적인 데이터 세트에서 훈련되고 검증되어야 합니다.

기계 학습은 수많은 알고리즘, 기술 및 응용 프로그램을 통해 빠르게 진화하는 분야입니다. 연구원과 실무자는 지속적으로 새로운 방법을 탐색하고 가능한 범위를 넓히고 있습니다. 기술이 발전하고 더 많은 데이터를 사용할 수 있게 됨에 따라 기계 학습은 다양한 산업과 우리 삶의 측면에 점점 더 큰 영향을 미칠 것으로 예상됩니다.

 

기계 학습: 테스트 및 오류 지표



기계 학습: 테스트 및 오류 지표

기계 학습 테스트 및 오류 메트릭에 대한 이 자습서에 오신 것을 환영합니다. 제 이름은 Luis Serrano이고 기계 학습을 가르치는 Udacity에서 일하고 있습니다. 그건 내 사진이야. 오늘 우리는 두 가지 질문에 초점을 맞출 것입니다. 첫째, 내 모델이 얼마나 잘 작동하고 있습니까? 이를 파악한 후 이러한 메트릭을 기반으로 이를 개선하려면 어떻게 해야 합니까? 바로 들어가서 몇 가지 데이터를 살펴보겠습니다. 파란색 점과 빨간색 점이 있고 이를 구분하도록 모델을 훈련하려고 합니다. 우리의 가장 간단한 모델은 데이터를 파란색과 빨간색으로 자르는 선인 선형 모델입니다. 그것은 약간의 실수를 하지만 일반적으로 좋습니다. 더 높은 다항식을 사용하는 더 복잡한 모델도 고려해 보겠습니다. 이 모델은 점을 더 잘 분리하지만 두 모델 중 어떤 모델이 더 낫습니까?

이 질문에 답하려면 테스트를 사용해야 합니다. 교육에 모든 포인트를 사용하는 대신 교육 및 테스트 세트로 분할했습니다. 학습 포인트는 모델을 학습하는 데 사용되는 반면 테스트 포인트는 모델의 성능을 평가하는 데 사용됩니다. 이 예에서 선형 모델은 테스트 세트에서 한 가지 실수를 하는 반면 다항식 모델은 두 가지 실수를 합니다. 따라서 선형 모델은 더 잘 일반화되기 때문에 테스트 세트에서 더 잘 수행됩니다.

테스트와 관련하여 따라야 할 몇 가지 중요한 규칙이 있습니다. 첫 번째 황금률은 교육에 테스트 데이터를 사용하지 않는 것입니다. 테스트 데이터를 별도로 보관하고 평가용으로만 사용하십시오. 두 번째 규칙은 친구도 훈련을 위해 테스트 데이터를 사용하지 않도록 하는 것입니다. 마지막으로 세 번째 규칙은 테스트 데이터를 교육용으로 사용하지 말 것을 강조합니다. 테스트 데이터의 우발적인 오용을 피하는 것이 중요합니다.

훈련 세트와 테스트 세트로 분리하여 데이터를 낭비하는 것처럼 보일 수 있지만 이 문제를 해결할 수 있는 방법이 있습니다. 일반적으로 k-폴드 교차 검증이라는 기술을 사용하여 데이터를 k개의 동일한 세트로 분할할 수 있습니다. 데이터의 각 부분은 훈련과 테스트 모두에 사용되며 결과는 마지막에 평균화됩니다. 이 접근 방식을 통해 모델의 성능을 평가하면서 데이터를 더 잘 활용할 수 있습니다.

이제 모델이 얼마나 잘 작동하는지 평가하는 데 도움이 되는 지표에 대해 논의해 보겠습니다. 일반적인 메트릭 중 하나는 정확도로, 모델이 총 인스턴스 수와 비교하여 올바르게 분류한 인스턴스 수를 측정합니다. 그러나 신용 카드 사기 감지, 의료 진단 및 스팸 분류의 예에서 볼 수 있듯이 정확도 자체가 항상 최상의 메트릭은 아닙니다. 이 경우 위음성과 위양성은 서로 다른 의미를 갖습니다.

모델을 보다 효과적으로 평가하기 위해 혼동 행렬을 사용합니다. 이 매트릭스는 참 긍정, 참 부정, 거짓 긍정 및 거짓 부정의 네 가지 가능성을 제시합니다. 이들 각각은 실제 데이터와 비교하여 모델의 예측을 기반으로 다른 결과를 나타냅니다. 예를 들어, 의료 진단에서 위음성은 아픈 사람이 건강한 것으로 분류된다는 것을 의미하며 이는 위양성보다 더 나쁩니다. 마찬가지로 스팸 분류에서 오탐은 스팸이 아닌 이메일이 스팸으로 표시됨을 의미하며 이는 오탐보다 더 나쁩니다.

가양성 및 가음성의 특정 상황과 결과를 고려하여 모델을 평가하기 위한 적절한 메트릭을 선택할 수 있습니다. 정확도만으로는 전체 그림을 파악할 수 없으며 정밀도, 재현율 및 F1 점수와 같은 다른 메트릭은 모델 성능에 대한 더 많은 통찰력을 제공할 수 있습니다.

이 두 점수를 하나로 합칠 수 있습니까? 정밀도와 재현율 점수를 결합하는 간단한 방법 중 하나는 평균을 취하는 것입니다. 제공된 정밀도 및 재현율 점수의 평균을 계산해 보겠습니다. 왼쪽의 정밀도는 69.5이고 오른쪽은 66.95입니다. 이 두 점수의 평균을 구하면 68.225가 됩니다. 그러나 이 평균은 충분한 정보를 제공하지 못할 수 있으며 정확도와 크게 다르지 않을 수 있습니다. 이 평균 점수의 의미를 이해하기 위해 신용 카드 사기 감지와 관련된 극단적인 예를 고려해 보겠습니다.

이 예에는 두 가지 모델이 있습니다. 하나는 모든 거래를 양호로 분류하고 다른 하나는 모든 거래를 사기로 분류합니다. 두 모델의 정밀도와 재현율을 계산해 봅시다.

모든 거래를 양호로 분류하는 모델의 경우 정밀도는 100%(불량으로 분류된 모든 것이 실제로 양호함)이고 재현율은 0%(사기 거래가 하나도 잡히지 않음)입니다. 정밀도와 재현율의 평균을 취하면 50%가 됩니다. 그러나 성능이 좋지 않은 모델에 그렇게 높은 점수를 주는 것은 적절하지 않은 것 같습니다. 유사하게 모든 거래를 사기로 분류하는 모델의 경우 정밀도는 0.16%(모든 거래 중 472개를 올바르게 분류함)이고 재현율은 100%(모든 사기 거래가 적발됨)입니다. 다시 말하지만 정밀도와 재현율 사이의 평균은 약 50%이며 이는 모델의 열악한 성능을 정확하게 반영하지 않습니다.

이 한계를 극복하기 위해 F1 점수라고도 하는 조화 평균이라는 다른 유형의 평균을 사용할 수 있습니다. 조화 평균은 공식 2 * (정밀도 * 재현율) / (정밀도 + 재현율)을 사용하여 계산됩니다. F1 점수는 특히 하나의 메트릭(정밀도 또는 재현율)이 다른 메트릭과 크게 다를 때 보다 균형 잡힌 표현을 제공합니다.

의료 모델의 경우 정밀도는 55.7이고 재현율은 83.3입니다. 조화 평균 공식을 사용하여 F1 점수를 계산하면 66.76%가 됩니다. 스팸 탐지 모델의 경우 정밀도는 76.9이고 재현율은 37입니다. F1 점수는 49.96%입니다. 선형 모델의 경우 정밀도는 75이고 재현율은 85.7입니다. F1 점수는 80%입니다.

신용 카드 사기 모델의 경우 모든 사기 거래를 잡는 것을 선호한다면 리콜을 우선시할 것입니다. 따라서 이 경우 좋은 메트릭은 정밀도보다는 재현율에 더 가깝습니다.

테스트 및 오류 메트릭은 기계 학습 모델을 평가하고 개선하는 데 중요합니다. 테스트의 황금률을 따르고, 적절한 지표를 선택하고, 거짓 양성 및 거짓 음성의 결과를 고려하면 모델에 대해 정보에 입각한 결정을 내리는 데 도움이 됩니다.

정밀도와 재현율을 단일 점수로 결합하는 것은 F1 점수를 사용하여 수행할 수 있습니다. 이 점수는 두 메트릭의 조화 평균을 취합니다. 이는 보다 균형 잡힌 평가를 제공하며 하나의 메트릭이 다른 메트릭과 크게 다를 때 특히 유용합니다.

 

ROC(Receiver Operating Characteristic) 곡선이 10분 안에!



ROC(Receiver Operating Characteristic) 곡선이 10분 안에!

인사말! 저는 Luis Serrano입니다. 이 비디오에서는 ROC(Receiver Operating Characteristic) 곡선에 대해 설명합니다. ROC 곡선은 기계 학습 모델을 평가하고 중요한 결정을 내리는 데 널리 사용됩니다.

파란색과 빨간색 점이 포함된 데이터 세트부터 시작하겠습니다. 여기서 파란색 점은 양수로, 빨간색 점은 음수로 레이블이 지정됩니다. 이 데이터 세트에 맞는 기계 학습 모델을 구축할 것입니다. 예를 들어, 이 줄을 고려하십시오. 선의 파란색 면은 해당 면의 모든 점을 파란색 또는 양수로 분류하고 빨간색 면은 해당 면의 점을 빨간색 또는 음수로 분류합니다. 그러나 모델은 몇 가지 실수를 합니다. 한 가지 예는 파란색 영역에 있는 빨간색 점으로 잘못된 긍정입니다. 또 다른 예는 위음성인 빨간색 영역의 선 아래에 있는 파란색 점입니다. 가양성 및 가음성을 더 잘 이해하려면 기계 학습 테스트 및 오류 메트릭에 대한 다른 비디오를 확인하십시오.

이제 동일한 유형의 모델에 대한 두 가지 다른 예를 살펴보겠습니다. 왼쪽의 모델은 의료용 모델로 긍정적인 점은 아픈 환자를 나타내고 부정적인 점은 건강한 환자를 나타냅니다. 반면 오른쪽 모델은 스팸 감지 모델로 긍정적인 점은 스팸 메시지이고 부정적인 점은 스팸이 아닌 메시지 또는 "햄" 메시지입니다.

의료 모델에서는 건강한 사람이 아프다고 진단되면 거짓 양성(false positive)이 발생하여 불필요한 검사로 이어집니다. 위음성은 아픈 사람이 건강한 것으로 진단되어 치료를 받지 못하는 경우에 발생합니다. 이 경우 아픈 사람을 치료하지 않고 집으로 보내는 것보다 건강한 사람을 보내 추가 검사를 받는 것이 낫기 때문에 위음성이 더 나쁜 것으로 간주됩니다. 따라서 거짓 음성을 줄이기 위해 모델을 수정하는 것을 목표로 합니다.

스팸 탐지 모델에서 거짓 긍정은 스팸으로 분류되어 스팸 폴더로 전송되는 양호한 "햄" 전자 메일입니다. 거짓 음성은 "햄"으로 잘못 분류되어 받은 편지함으로 전달되는 스팸 전자 메일입니다. 여기에서 스팸으로 표시된 중요한 이메일보다 받은 편지함에 가끔 스팸 이메일을 받는 것이 더 좋기 때문에 잘못된 긍정이 더 나쁜 것으로 간주됩니다. 따라서 이 모델에서는 오 탐지를 줄이는 데 중점을 둡니다.

이 두 모델은 극단을 나타내며 대부분의 모델은 중간에 위치하여 일부 거짓 양성 또는 거짓 음성을 허용합니다. 그러나 각 오류 유형에 할당된 중요도는 다를 수 있습니다. 따라서 각 모델 유형에 대해 분류 임계값을 설정하기 위한 최적점을 결정해야 합니다.

이 비디오에서는 그러한 결정을 내리는 데 도움이 되는 유용한 방법을 보여 드리겠습니다. 이 라인으로 표현되는 가상의 데이터 세트를 고려할 것입니다. 우리 모델은 이 라인의 평행 번역이 될 것입니다. 각 모델에 대해 올바르게 분류된 빨간색 및 파란색 점의 수를 기록합니다.

모든 파란색 포인트가 올바르게 분류되고 빨간색 포인트 중 어느 것도 올바르게 분류되지 않은 하단의 선부터 시작합니다. 이것은 0개의 올바른 빨간색 포인트와 5개의 올바른 파란색 포인트를 제공합니다. 이 값을 플로팅하고 선을 이동하여 한 번에 한 지점을 커버하여 올바른 분류를 기록합니다. 이 프로세스는 끝까지 계속됩니다. 마지막에는 항상 5개의 올바른 파란색 포인트와 0개의 올바른 빨간색 포인트가 있습니다. 이 점을 플로팅하고 곡선 아래 면적을 계산합니다. 이 경우 면적은 25개 중 21개이므로 곡선 아래 면적은 0.84가 됩니다. 영역 범위는 0에서 1 사이이며 값이 높을수록 모델 성능이 더 우수함을 나타냅니다. 이 ROC 곡선을 사용하여 모델에 대한 결정을 내릴 수 있습니다. 좋은 모델은 위양성과 위음성이 거의 없는 곡선의 한 점으로 표현됩니다. 의료 모델에서 위음성을 최소화하거나 스팸 탐지 모델에서 위양성을 최소화하는 것과 같은 특정 요구 사항에 따라 곡선에서 해당 지점을 선택할 수 있습니다.

또는 데이터 포인트가 모델에 의해 할당된 0과 1 사이의 점수를 갖는 것으로 볼 수 있습니다. 임계값을 적용하여 이러한 점수를 개별 예측으로 변환할 수 있습니다. 임계값을 조정하고 모델이 다른 수준에서 어떻게 수행되는지 관찰합니다. 이 프로세스는 ROC 곡선을 생성합니다. 곡선에서 한 점을 선택하면 예측에 적합한 임계값을 선택하는 데 도움이 됩니다. 또한 0.5 미만의 곡선 아래 영역이 더 나쁜 모델을 나타내지 않는다는 점은 주목할 가치가 있습니다. 사실 여전히 좋은 모델이 될 수 있습니다. 예를 들어 영역이 0인 모델은 모든 실수를 범하는 모델에 해당하지만 예측을 뒤집으면 실수가 없는 모델과 거의 비슷해집니다. 따라서 면적이 0.5 미만인 모델도 여전히 효과적일 수 있습니다.

관심을 가져 주셔서 감사합니다! 이 비디오가 마음에 드셨다면 더 많은 콘텐츠를 구독하십시오. 특히 향후 동영상에 대한 제안 사항이 있는 경우 좋아요, 공유 및 댓글을 남겨주세요. Twitter @LuisLikesMath에서 저에게 연락하실 수도 있습니다. 비디오, 서적 및 코스에 대한 자세한 내용은 Luis Serrano Academy를 확인하십시오. 다음 영상에서 만나요!

 

선형 회귀: 친근한 소개



선형 회귀: 친근한 소개

안녕하세요, 저는 Louis Serrano입니다. 이것은 선형 회귀에 대한 친근한 소개입니다. 이 비디오는 선형 회귀, 로지스틱 회귀 및 서포트 벡터 머신을 다루는 3부작 시리즈의 첫 번째 부분입니다. 그러나 지금은 선형 회귀에 초점을 맞추겠습니다.

일반적으로 선형 회귀에 대한 설명에는 선형 대수, 행렬, 도함수, 미적분 및 오류 함수와 같은 복잡한 개념이 포함됩니다. 하지만 저에게는 이것이 압도적일 수 있습니다. 나는 시각적 사고를 가지고 있으며 점과 선을 사용하여 보다 직관적인 접근 방식으로 선형 회귀를 이해하는 것을 선호합니다.

내가 의미하는 바를 보여 드리겠습니다. 먼저 주택 가격의 예를 사용하여 선형 회귀를 정의해 보겠습니다. 다양한 수의 방이 있는 5채의 집이 있다고 상상해 보십시오. 우리는 집을 3채 소유하고 있으며 판매 가격을 추정하고 싶습니다. 이를 위해 유사한 주택의 가격을 살펴보고 교육적인 추측을 시도합니다. 집 1이 $150,000, 집 2가 $200,000, 집 4가 $300,000, 집 5가 $350,000인 것을 관찰한 후 집 3이 $250,000 정도일 것이라고 추정할 수 있습니다.

본질적으로 여기서 우리가 한 것은 선형 회귀를 수행하는 것입니다. 가로축에 방의 수를, 세로축에 가격을 표시하여 그래프에 주택을 그렸습니다. 우리는 가격이 직선을 따르는 것처럼 보였기 때문에 최선의 견적을 내기 위해 집 3을 선에 배치했습니다. 일련의 점을 통해 선을 맞추고 예측에 사용하는 이 간단한 접근 방식은 선형 회귀의 핵심입니다.

실제로 가격 계산에는 추가 요소가 포함되어 데이터가 더 복잡해집니다. 그러나 여전히 집값에 근접한 선을 맞출 수 있습니다. 선형 회귀는 금융 분야의 주가 계산이나 의학 분야의 환자 수명 결정과 같은 다양한 시나리오에 적용될 수 있습니다. 응용 프로그램은 다양합니다.

이제 실제로 선형 회귀를 수행하는 방법에 대해 논의해 보겠습니다. 포인트에 가장 잘 맞는 라인을 찾기 위해서는 알고리즘이나 절차가 필요합니다. 단순화를 위해 점에 잘 맞을 때까지 선을 약간 조정하는 것과 관련된 기본 알고리즘에 중점을 둘 것입니다.

알고리즘을 요약하면 다음과 같습니다.

  1. 임의의 라인으로 시작합니다.
  2. 조정의 크기를 결정하는 학습률을 정의합니다.
  3. 지정된 횟수(에포크)만큼 다음 단계를 반복합니다.
    • 임의의 점을 선택합니다.
    • 선에 상대적인 위치를 기준으로 점을 향해 선을 이동합니다.
  4. 맞춤 라인을 즐기십시오!

점을 향해 선을 이동하기 위해 회전 및 변환을 수행합니다. 선을 시계 방향 또는 시계 반대 방향으로 회전하면 기울기가 조정되고 선을 위 또는 아래로 이동하면 y절편이 조정됩니다. 조정은 학습률에 따라 결정되는 소량을 더하거나 빼서 이루어집니다.

이 과정을 여러 번 반복하면 선이 점차 점에 가까워지면서 잘 맞는 결과가 나옵니다. Epoch의 수는 프로세스를 반복하는 횟수를 결정하며 원하는 정확도와 사용 가능한 계산 리소스에 따라 조정할 수 있습니다.

이것이 선형 회귀의 기본 아이디어입니다. 선을 데이터 포인트에 맞추고 예측을 수행하기 위한 강력한 도구입니다. 이 직관적인 설명이 선형 회귀를 더 잘 이해하는 데 도움이 되기를 바랍니다.

요점에 더 가까운 것이 있고 스퀘어 트릭이 효과적으로 작동하는지 확인해야 할 네 가지 경우가 있습니다. 점이 선 아래에 있고 y축 오른쪽에 있는 다른 경우를 살펴보겠습니다. 방정식이 다시 제시됩니다. 1단계에서는 0.01의 작은 학습률을 선택합니다. 2단계에서는 이 속도를 기울기와 y 절편에 적용합니다. 이제 점이 선 아래에 있으므로(-4) 수직 거리는 음수이고, 점이 y축 오른쪽(+5)에 있으므로 수평 거리는 양수로 유지됩니다. 기울기를 수정하려면 0.01 x (-4) x 5를 더하여 -0.2가 됩니다. -0.2를 빼면 기울기가 감소하여 선이 시계 방향으로 이동합니다. y 절편의 경우 학습률에 수직 거리를 곱한 값을 더하면 0.01 곱하기(-4)이므로 -0.04가 됩니다. 새 선 방정식은 y = 1.8 - 0.2x + 2.96 - 0.04가 됩니다. 기울기는 더 작아서 시계 방향 회전을 나타내고 y 절편은 더 작아서 하향 변환을 나타냅니다. 이 조정으로 요점에 더 가까워졌습니다. 네 가지 사례 중 두 가지만 확인했지만 두 번째 단계가 일관되게 작동하는지 확인하려면 모든 사례를 테스트해 보시기 바랍니다. 마지막으로 선형 회귀 알고리즘을 살펴보겠습니다. 알고리즘은 다음과 같이 진행됩니다.

  1. 임의의 라인으로 시작합니다.
  2. 반복 횟수(에포크)를 8,000으로 설정합니다.
  3. 0.01의 작은 단계 길이(학습률)를 선택합니다.
  4. 지정된 에포크 수에 대해 다음 루프를 반복합니다.
    • 점을 임의로 선택합니다.
    • 학습률, 수직 거리 및 수평 거리를 사용하여 점을 향해 이동하도록 선을 조정합니다.
  5. 맞춤 라인을 즐기십시오. 이것은 선형 회귀 알고리즘입니다. 제공된 의사 코드를 사용하여 코딩하고 다른 데이터 세트에서 테스트하여 성능을 관찰하는 것이 좋습니다. 저는 이 알고리즘을 구현했으며 매우 잘 작동한다는 것을 알았습니다.

이제 질문이 생깁니다. 이 알고리즘이 기존 알고리즘보다 더 나은가요 아니면 동일한가요? 이 상황은 한때 함께 일했던 John Borwein이라는 뛰어난 수학자를 생각나게 합니다. 그는 파이의 자릿수를 계산하기 위해 공식을 검색했고 공식이 파이에 근접할 때 새로운 공식을 발견하거나 파이에 현저하게 가까운 것을 발견했기 때문에 윈윈 상황이라는 것을 발견했습니다. 마찬가지로 이 알고리즘을 사용하면 윈-윈 상황이 됩니다. 기존 알고리즘보다 성능이 뛰어나거나 단순하면서도 효과적인 것으로 입증되었습니다.

놀랍게도 이 알고리즘은 제곱 오차 경사 하강법과 같은 전통적인 선형 회귀에서 사용되는 것과 정확히 동일합니다. 전통적인 접근 방식은 점과 선 사이의 거리를 계산한 다음 미분, 미적분 및 경사 하강법을 사용하거나 방정식의 선형 시스템을 해결하여 제곱 오차를 최소화하는 것입니다. 제가 제시하는 과제는 경사 하강법과 같이 제곱 오차를 계산하고 미분을 취하고 미분 방향과 반대 방향으로 작은 단계를 수행하여 제곱 트릭이 기존의 제곱 오차 방법과 동일한지 확인하는 것입니다. 차이 제곱의 도함수는 수직 및 수평 거리와 밀접한 관련이 있음을 알 수 있습니다. 이것은 스퀘어 트릭이 전통적인 접근 방식과 동일하다는 것을 보여줍니다.

두 번째 과제는 라인의 나쁜 점 또는 좋은 점을 측정하는 것과 관련이 있습니다. 우리는 이전에 거리를 제곱하는 것과 관련된 제곱 오차에 대해 논의했습니다. 또 다른 간단한 방법은 거리의 부호를 고려하지 않고 거리의 절대값을 추가하는 절대 오차입니다. 불량 선은 주황색 거리가 더 길고 양호한 선은 점에 더 가깝기 때문에 주황색 거리가 더 작습니다. 미적분학을 사용하면 절대 오차를 최소화하고 경사 하강 단계를 수행할 수 있습니다. 가로 거리만 처리하고 점에 상대적인 선의 위치를 처리하는 if 문을 포함하는 절대 트릭을 개발할 수 있습니다. 이 도전을 탐구함으로써 당신은 절대적인 트릭을 발견하게 될 것입니다. 자유롭게 코딩하고 그 효과를 관찰하십시오.

이 비디오는 선형 회귀에 중점을 두었습니다. 이것은 로지스틱 회귀 및 지원 벡터 머신에 대한 요령을 포함하는 3부작 시리즈의 일부임을 기억하십시오. 앞으로 올라올 동영상을 기대해 주세요. 이 콘텐츠가 마음에 드셨다면 구독, 좋아요, 공유를 고려해 주세요. 귀하의 의견, 질문 및 제안에 감사드립니다. 도전 과제를 어떻게 해결했는지 알려주고 향후 동영상의 주제를 자유롭게 제안하세요. 트위터(@LouisLikesMath)에서도 저에게 연락하실 수 있습니다. 감사합니다. 다음 영상에서 뵙겠습니다.

 

로지스틱 회귀 및 퍼셉트론 알고리즘: 친숙한 소개



로지스틱 회귀 및 퍼셉트론 알고리즘: 친숙한 소개

세 가지 경우를 모두 동시에 처리할 수 있는 더 나은 알고리즘이 있습니다. 이제 이러한 경우를 함께 처리하는 퍼셉트론 트릭을 설명하겠습니다. 방정식이 같은 선과 빨간색 선 위에 있는 파란색 점을 고려해 봅시다. 이 점을 수용하기 위해 선의 위치를 조정해야 합니다. 이를 위해 -6의 값을 약간(예: 0.1) 줄이면 선이 위쪽으로 이동합니다. 다음으로 선의 기울기를 조정하여 회전합니다. 예를 들어 선을 더 가파르게 회전하려면 2의 값을 1.8로 줄일 수 있습니다.

마찬가지로 점이 해당 방향으로 더 멀리 있는 경우 선을 더 가깝게 회전해야 합니다. 이 경우 2의 값을 1.4로 줄일 수 있습니다. 그러나 점이 다른 쪽에 있는 경우 선을 반대 방향으로 회전해야 합니다. 따라서 2의 값을 높여야 할 수도 있습니다. 예를 들어 2.2라고 합시다. 이 과정을 다시 한 번 더 정확하게 살펴보겠습니다. 점이 y축에서 멀지 않은 경우 -6의 값을 0.01과 같이 약간 줄이면 선이 약간 위로 이동합니다.

이제 2의 값을 고려해 봅시다. 점의 좌표가 (4, 5)인 경우 수평 거리는 4입니다. 기울기를 조정하려면 4에 학습률(예: 0.04)을 곱하여 2의 값을 줄일 수 있습니다. . 이렇게 하면 선이 피벗을 중심으로 회전합니다. 마찬가지로 3의 값에도 동일한 원리를 적용할 수 있습니다. 예를 들어 점의 좌표가 (4, 5)인 경우 수직 거리는 5입니다. 5에 0.05와 같은 학습률을 곱하면 값을 줄일 수 있습니다. 3. 이렇게 하면 선이 더 회전합니다. 마지막으로 2를 0.04, 3을 0.05, -6을 0.01로 줄이면 방정식은 1.96x + 2.95y - 6.01이 됩니다. 퍼셉트론 트릭으로 알려진 이 기술은 조정의 방향과 크기를 모두 처리합니다. 요약하면 학습률이 0.01인 경우 a를 학습률 x b로 줄이고 b를 학습률 x q만큼 줄이고 c를 a만큼 줄임으로써 ax + x + c = 0의 형태로 방정식을 업데이트할 수 있습니다. 학습 속도.

그러나 한 가지 더 고려해야 할 사항이 있습니다. 파란색 영역이 위쪽에 있고 빨간색 영역이 아래쪽에 있는 경우 포인트가 잘못 분류되었습니다. 이 시나리오에서는 값을 빼는 대신 값을 더합니다. 예를 들어, 2x + 3y - 6 = 0 대신 -2x - 3y + 6 = 0인 경우 a, b, c에 소량을 추가합니다. y축을 기준으로 점의 위치를 고려하여 값을 늘릴지 줄일지 결정할 수 있습니다. 이제 더 나은 접근 방식인 로지스틱 회귀 알고리즘으로 넘어 갑시다.

자세한 내용은 다루지 않겠지만 개요와 두 가지 과제를 알려드리겠습니다. 첫 번째 과제는 분류기의 성능을 측정하기 위해 오차 함수를 사용하는 경사 하강법입니다. 오류를 최소화하고 미적분을 사용하여 알고리즘을 개선하는 것이 목표입니다. 그래디언트 디센트 프로세스는 앞서 논의한 퍼셉트론 알고리즘과 유사합니다.

두 번째 과제는 로지스틱 회귀에 적합한 활성화 함수를 선택하는 것입니다. 활성화 함수는 입력의 가중 합을 0과 1 사이의 확률 값으로 변환하는 역할을 합니다.

일반적으로 사용되는 활성화 함수 중 하나는 S자 곡선을 갖는 시그모이드 함수입니다. 임의의 실수를 0과 1 사이의 값으로 매핑합니다. 시그모이드 함수는 다음과 같이 정의됩니다.

σ(z) = 1 / (1 + e^(-z))

여기서 z는 입력의 가중 합계를 나타내며 다음과 같이 계산됩니다.

z = a x + b y + c

로지스틱 회귀에서 목표는 관찰된 데이터의 우도를 최대화하는 a, b 및 c의 최적 값을 찾는 것입니다. 이것은 종종 교차 엔트로피 손실 함수라고 하는 비용 함수를 최소화함으로써 달성됩니다.

비용 함수는 예측 확률과 실제 클래스 레이블 간의 불일치를 측정합니다. 비용 함수의 일반적인 형태는 다음과 같습니다.

J(a, b, c) = -1/m * Σ(y * log(σ(z)) + (1-y) * log(1-σ(z)))

이 방정식에서 m은 훈련 예제의 수를 나타내고 y는 실제 클래스 레이블(0 또는 1)이며 σ(z)는 포지티브 클래스의 예측 확률입니다.

비용 함수를 최소화하기 위해 경사하강법을 적용할 수 있습니다. 경사하강법의 기본 개념은 이러한 매개변수에 대한 비용 함수의 기울기와 반대 방향으로 매개변수 값(a, b 및 c)을 반복적으로 업데이트하는 것입니다. 이 프로세스는 비용 함수가 최소화되는 수렴까지 계속됩니다.

로지스틱 회귀에서 경사 하강법에 대한 업데이트 방정식은 퍼셉트론 알고리즘의 업데이트 방정식과 유사합니다. 학습률(α)을 사용한 파라미터 업데이트는 다음과 같습니다.

a := a - α * ∂J/∂ab := b - α * ∂J/∂bc := c - α * ∂J/∂c

편도함수(∂J/∂a, ∂J/∂b, ∂J/∂c)는 각 매개변수에 대한 비용 함수의 기울기를 나타냅니다. 미적분을 사용하여 계산할 수 있습니다.

경사 하강법을 사용하여 매개변수 값을 반복적으로 업데이트함으로써 로지스틱 회귀는 퍼셉트론 알고리즘에 비해 더 유연하게 데이터를 분류하는 방법을 학습할 수 있습니다. 이진 분류 문제에 널리 사용되는 효과적인 알고리즘입니다.

결론적으로 로지스틱 회귀는 퍼셉트론 알고리즘의 원칙을 기반으로 하지만 확률적 프레임워크와 다른 비용 함수를 도입합니다. 경사하강법을 적용하여 매개변수를 최적화하여 관찰된 데이터의 우도를 최대화합니다. 시그모이드 활성화 함수를 선택하면 로지스틱 회귀에서 클래스 구성원에 대한 확률 추정치를 생성할 수 있습니다.

 

지원 벡터 머신(SVM): 친숙한 소개



지원 벡터 머신(SVM): 친숙한 소개

안녕하세요, 제 이름은 Luis Serrano입니다. 이것은 SVM(줄여서 SVM)에 대한 친근한 소개입니다. 이것은 선형 모델에 대한 3개의 시리즈 중 세 번째 비디오입니다. 첫 번째를 아직 보지 않았다면 '선형 회귀'라고 하고 두 번째는 '로지스틱 회귀'라고 합니다. 이 비디오는 두 번째 비디오에서 다룬 개념을 기반으로 합니다.

먼저 캐나다 브리티시 컬럼비아의 Quest University에서 가르친 기계 학습 수업의 학생들에게 공로를 인정하고 싶습니다. 그들은 제가 이 비디오의 핵심 아이디어를 개발하는 데 도움을 주었고 그들과 함께 일하는 것은 멋진 경험이었습니다. 사진에서 제 친구이자 대학 교수인 Richard Hoshino와 함께 있는 모습을 볼 수 있습니다.

이제 SVM에 대해 살펴보겠습니다. 서포트 벡터 머신은 선을 사용하여 두 클래스의 포인트를 구분하는 것을 목표로 하는 중요한 분류 알고리즘입니다. 그러나 SVM은 한 단계 더 나아가 점 사이의 분리를 최대화하는 최상의 가능한 선을 찾습니다. 일반적으로 SVM은 선형 최적화 또는 경사 하강법으로 설명됩니다. 그런데 이번 영상에서는 문헌에서 본 적 없는 '스몰 스텝 방식'이라는 방법을 소개하겠습니다. 라인의 분류 능력을 지속적으로 개선하는 반복적인 접근 방식입니다.

먼저 로지스틱 회귀 및 퍼셉트론 알고리즘에 대한 이전 비디오를 요약해 보겠습니다. 그 비디오에서 우리는 데이터를 빨간색 점과 파란색 점의 두 클래스로 구분하는 선을 찾는 것을 목표로 했습니다. 퍼셉트론 알고리즘은 임의의 선으로 시작하여 점의 피드백을 기반으로 반복적으로 조정합니다. 알고리즘은 포인트를 올바르게 분류하는 라인의 기능을 점진적으로 개선하기 위해 작은 단계를 수행합니다.

이제 SVM의 추가 단계를 소개하겠습니다. 한 줄만 찾는 대신 데이터를 효과적으로 분리하면서 가능한 한 멀리 떨어져 있는 두 개의 평행선을 찾는 것을 목표로 합니다. 이를 설명하기 위해 주선에서 같은 거리에 있는 두 쌍의 평행선을 상상해 보십시오. 목표는 이 두 선 사이의 거리를 최대화하는 것입니다. 분리가 클수록 분류가 더 좋습니다.

다음으로 알고리즘을 훈련하여 최상의 라인을 선택해야 합니다. 선 방정식에 다른 상수를 곱하여 이를 달성합니다. 이렇게 하면 선 사이의 거리를 제어할 수 있습니다. 상수가 클수록 간격이 넓어지고 상수가 작을수록 선이 더 가까워집니다. 이런 식으로 거리를 최대화하는 최적의 라인을 찾을 수 있습니다.

방정식을 사용하여 선을 구분하기 위해 예제 방정식을 살펴보겠습니다: 2x + 3y - 6 = 0. 이 방정식에 상수 인수를 곱해도 선 자체는 변경되지 않지만 선 사이의 거리에 영향을 미칩니다. 이 상수를 조정하여 선을 확장하거나 축소할 수 있습니다.

SVM 알고리즘을 공식화하기 위해 우리는 선을 분산시키기 위한 단계 크기를 결정하는 확장 속도를 통합합니다. 선 방정식에 0.99와 같이 1에 가까운 값을 곱하면 각 반복에서 선 사이의 거리가 점차 증가합니다.

요약하면 SVM 알고리즘은 다음 단계를 따릅니다.

  1. 임의의 선과 두 개의 등거리 평행선으로 시작합니다.
  2. 퍼셉트론 알고리즘을 적용하여 포인트 피드백을 기반으로 선의 위치를 조정합니다.
  3. 선을 약간 벌리려면 확장 속도를 도입하십시오.
  4. 이러한 단계를 반복하여 분리를 최대화하는 최적의 선을 찾습니다.

이것은 SVM 알고리즘에 대한 간략한 개요와 분류를 개선하기 위해 작은 단계 방법을 통합하는 방법입니다. 분류 문제를 해결하는 효과적인 기술이며 이 비디오가 SVM에 대한 고유한 관점을 제공하기를 바랍니다.

이제 모델의 오류에 기여하는 또 다른 측면을 고려할 것입니다. 이 측면은 두 선 사이의 거리를 기반으로 합니다. 이를 시연하기 위해 데이터 세트를 분류하는 두 개의 SVM(Support Vector Machine)을 살펴보겠습니다. 첫 번째 SVM은 선이 더 넓지만 점을 잘못 분류하는 반면, 두 번째 SVM은 선이 좁지만 모든 점을 올바르게 분류합니다. 문제는 어느 것이 더 낫습니까? 대답은 데이터 세트, 모델 및 시나리오와 같은 다양한 요소에 따라 다릅니다. 그러나 오류 함수를 사용하여 이를 분석할 수 있습니다.

퍼셉트론 알고리즘의 오류 계산을 상기해 봅시다. 포인트가 올바르게 분류되면 오류는 0입니다. 점이 잘못 분류된 경우 오류는 경계로부터의 거리에 따라 달라집니다. 경계에 가까운 점은 오차가 작고 멀리 있으면 오차가 큽니다. 우리는 이 거리 관계를 포착하는 오차 함수를 원합니다. 마찬가지로 SVM에는 파란색 분류 오류와 빨간색 분류 오류라는 두 가지 분류 오류가 있습니다. 각 오류는 잘못 분류된 점에서 해당 경계까지의 거리를 측정합니다. 이러한 거리를 합산하여 분류 오류를 얻습니다.

또한 라인의 근접성을 나타내는 여백 오류가 있습니다. 여백 오류가 크면 선이 서로 더 가깝다는 것을 의미하고 여백 오류가 작으면 선이 더 멀리 떨어져 있음을 나타냅니다. 모델에 작은 마진 오류가 있어서 넓은 선을 나타냅니다. 따라서 오류가 작을수록 모델이 더 좋습니다. 흥미롭게도 마진 오류는 L2 정규화의 정규화 항과 유사합니다.

요약하면 SVM 오류는 분류 오류와 마진 오류로 구성됩니다. 분류 오류는 잘못 분류된 점의 수와 잘못 분류된 정도를 측정합니다. 여백 오류는 선이 얼마나 떨어져 있는지를 나타냅니다. 이 두 오류는 함께 총 SVM 오류를 형성합니다. 우리의 목표는 선의 위치와 분리를 조정하는 SVM 트릭과 유사한 경사 하강법을 사용하여 이 오류를 최소화하는 것입니다.

두 모델의 비교로 돌아가서 왼쪽 모델은 분류 오차가 크지만 선이 멀리 떨어져 있어 마진 오차가 작습니다. 반면 오른쪽 모델은 분류오차는 작지만 선이 근접해 있어 마진오차가 크다. 어떤 모델이 더 나은지 결정하는 것은 선호도와 요구 사항에 따라 다릅니다. 마진 오류에 대한 분류 오류의 중요성을 제어하기 위해 하이퍼 매개변수인 C 매개변수를 사용할 수 있습니다. 작은 C는 여백 오류를 강조하여 왼쪽과 같은 모델을 생성하고 큰 C는 분류 오류를 우선시하여 오른쪽과 유사한 모델을 생성합니다.

모델 성능을 평가하기 위해 다양한 값을 실험하고 테스트하여 하이퍼파라미터의 선택을 결정할 수 있다는 점에 유의해야 합니다. 하이퍼파라미터는 기계 학습 알고리즘에서 중요한 역할을 하며 모델을 미세 조정할 수 있게 해줍니다.

선형 모델에 대한 이 비디오 시리즈 전체에 관심을 가져 주셔서 감사합니다. 유익하고 즐거웠기를 바랍니다. 자유롭게 좋아요, 공유, 댓글을 남겨주세요. 귀하의 의견에 감사드립니다. 앞으로도 더 많은 동영상을 기대해 주세요.

 

노이즈 제거 및 변형 자동 인코더



노이즈 제거 및 변형 자동 인코더

안녕하세요, 저는 Luis Serrano입니다. 이 비디오에서는 자동 인코더에 대해 논의할 것입니다. 특히 노이즈 제거 및 변형 자동 인코더에 중점을 둘 것입니다.

오토인코더는 널리 사용되는 생성기 모델이며 생성적 적대 신경망과 제한된 볼츠만 머신을 포함하는 시리즈의 일부입니다. 생성기 모델을 좋아한다면 주석의 링크를 확인하십시오.

오토인코더를 이해하기 위해 책을 이해하고 싶어 지적인 친구 Aisha에게 책을 요약해 달라고 부탁한다고 가정해 봅시다. Aisha의 임무는 책을 몇 페이지로 압축하여 이해하기 쉽게 만드는 것입니다. 그런 다음 다른 친구인 Berta에게 Aisha의 요약을 기반으로 전체 책을 다시 쓰도록 요청하여 Aisha의 요약의 품질을 평가합니다. Berta의 재작성된 책과 원본 책을 비교하여 성능을 평가합니다.

이상적으로 Aisha는 책의 주요 아이디어를 가능한 한 정확하게 요약하고 Berta는 이러한 아이디어를 기반으로 책을 재구성하는 데 탁월할 것입니다. Aisha와 Berta가 각각 책을 압축하고 재구성하도록 강요함으로써 그들은 그 내용에 대한 깊은 이해를 얻습니다. 이 개념은 자동 인코더의 기초입니다. 데이터를 크게 단순화한 다음 재구성하여 프로세스에서 가장 유용한 기능을 추출합니다.

Autoencoder는 차원 감소 알고리즘이며 비지도 기계 학습의 일부입니다. 실생활 데이터 세트의 맥락에서 얼굴 이미지 데이터 세트를 고려해 봅시다. 각 이미지는 각 픽셀의 색상을 나타내는 여러 숫자를 사용하여 인코딩됩니다. 이제 인코더라고 하는 Aisha는 눈 크기, 머리 색깔 및 기타 얼굴 특징과 같은 특징을 추출하여 이 데이터 세트를 요약합니다. 그런 다음 이러한 특징은 추출된 특징에서 얼굴을 재구성하는 데 도움을 주는 디코더인 Berta에게 전달됩니다.

데이터 포인트의 차원은 데이터 포인트를 인코딩하는 데 필요한 숫자의 수를 나타냅니다. 이 경우 얼굴 이미지 데이터 세트를 더 작은 특징 세트로 요약하여 차원을 줄인 다음 재구성 프로세스 중에 다시 증가시킵니다.

Autoencoder는 데이터를 축소하는 인코더와 다시 확장하는 디코더의 두 부분으로 구성됩니다. 목표는 재구성된 출력이 원래 입력과 매우 유사하게 만드는 것입니다. 축소되거나 단순화된 데이터는 잠재 공간으로 알려져 있으며, 데이터를 요약하고 압축하여 귀중한 통찰력을 제공합니다.

자동 인코더의 두 가지 중요한 유형은 노이즈 제거 자동 인코더와 변형 자동 인코더입니다. 노이즈 제거 자동 인코더는 노이즈가 있는 이미지와 같은 손상된 데이터를 가져와 해당 이미지의 선명하고 또렷한 버전을 생성하도록 훈련됩니다. 반면에 Variational autoencoder는 원래 데이터 공간의 저차원 버전을 나타내는 단순화된 잠재 공간에서 샘플을 선택하여 새 데이터를 생성하도록 훈련됩니다.

변형 자동 인코더는 공간과 같은 고해상도 이미지를 생성하는 데 특히 효과적입니다. 비디오에서 변형 자동 인코더로 생성된 얼굴 샘플을 찾을 수 있습니다.

오토인코더에 들어가기 전에 파악해야 할 주요 개념은 차원 축소입니다. 이 개념을 설명하기 위해 이미지의 샘플 데이터 세트를 살펴보겠습니다. 이러한 이미지는 단순한 2x2 픽셀 이미지로, 각 픽셀은 빨간색, 파란색, 노란색, 녹색 등 서로 다른 색상을 가집니다. 각 픽셀에는 0에서 1 사이의 강도 값이 있습니다. 여기서 1은 풀 컬러 강도를 나타내고 0은 흰색을 나타냅니다.

이 데이터 세트의 각 데이터 포인트는 네 가지 색상에 해당하는 네 가지 강도 값으로 설명됩니다. 그러나 자세히 살펴보면 특이한 속성을 발견할 수 있습니다. 오른쪽 상단과 왼쪽 하단에 있는 픽셀의 강도는 왼쪽 상단과 오른쪽 하단에 있는 픽셀의 강도와 마찬가지로 항상 동일합니다. 이는 더 이상 4개의 강도 값을 모두 독립적으로 인코딩할 필요가 없음을 의미합니다. 대신 왼쪽 위 픽셀과 오른쪽 아래 픽셀의 강도라는 두 가지 값으로 각 데이터 포인트를 나타낼 수 있습니다.

이를 통해 데이터 세트의 차원을 4에서 2로 줄였습니다. 이러한 축소를 통해 중복되거나 상관 관계가 있는 기능을 삭제하면서 이미지의 필수 정보를 캡처할 수 있습니다. 또한 데이터 표현을 단순화하고 시각화, 저장 및 분석과 같은 다양한 작업에 도움을 줄 수 있습니다.

Autoencoder는 유사한 차원 축소 원칙을 사용하지만 보다 정교하고 학습된 방식으로 사용합니다. 유지하거나 폐기할 기능을 수동으로 선택하는 대신 자동 인코더는 입력 데이터에서 가장 유익한 기능을 자동으로 추출하는 방법을 배웁니다.

오토인코더의 아키텍처 및 학습 프로세스에 대해 자세히 살펴보겠습니다. 앞서 언급한 바와 같이 오토인코더는 인코더와 디코더로 구성됩니다.

인코더는 이미지와 같은 입력 데이터를 가져와 일련의 변환을 적용하여 잠재 공간이라고 하는 저차원 표현으로 인코딩합니다. 잠재 공간은 가장 중요한 기능을 캡처하는 입력 데이터의 압축된 표현입니다.

디코더는 잠재 공간 표현을 취하고 역 변환을 적용하여 원래 입력 데이터를 가능한 한 가깝게 재구성합니다. 목표는 입력 데이터와 재구성된 출력 간의 차이를 최소화하여 입력을 충실하게 재현할 수 있는 압축 표현을 효과적으로 학습하는 것입니다.

오토인코더를 교육하려면 원본 샘플과 해당 대상 출력이 모두 있는 입력 데이터의 데이터 세트가 필요합니다. 훈련 중에 오토인코더는 일반적으로 MSE(평균 제곱 오차) 또는 이진 교차 엔트로피와 같은 손실 함수를 사용하여 측정되는 재구성 오류를 최소화하는 방법을 학습합니다.

학습 프로세스에는 잠재 공간 표현을 얻기 위해 인코더를 통해 입력 데이터를 공급하는 작업이 포함됩니다. 그런 다음 잠재 공간 표현이 디코더를 통해 전달되어 데이터를 재구성합니다. 재구성은 원래 입력과 비교되며, 이들 간의 불일치는 역전파 및 경사하강법을 통해 인코더 및 디코더의 가중치를 업데이트하는 데 사용됩니다.

Autoencoder는 대규모 데이터 세트에서 반복적으로 교육함으로써 입력 데이터에서 가장 두드러진 특징을 추출하는 방법을 점진적으로 학습하고 최소한의 손실로 재구성할 수 있게 됩니다.

노이즈 제거 자동 인코더와 변형 자동 인코더는 기본 자동 인코더 아키텍처의 두 가지 인기 있는 변형입니다.

잡음 제거 자동 인코더는 잡음이 있거나 손상된 입력 데이터를 처리하도록 특별히 설계되었습니다. 학습 중에 오토인코더는 랜덤 노이즈를 추가하거나 왜곡을 도입하는 등 의도적으로 손상된 입력 데이터를 제공합니다. 그런 다음 오토인코더는 원래의 깨끗한 데이터를 가능한 한 정확하게 재구성하여 입력 노이즈를 제거하는 방법을 학습합니다. 이 잡음 제거 기능을 통해 자동 인코더는 잡음에 더 탄력적인 강력한 표현을 학습할 수 있습니다.

VAE(Variational Autoencoder)는 확률적 모델링을 자동 인코더 프레임워크에 통합하여 다른 접근 방식을 취합니다. VAE는 가우스 분포와 같은 특정 확률 분포를 따르는 잠재 공간을 학습하는 것을 목표로 합니다. 이를 통해 VAE는 잠재 공간의 학습된 분포에서 샘플링하여 새로운 데이터 포인트를 생성할 수 있습니다.

VAE의 훈련에는 재구성 오류를 최소화하는 것뿐만 아니라 원하는 분포와 일치하는 잠재 공간 분포의 가능성을 최대화하는 것도 포함됩니다. 이는 재구성 손실과 학습된 분포와 원하는 분포 간의 차이를 측정하는 Kullback-Leibler(KL) 발산이라는 정규화 항의 조합을 통해 달성됩니다.

재구성 손실과 KL 발산을 동시에 최적화함으로써 VAE는 학습된 잠재 공간의 다양성을 탐색하면서 훈련 데이터와 유사한 특성을 나타내는 새로운 데이터 샘플을 생성하는 방법을 학습합니다.

Autoencoder는 입력 데이터의 간결한 표현을 학습할 수 있는 강력한 비지도 학습 모델입니다. 데이터를 압축하고 재구성하기 위해 함께 작동하는 인코더와 디코더로 구성됩니다. 노이즈 제거 자동 인코더 및 변형 자동 인코더는 기본 자동 인코더 아키텍처를 확장하고 잡음 제거 및 생성 모델링과 같은 추가 기능을 제공하는 두 가지 주목할만한 변형입니다.

이 섹션에서 몇 가지 추가 예를 살펴보겠습니다. 여기에 있는 첫 번째 예는 값이 0.2인 오른쪽 하단 모서리의 녹색 픽셀을 제외하고 완전히 색상이 지정된 이미지로 나타납니다. 노이즈 제거 인코더는 우리를 위해 전체 그림을 채색할 수 있습니다. 다음으로 오른쪽 상단 모서리에 값이 0.8인 파란색 픽셀을 제외한 흰색 사진의 또 다른 예가 있습니다. 네오센터 인코더는 그림이 흰색이어야 한다고 결정하고 파란색 픽셀을 흰색으로 변환합니다. 리포지토리를 탐색하고 자신의 이미지로 실험하여 결과를 확인하는 것이 좋습니다. 요약하면 이러한 외부 인코더는 모든 이미지가 훈련된 데이터 세트의 이미지 중 하나와 유사하도록 강제합니다.

지금까지 우리가 사용한 다른 인코더에는 하나의 레이어만 있었지만 이것이 신경망에서 항상 그런 것은 아니라는 점에 유의하는 것이 중요합니다. 인코더는 컨볼루션 또는 반복 레이어와 같은 여러 레이어와 복잡한 아키텍처를 가질 수 있습니다. 다음은 MNIST 데이터 세트에서 필기 문자의 이미지를 노이즈 제거하는 데 사용되는 컨벌루션 인코더의 예입니다. 보시다시피 이러한 유형의 노이즈 제거 자동 인코더는 노이즈 이미지를 정리하는 데 효과적입니다.

이제 오토인코더의 또 다른 매력적인 속성으로 넘어가겠습니다. 새 이미지와 같은 완전히 새로운 데이터 포인트를 생성할 수 있습니다. 이렇게 생성된 이미지는 데이터 세트에 있는 이미지의 단순한 복사본이 아니라 데이터 세트에 있는 이미지와 매우 유사한 완전히 새롭고 고유한 이미지입니다. 이 능력은 정말 놀랍습니다. 예를 들어, 오토인코더는 존재하지 않는 사람의 얼굴이나 한 번도 그려본 적이 없는 손글씨 숫자를 생성할 수 있습니다. 이러한 새 이미지를 생성하려면 디코더에만 집중하고 인코더는 잊어버리면 됩니다. 디코더는 잠재 표현이라고 하는 일련의 숫자를 가져와 해당 숫자를 기반으로 이미지를 생성합니다. 이 프로세스는 잠재 공간의 시각적 표현을 제공합니다.

이를 설명하기 위해 예를 들어 보겠습니다. 디코더에 숫자 0.3과 0.8을 입력했다고 가정합니다. 0.12 및 0.95의 강도로 이미지를 생성합니다. 잠재 공간을 정사각형으로 시각화할 수 있습니다. 여기서 수평축은 이미지의 적록 대각선에 해당하고 수직 축은 청황 대각선에 해당합니다. 이 사각형의 각 점은 이미지를 나타내며 오른쪽으로 이동함에 따라 빨강-녹색 대각선의 강도가 증가합니다. 마찬가지로 아래에서 위로 이동하면 파란색-노란색 대각선의 강도가 증가합니다. 이 시각화를 통해 잠재 공간과 생성된 이미지와의 관계를 이해할 수 있습니다.

잠재 공간에서 임의의 점을 균일하게 선택할 수 있습니다. 이는 두 개의 숫자를 선택하여 디코더를 통해 전달하는 것과 같습니다. 이 프로세스를 통해 동일한 확률로 이러한 이미지를 생성할 수 있습니다. 그러나 경우에 따라 데이터 세트에 있는 특정 이미지만 생성하고 다른 이미지는 제외하려고 할 수 있습니다. 이 상황은 잠재 공간이 크고 노이즈가 포함되어 있고 원하는 이미지를 나타내는 작은 부분만 있을 때 일반적입니다. 이를 해결하기 위해 변형 자동 인코더라는 기술을 사용할 수 있습니다.

Variational Autoencoder의 경우 특정 관심 영역 내에 있을 가능성이 높은 지점을 선택할 수 있는 두 개의 정규 분포를 훈련합니다. 예를 들어, 원하는 이미지가 존재하는 잠재 공간에 작은 타원형 영역이 있는 경우 오토인코더가 나머지 공간보다 더 높은 확률로 해당 영역 내 또는 근처에서 이미지를 생성하기를 원합니다. 잠재 공간의 각 좌표에 대해 하나씩 두 개의 정규 분포를 훈련하여 이를 달성합니다. 이러한 분포를 통해 원하는 지역의 중심을 향할 가능성이 있는 지점을 선택할 수 있습니다. 이러한 선택된 점을 잠재적 표현으로 사용하고 디코더를 통해 전달함으로써 원하는 기준에 더 집중되고 정렬된 이미지를 생성할 수 있습니다.

Variational Autoencoder에 대한 교육 프로세스에는 재구성 손실과 정규화 손실이라는 두 가지 목표를 동시에 최적화하는 작업이 포함됩니다. 재구성 손실은 기존의 오토인코더와 마찬가지로 생성된 이미지가 입력 이미지와 얼마나 잘 일치하는지 측정합니다. KL(Kullback-Leibler) 분기라고도 하는 정규화 손실은 잠재 분포가 알려진 사전 분포, 일반적으로 표준 정규 분포와 유사하도록 합니다.

정규화 손실을 추가하면 훈련 중에 트레이드 오프가 발생합니다. 한편으로 우리는 재구성된 이미지가 입력 이미지와 매우 유사하기를 원하며 이는 재구성 손실을 최소화함으로써 달성됩니다. 다른 한편으로 잠재 분포가 이전 분포와 일치하도록 하여 다양하고 사실적인 이미지 생성을 촉진합니다. 이러한 목표의 균형을 맞추는 것은 모델이 생성된 이미지에서 창의성과 참신함을 허용하면서 데이터의 중요한 기능을 캡처하도록 하는 데 중요합니다.

Variational Autoencoder가 훈련되면 사전 분포(종종 표준 정규 분포)에서 포인트를 샘플링하고 디코더를 통해 전달하여 새 이미지를 생성할 수 있습니다. 샘플링 프로세스를 제어함으로써 잠재 공간의 다른 영역을 탐색하고 입력 데이터의 다양한 변형을 생성할 수 있습니다.

Variational Autoencoder는 이미지 생성, 텍스트 생성, 이상 감지 등 다양한 응용 분야에서 널리 사용되어 왔습니다. 생성된 출력을 제어할 수 있는 동시에 복잡한 데이터 분포를 학습하고 생성하기 위한 강력한 프레임워크를 제공합니다.

요약하면, 노이즈 제거 및 변형 자동 인코더를 포함한 자동 인코더는 이미지 처리 및 생성에서 매력적인 기능을 제공합니다. 이미지에서 노이즈를 제거하고 누락된 부분을 재구성하며 완전히 새롭고 고유한 이미지를 생성할 수 있습니다. 노이즈 제거 자동 인코더는 인코더-디코더 아키텍처를 활용하여 데이터의 기본 구조를 학습하는 반면, 변형 자동 인코더는 확률적 모델링을 추가하여 생성된 출력의 다양한 변형을 캡처합니다. 이러한 기술은 비지도 학습 분야에 혁명을 일으켰고 컴퓨터 비전 및 인공 지능 연구에서 광범위한 응용 프로그램을 발견했습니다.

 

의사 결정 트리 - 친근한 소개



의사 결정 트리 - 친근한 소개

세라노 아카데미에 오신 것을 환영합니다! 이 비디오에서는 널리 사용되는 기계 학습 모델인 의사 결정 트리에 대해 설명합니다. 의사 결정 트리는 실제 시나리오에서 효과적이며 이해하기 쉽습니다. 그들은 인간이 결정을 내리는 방식을 모방하여 해석하기 쉽게 만듭니다.

의사 결정 트리가 작동하는 방식을 설명하기 위해 추천 시스템의 예를 사용하겠습니다. 아침에 재킷을 입을지 여부를 결정해야 한다고 상상해 보십시오. 밖에 비가 오는지 확인하는 것으로 시작할 수 있습니다. 비가 오면 재킷을 입는 것이 확실한 선택입니다. 그러나 비가 내리지 않는다면 온도를 더 고려할 수 있습니다. 추우면 재킷을 입고 더우면 안 입는다. 이 결정 프로세스는 각 결정이 노드가 되고 사용 가능한 옵션이 새 노드 또는 최종 결정으로 이어지는 가장자리가 되는 결정 트리로 나타낼 수 있습니다.

주어진 문제에 대해 여러 의사 결정 트리가 있을 수 있습니다. 예를 들어, 또 다른 결정 트리에는 월요일인지, 자동차 색상, 그날 커피를 마셨는지 여부를 확인하는 것이 포함될 수 있습니다. 그러나 모든 의사 결정 트리가 똑같이 효과적인 것은 아닙니다. 논의한 첫 번째 의사 결정 트리는 잘 작동하는 것으로 보이지만 두 번째 의사 결정 트리에는 관련 없는 노드가 포함되어 있습니다. 최고의 결정 트리를 찾는 것이 기계 학습의 목표입니다. 기계 학습은 데이터에 가장 적합한 의사 결정 트리를 찾는 데 도움이 됩니다. 이 프로세스를 이해하기 위해 예를 살펴보겠습니다.

사용자 인구 통계를 기반으로 하는 앱 추천 시스템의 작은 데이터 세트를 고려하십시오. 데이터 세트에는 성별, 연령 및 다운로드한 앱에 대한 열이 포함됩니다. 이 데이터 세트를 기반으로 향후 사용자에게 앱을 추천하는 규칙을 공식화하려고 합니다. 데이터를 분석하면 추세를 관찰할 수 있습니다. 예를 들어 데이터 세트의 모든 청소년이 TikTok을 다운로드했으므로 16세 여성에게 TikTok을 추천하는 것이 합리적입니다. 마찬가지로 30대 여성이 대부분 유튜브를 다운로드한 것을 보면 30대 여성에게 유튜브를 추천할 수 있습니다. 이 접근 방식을 따르면 인구 통계 정보를 기반으로 다양한 사용자에게 권장 사항을 제시할 수 있습니다.

의사 결정 트리 이면의 직관은 기계 학습에 사용되는 수학적 원리와 일치합니다. 의사결정 트리는 범주 데이터와 숫자 데이터를 모두 처리할 수 있습니다. 수치 데이터의 경우 다양한 가능성을 평가하여 최상의 분할 지점을 결정합니다. 각 분할 지점은 결정 스텀프를 생성하고 이러한 스텀프의 정확도를 비교하여 최상의 것을 찾습니다. 최상의 분할을 찾으면 결과 데이터 하위 집합에 대한 프로세스를 반복하여 의사 결정 트리를 계속 구축할 수 있습니다. 이 반복 프로세스를 통해 더 큰 의사 결정 트리를 구성할 수 있습니다.

의사 결정 트리는 정확한 예측을 제공하고 해석하기 쉬운 강력한 기계 학습 모델입니다. 그들은 인간의 의사 결정 프로세스를 모방하고 다양한 유형의 데이터에 대해 교육을 받을 수 있습니다. 특정 문제에 대한 최상의 의사 결정 트리를 찾음으로써 주어진 데이터를 기반으로 효과적인 권장 사항 또는 예측을 할 수 있습니다.

 

Bayes Theorem 및 Hidden Markov 모델에 대한 친절한 소개



Bayes Theorem 및 Hidden Markov 모델에 대한 친절한 소개

기본 정리 및 숨겨진 마르코프 모델 소개에 오신 것을 환영합니다. 저는 기계 학습 및 인공 지능 과정을 가르치는 Udacity의 Luis Serrano입니다. 이 시나리오에는 멀리 떨어져 살고 전화로 통신하는 Alice와 Bob이라는 두 명의 친구가 있습니다. Bob의 기분은 날씨에 따라 바뀝니다. 날씨가 화창하면 Bob은 행복하고 비가 오면 심술을 부립니다. Alice는 Bob의 기분에서 날씨를 추론할 수 있습니다.

시나리오를 더 복잡하게 만들어 봅시다. Bob은 날씨가 화창할 때 대부분 행복하지만 예외도 있습니다. 그는 비가 오면 심술을 부리지만 예외도 있다. 과거 데이터를 기반으로 확률을 계산했습니다. 날씨가 화창할 때 Bob은 80%의 확률로 만족하고 20%의 확률로 심술을 부립니다. 비가 올 때 Bob은 60%의 확률로 심술궂고 40%의 확률로 행복합니다.

이제 구체적인 상황을 생각해 봅시다. Bob은 Alice에게 이번 주가 감정의 롤러코스터였다고 말합니다. 월요일에 그는 행복했고, 화요일에는 투덜거렸고, 수요일에는 다시 행복했고, 목요일에는 투덜거렸고, 금요일에는 행복했습니다. Alice는 Bob의 기분에 따라 날씨를 추측하려고 합니다.

이러한 기분 시퀀스의 가능성을 결정하기 위해 숨겨진 Markov 모델을 사용합니다. 여기에는 관찰(Bob의 기분)과 숨겨진 상태(날씨)가 있습니다. 전환 확률(한 상태에서 다른 상태로 이동할 확률)과 방출 확률(숨겨진 상태에서 관측값이 방출될 확률)을 계산합니다.

이 비디오에서는 네 가지 질문에 답할 것입니다. 첫째, 이러한 확률을 어떻게 계산합니까? 둘째, Bob의 기분과 관계없이 임의의 날이 맑거나 비가 올 확률은 얼마입니까? 셋째, Bob이 오늘 행복하다면 날씨가 맑거나 비가 올 확률은 얼마입니까? 그리고 넷째, Bob이 연속 3일 동안 행복하다면 가장 가능성이 높은 날씨는 무엇입니까?

과거 데이터를 분석하여 확률을 계산할 수 있습니다. 특정 날씨 패턴의 발생과 Bob의 기분을 세어 확률을 추정합니다. 데이터가 충분하면 실제 확률을 잘 추정할 수 있습니다.

Bob의 기분과 관계없이 임의의 날이 맑거나 비가 올 확률을 결정하기 위해 과거 데이터에서 맑은 날과 비가 오는 날의 발생을 계산하거나 전환 확률을 사용할 수 있습니다. 이 경우 2/3는 맑고 1/3은 비가 올 가능성이 있음을 알 수 있습니다.

Bob이 오늘 행복하다면 맑고 비가 올 확률이 바뀝니다. 베이즈 정리를 사용하여 확률을 업데이트합니다. 예를 들어 Bob이 행복하고 수요일이면 사전 확률(2/3은 맑고 1/3은 비)과 방출 확률(화창할 때 80%, 화창할 때 20%, 행복할 때 40%, 화창할 때 60%)을 고려합니다. 비오는). Bayes의 정리를 사용하여 사후 확률(8/10 맑음 및 2/10 비)을 계산합니다.

이러한 확률을 통해 Bob의 기분에 따라 날씨를 추론할 수 있습니다. Bob이 행복하다면 날씨가 화창할 가능성이 더 큽니다. Bob이 심술궂다면 비가 올 가능성이 더 큽니다. 새로운 정보에 따라 확률이 변경됩니다.

Bob의 기분에서 날씨를 추론하기 위해 숨겨진 Markov 모델과 Bayes 정리를 사용합니다. 과거 데이터를 분석하여 전이 확률과 방출 확률을 계산합니다. 이를 통해 Bob의 기분에 따라 특정 날씨 패턴의 가능성을 판단할 수 있습니다.

 

섀넌 엔트로피 및 정보 획득



섀넌 엔트로피 및 정보 획득

안녕하세요, 저는 Louie Serrano입니다. Shannon과 함께 엔트로피와 정보 획득에 대해 이야기하기 위해 왔습니다. 더 자세한 설명에 관심이 있는 경우 이 주제에 대한 블로그 게시물을 작성했습니다. 댓글 섹션에서 링크를 찾을 수 있습니다.

물리학에서 비롯된 엔트로피의 개념을 소개하는 것으로 시작하겠습니다. 물의 세 가지 상태인 고체(얼음), 액체(물) 및 기체(수증기)를 사용하여 설명할 수 있습니다. 각 상태에는 개체 내부의 입자가 움직이는 속도를 측정하는 엔트로피 수준이 다릅니다. 얼음은 입자가 느리게 움직이기 때문에 엔트로피가 낮기 때문에 안정적인 물질입니다. 물은 입자가 조금 더 빨리 움직이기 때문에 중간 엔트로피를 가집니다. 수증기는 내부의 입자가 매우 빠르게 움직이기 때문에 엔트로피가 높습니다.

엔트로피는 물리학의 개념일 뿐만 아니라 수학, 특히 확률론에서도 나타난다. 이를 설명하기 위해 각기 다른 색상의 공이 들어 있는 세 개의 양동이가 있는 예를 살펴보겠습니다. 버킷 1에는 빨간색 공 4개가 있고, 버킷 2에는 빨간색 공 3개와 파란색 공 1개가 있으며, 버킷 3에는 빨간색 공 2개와 파란색 공 2개가 있습니다. 직관에 따라 Bucket 1은 엔트로피가 낮고 Bucket 2는 중간 엔트로피, Bucket 3은 엔트로피가 높다고 추론할 수 있습니다.

우리의 직관을 검증하기 위해 각 버킷의 볼 세트를 얼마나 재배열할 수 있는지 조사하여 엔트로피를 측정할 수 있습니다. 4개의 빨간 공이 있는 첫 번째 세트에서는 모든 공의 색상을 구분할 수 없기 때문에 재배열이 제한적입니다. 두 번째 세트에서는 몇 가지 방법으로 공을 재배열할 수 있습니다. 마지막으로 세 번째 세트의 경우 훨씬 더 많은 준비가 가능합니다. 엔트로피의 정량적 측정을 제공하는 이항 계수를 사용하여 배열 수를 계산할 수 있습니다. 재배열 가능한 정도를 기준으로 Bucket 1의 엔트로피가 낮고 Bucket 2의 엔트로피가 중간, Bucket 3의 엔트로피가 높은 것을 확인할 수 있습니다.

그러나 정보를 기반으로 엔트로피를 결정하는 보다 정확한 방법이 있습니다. 이 양동이로 게임을 한다고 상상해 봅시다. 우리는 공의 특정 배열로 시작하여 원래 배열의 정확한 순서를 재현하기 위해 무작위로 공을 그립니다. 성공하면 상당한 금액의 돈을 얻게 됩니다. 그렇지 않으면 우리는 아무것도 얻지 못합니다. 이제 문제가 발생합니다. 어떤 버킷이 게임을 플레이하기에 가장 좋고 어떤 버킷이 최악입니까?

생각해 보면 모든 공이 빨간색이어서 원래 시퀀스를 더 쉽게 재현할 수 있기 때문에 버킷 1이 최선의 선택이라는 것을 깨달았습니다. 버킷 2는 빨간색과 파란색 공이 혼합되어 있으므로 중간 선택이고 버킷 3은 어떤 색을 그릴지 모르기 때문에 최악의 선택입니다. 양동이에서 특정 공을 뽑을 확률을 고려하여 각 게임에서 이길 확률을 계산할 수 있습니다. 버킷 1의 경우 모든 공이 빨간색이므로 이길 확률은 100%입니다. 버킷 2의 경우 파란색 공이 있으므로 확률이 낮고 버킷 3의 경우 빨간색 또는 파란색 공을 뽑을 확률이 같기 때문에 확률이 가장 낮습니다.

이제 확률과 해당 엔트로피 수준을 표로 요약해 보겠습니다. 우리는 Bucket 1이 이길 확률이 높아 엔트로피가 낮다는 것을 관찰할 수 있습니다. 버킷 2는 중간 엔트로피를 나타내는 중간 확률을 가집니다. 마지막으로 Bucket 3은 당첨 확률이 가장 낮아 엔트로피가 높습니다.

엔트로피 공식을 설정하기 위해 로그 개념을 활용할 수 있습니다. 제품을 다루는 대신 로그를 사용하여 합계로 변환할 수 있습니다. 곱의 로그는 로그의 합과 같습니다. 확률 곱의 로그를 취함으로써 개별 확률의 합으로 변환할 수 있습니다. 이 변환을 통해 이벤트와 관련된 평균 정보 콘텐츠 또는 불확실성으로 엔트로피를 계산할 수 있습니다.

엔트로피 공식은 다음과 같습니다.

엔트로피 = - (p1 * log(p1) + p2 * log(p2) + ... + pn * log(pn))

여기서 p1, p2, ..., pn은 서로 다른 결과 또는 상태의 확률을 나타냅니다. 로그 함수(일반적으로 밑이 2임)는 정보의 지수 특성을 설명하는 데 사용됩니다.

이 공식을 예제에 적용하여 각 버킷의 엔트로피를 계산해 보겠습니다. 모든 공이 빨간색인 버킷 1에서 빨간색 공을 뽑을 확률은 1(100%)입니다. 따라서 버킷 1의 엔트로피는 다음과 같습니다.

엔트로피(버킷 1) = - (1 * log2(1)) = 0

1의 대수는 0이므로 엔트로피는 0이며 불확실성이나 정보 이득이 없음을 나타냅니다.

버킷 2에는 빨간색 공 3개와 파란색 공 1개가 있습니다. 빨간 공을 뽑을 확률은 3/4이고 파란 공을 뽑을 확률은 1/4입니다. 따라서 버킷 2의 엔트로피는 다음과 같습니다.

엔트로피(버킷 2) = - (3/4 * log2(3/4) + 1/4 * log2(1/4))

값을 계산하면 다음을 얻습니다.

엔트로피(버킷 2) ≈ 0.811

이 값은 중간 수준의 불확실성 또는 정보 획득을 나타냅니다.

빨간 공 두 개와 파란 공 두 개가 있는 버킷 3으로 이동하면 빨간 공이나 파란 공을 뽑을 확률은 각각 1/2입니다. 따라서 버킷 3의 엔트로피는 다음과 같습니다.

엔트로피(버킷 3) = - (1/2 * log2(1/2) + 1/2 * log2(1/2))

식을 단순화하면 다음을 찾을 수 있습니다.

엔트로피(버킷 3) = - (1/2 * (-1) + 1/2 * (-1)) = 1

Bucket 3의 엔트로피는 1이며, 이는 가장 높은 수준의 불확실성 또는 정보 획득을 나타냅니다.

엔트로피는 시스템의 불확실성 또는 정보 수준을 정량화합니다. 확률의 개념을 사용하여 다양한 결과와 관련된 평균 정보 콘텐츠로 엔트로피를 계산할 수 있습니다. 높은 엔트로피 값은 더 큰 불확실성을 나타내고 낮은 엔트로피 값은 더 적은 불확실성 또는 더 예측 가능한 결과를 나타냅니다. 엔트로피와 정보 이득을 이해하는 것은 시스템의 복잡성과 예측 가능성을 측정하고 분석할 수 있기 때문에 정보 이론, 기계 학습 및 데이터 분석을 포함한 다양한 분야에서 가치가 있습니다.

사유: