PART 1 · TRACK 4 · LESSON 3
회귀
이 섹션의 주요 학습 목표는 지도 학습 방법의 또 다른 좋은 예이며 최근접 이웃 분류기인 선형 회귀만큼 간단합니다. 가까운 사촌인 로지스틱 회귀도 소개하겠습니다.
LESSON FOCUS
이 소단원의 핵심 내용
이 섹션의 주요 학습 목표는 지도 학습 방법의 또 다른 좋은 예이며 최근접 이웃 분류기인 선형 회귀만큼 간단합니다. 가까운 사촌인 로지스틱 회귀도 소개하겠습니다.
- 분류와 회귀의 차이점
- 선형 회귀를 쇼핑 청구서로 생각
- 계수 또는 가중치
이 섹션의 주요 학습 목표는 지도 학습 방법의 또 다른 좋은 예이며 최근접 이웃 분류기인 선형 회귀만큼 간단합니다. 가까운 사촌인 로지스틱 회귀도 소개하겠습니다.
선형 회귀의 기본 아이디어는 각 특성 변수의 효과를 합산하여 예측 값을 생성하는 것입니다. 합산 과정을 가리키는 기술 용어는 선형 결합입니다. 아이디어는 매우 간단하며 쇼핑 청구서로 설명할 수 있습니다.
선형이라는 단어는 하나의 입력 특성이 고정된 양만큼 증가할 때 출력의 증가가 항상 동일하다는 것을 의미합니다. 즉, 장바구니에 당근 2kg을 추가할 때마다 청구서가 8€씩 올라갑니다. 2kg을 더 추가하면 8유로가 추가되고, 그 절반인 1kg을 추가하면 정확히 절반인 4유로가 올라갑니다.
KEY TERMINOLOGY
계수 또는 가중치
선형 회귀 용어에서는 다양한 제품의 가격을 계수 또는 무게라고 합니다(감자와 당근의 양을 무게로 측정했기 때문에 혼란스러워 보일 수 있지만 이에 속지 마십시오). 선형 회귀의 주요 장점 중 하나는 해석이 쉽다는 것입니다. 학습된 가중치는 실제로 출력 예측보다 더 흥미로울 수 있습니다. 예를 들어, 기대 수명을 예측하기 위해 선형 회귀를 사용하는 경우 흡연 비중(일일 담배 흡연량)은 약 -반년입니다. 즉, 하루에 담배 한 개비를 더 피우면 평균 반년 정도 더 흡연을 중단하게 됩니다. 마찬가지로 야채 섭취량(하루에 야채 한 줌)의 무게에 1년을 더한 값이므로 매일 한 줌의 야채를 먹으면 평균 1년이 더 늘어납니다.
위의 연습에서는 비흡연자, 채식주의자 여성의 기대 수명인 80세를 계산의 출발점으로 삼았습니다. 시작점을 가리키는 기술 용어는 인터셉트입니다. 데이터에서 선형 회귀 모델을 학습하는 방법을 논의할 때 아래에서 이에 대해 다시 설명하겠습니다.
선형 회귀 학습
위에서 우리는 가중치와 입력 특징이 모두 알려진 경우 선형 회귀에서 예측을 얻는 방법에 대해 논의했습니다. 따라서 입력과 가중치가 주어지고 예측된 출력을 생성할 수 있습니다.
여러 항목에 대한 입력과 출력이 주어지면 예측 출력이 실제 출력과 최대한 일치하도록 가중치를 찾을 수 있습니다. 이것이 머신러닝으로 해결되는 과제입니다.
그러나 현실 세계에서는 프로세스에 불확실성이나 "잡음"을 가져오는 다양한 요인으로 인해 실제 출력이 항상 입력에 의해 완전히 결정되지는 않는다는 사실로 인해 문제가 더 어려워집니다. 특정 제품의 가격이 수시로 달라질 수 있는 바자회나 최종 손상에 다양한 금액의 팁이 포함되는 레스토랑에서 쇼핑하는 것을 생각할 수 있습니다. 그러한 상황에서 우리는 가격을 추정할 수 있지만 정확도는 제한적입니다.
훈련 데이터에서 예측 출력과 실제 출력 간의 일치를 최적화하는 가중치를 찾는 것은 1800년대부터 시작된 고전적인 통계 문제이며 대규모 데이터 세트의 경우에도 쉽게 해결할 수 있습니다.
우리는 고전적인 최소 제곱 기법과 같은 실제 가중치 찾기 알고리즘에 대해 간단하기는 하지만 자세히 다루지 않을 것입니다. 그러나 다음 연습을 통해 데이터의 추세를 찾는 느낌을 얻을 수 있습니다.
선형 회귀 시각화
선형 회귀가 우리에게 알 수 있는 내용을 파악하는 좋은 방법은 데이터와 회귀 결과가 포함된 차트를 그리는 것입니다. 간단한 장난감 예로 우리의 데이터 세트에는 직원이 하루에 마시는 커피 잔 수와 해당 직원이 하루에 작성한 코드 줄 수라는 하나의 변수가 있습니다. 커피 외에 직원의 생산성에 영향을 미치는 복잡한 방식으로 상호 작용하는 다른 요소가 분명히 있기 때문에 이는 실제 데이터 세트가 아닙니다. 커피의 양을 늘려 생산성을 높이더라도 특정 지점까지만 유지되고 그 이후에는 불안감이 너무 커집니다.
위의 차트에서 데이터를 한 점이 직원 한 명을 나타내는 점으로 표시하면 커피를 더 많이 마시는 것이 더 많은 코드 줄이 작성되는 경향이 있다는 경향이 분명히 있음을 알 수 있습니다(이것은 완전히 만들어진 데이터라는 점을 기억하세요). 이 데이터 세트에서 우리는 커피 소비와 관련된 계수 또는 무게를 배울 수 있으며, 커피 한 잔을 소비할 때마다 프로그래밍된 라인 수가 대략 5씩 증가하는 것처럼 보이기 때문에 육안으로는 이미 5에 가까운 것으로 보인다고 말할 수 있습니다. 예를 들어, 하루에 커피를 두 잔 정도 마시는 직원은 하루에 약 20라인의 코드를 생성하는 것으로 보이며, 마찬가지로 커피를 네 잔 마시면 생성되는 라인의 양은 약 30라인입니다.
커피를 전혀 마시지 않는 직원도 주목할 만하다.
또한 코드를 생성하며 그래프로 약 10줄로 표시됩니다. 이 숫자는 앞서 언급한 절편 항입니다. 절편은 가중치와 마찬가지로 모델의 또 다른 매개변수로, 데이터에서 학습할 수 있습니다. 기대 수명 예에서와 마찬가지로 입력 변수의 효과를 추가하기 전 계산의 시작점으로 생각할 수 있습니다. 즉, 이 예에서는 커피잔이거나 이전 예에서는 담배와 야채와 같이 둘 이상의 변수가 있는 경우입니다.
차트의 선은 최소 제곱이라는 실제 선형 회귀 기술을 사용하여 절편과 계수를 추정한 예측 결과를 나타냅니다. 이 선은 입력이 커피 잔 수일 때 생성되는 라인 수를 예측하는 데 사용할 수 있습니다. 부분 컵(예: 반컵, 1/4컵 등)만 허용하더라도 예측을 얻을 수 있습니다.
위 연습에 사용된 것과 같은 연구에서는 인과 관계를 식별할 수 없다는 점을 지적해야 합니다. 즉, 이 데이터만으로는 공부가 실제로 더 나은 정보와 건강한 생활 방식이나 기타 메커니즘을 통해 기대 수명을 연장하는지, 아니면 기대 수명과 교육 사이의 명백한 연관성이 두 가지 모두에 영향을 미치는 근본적인 요인에 기인하는지 여부를 말할 수 없습니다. 예를 들어, 사람들의 교육 수준이 높은 국가에서는 영양, 의료, 안전도 더 좋아 기대 수명이 늘어날 가능성이 높습니다. 이러한 종류의 간단한 분석을 통해 우리는 예측에 유용할 수 있는 연관성만 식별할 수 있습니다.
선형 회귀의 기계 학습 애플리케이션
선형 회귀는 실제로 많은 AI 및 데이터 과학 애플리케이션의 핵심입니다. 한계가 있지만 단순성, 해석 가능성 및 효율성으로 보완되는 경우가 많습니다. 선형 회귀는 몇 가지 예를 제공하기 위해 다음 문제에서 성공적으로 사용되었습니다.
- 온라인 광고의 클릭률 예측
- 제품에 대한 소매 수요 예측
- 헐리우드 영화의 흥행 수익 예측
- 소프트웨어 비용 예측
- 보험 비용 예측
- 범죄율 예측
- 부동산 가격 예측
회귀를 사용하여 라벨을 예측할 수 있나요?
위에서 논의한 것처럼 선형 회귀와 최근접 이웃 방법은 다양한 종류의 예측을 생성합니다. 선형 회귀는 수치 출력을 출력하는 반면 최근접 방법은 고정된 대안 집합("클래스")에서 레이블을 생성합니다.
선형 회귀가 최근접 이웃에 비해 뛰어난 점은 해석 가능성입니다. 이것이 무엇을 의미합니까? 어떤 면에서 가장 가까운 이웃 방법과 그것이 생성하는 단일 예측은 해석하기 쉽다고 말할 수 있습니다. 이는 단지 가장 가까운 훈련 데이터 요소일 뿐입니다! 이는 사실이지만, 학습된 모델의 해석 가능성에 있어서는 분명한 차이가 있습니다. 선형 회귀의 가중치와 유사한 방식으로 가장 가까운 이웃의 훈련된 모델을 해석하는 것은 불가능합니다. 학습된 모델은 기본적으로 전체 데이터이며 일반적으로 우리에게 많은 통찰력을 제공하기에는 너무 크고 복잡합니다. 그렇다면 가장 가까운 이웃인 레이블과 동일한 종류의 출력을 생성하지만 선형 회귀처럼 해석할 수 있는 방법을 원한다면 어떻게 될까요?
구조를 위한 로지스틱 회귀
좋은 소식이 있습니다. 선형 회귀 방법의 출력을 라벨에 대한 예측으로 바꿀 수 있습니다. 이를 수행하는 기술을 로지스틱 회귀라고 합니다. 기술적인 부분은 다루지 않고 가장 간단한 경우 선형 회귀의 출력(숫자)을 취하고 출력이 0보다 크면 하나의 레이블 A를 예측하고 출력이 0보다 작거나 같으면 다른 레이블 B를 예측한다고만 말하면 충분합니다. 실제로, 단순히 한 클래스 또는 다른 클래스를 예측하는 대신 로지스틱 회귀는 예측의 불확실성을 측정할 수도 있습니다. 따라서 고객이 올해 새 스마트폰을 구입할 것인지 예측한다면 고객 A가 휴대폰을 구입할 확률은 90%라는 예측을 얻을 수 있지만, 예측하기 어려운 다른 고객의 경우 휴대폰을 구입하지 않을 확률은 55%(즉, 45% 확률)로 예측할 수 있습니다.
동일한 트릭을 사용하여 두 개 이상의 가능한 레이블에 대한 예측을 얻는 것도 가능하므로 항상 예 또는 아니오(새 휴대폰 구입 여부, 가짜 뉴스 또는 실제 뉴스 등)를 예측하는 대신 로지스틱 회귀를 사용하여 예를 들어 손으로 쓴 숫자를 식별할 수 있습니다. 이 경우 가능한 레이블은 10개입니다.
로지스틱 회귀의 예
요리 입문 과정을 수강하는 학생들의 데이터를 수집한다고 가정해 보겠습니다. 학생 ID, 이름 등과 같은 기본 정보 외에도 우리는 학생들에게 시험 공부 시간을 보고하도록 요청합니다(그러나 요리 시험 공부는 아마도 요리?). 그리고 보고서가 어느 정도 정직해지기를 바랍니다. 시험이 끝나면 각 학생이 해당 과정을 통과했는지 여부를 알 수 있습니다. 일부 데이터 포인트는 다음과 같습니다.
| 학생증 | 공부한 시간 | 합격/불합격 |
|---|---|---|
| 24 | 15 | 패스 |
| 41 | 9.5 | 패스 |
| 58 | 2 | 실패 |
| 101 | 5 | 실패 |
| 103 | 6.5 | 실패 |
| 215 | 6 | 패스 |
이 표를 바탕으로 공부한 시간과 시험에 합격하는 사이에 어떤 결론을 내릴 수 있습니까? 수백 명의 학생으로부터 얻은 데이터가 있다면 해당 과정을 통과하기 위해 공부해야 할 양이 어느 정도인지 알 수 있을 것이라고 생각할 수도 있습니다.
아래에서 볼 수 있듯이 이 데이터를 차트로 표시할 수 있습니다.
로지스틱 회귀는 금융 위험 예측, 의학 연구 등과 같은 매우 다양한 실제 AI 애플리케이션에도 사용됩니다. 그러나 선형 회귀와 마찬가지로 선형성 속성의 제약을 받기 때문에 도구 상자에 다른 많은 방법이 필요합니다. 나중에 신경망을 논의할 때 선형성 문제로 돌아가겠습니다.
머신러닝의 한계
요약하자면, 머신러닝은 AI 애플리케이션을 구축하는 데 매우 강력한 도구입니다. 최근접 이웃 방법, 선형 회귀, 로지스틱 회귀 외에도 말 그대로 수백, 수천 가지의 서로 다른 기계 학습 기술이 있지만 모두 데이터에서 패턴과 종속성을 추출하고 이를 사용하여 현상에 대한 이해를 얻거나 미래 결과를 예측하려는 목적으로 귀결됩니다.
기계 학습은 매우 어려운 문제일 수 있으며 일반적으로 항상 올바른 라벨을 생성하는 완벽한 방법을 달성할 수 없습니다. 그러나 대부분의 경우 훌륭하지만 완벽하지는 않은 예측이 전혀 없는 것보다는 낫습니다. 때때로 우리는 스스로 더 나은 예측을 할 수 있지만 기계가 예측을 더 빠르게 하고 지치지 않고 계속해서 예측을 생성하기 때문에 여전히 기계 학습을 사용하는 것을 선호할 수 있습니다. 좋은 예는 어떤 음악, 어떤 비디오 또는 어떤 광고가 사용자에게 더 관심을 가질지 예측해야 하는 추천 시스템입니다.
우리가 달성할 수 있는 결과에 영향을 미치는 요소는 다음과 같습니다.
- 작업의 난이도: 필기 숫자 인식에서 숫자가 매우 엉성하게 쓰여지면 사람도 작성자가 의도한 내용을 정확하게 추측할 수 없는 경우가 있습니다.
- 기계 학습 방법: 일부 방법은 다른 방법보다 특정 작업에 훨씬 더 좋습니다.
- 훈련 데이터의 양: 단지 몇 가지 예만으로는 좋은 분류기를 얻는 것이 불가능합니다.
- 데이터의 품질
다양한 기계 학습 방법이 다양한 작업에 적합하다는 점을 강조하는 것도 중요합니다. 따라서 모든 문제에 대해 하나의 최선의 방법은 없습니다("모든 문제를 지배하는 하나의 알고리즘..."). 다행히도 다양한 방법을 시도해 보고 그 중 어떤 방법이 당면한 문제에 가장 적합한지 확인할 수 있습니다.
이는 매우 중요하지만 실제로는 종종 간과되는 점, 즉 더 잘 일한다는 것이 무엇을 의미하는지에 대해 알려줍니다. 숫자 인식 작업에서 좋은 방법은 대부분의 경우 올바른 라벨을 생성하는 것입니다. 분류 오류(분류기가 잘못된 클래스를 출력하는 경우의 비율)로 이를 측정할 수 있습니다. 아파트 가격을 예측할 때 품질 측정은 일반적으로 예상 가격과 아파트가 판매되는 최종 가격 간의 차이와 같습니다. 많은 실제 응용 프로그램에서는 한 방향에서 다른 방향으로 실수하는 것보다 한 방향으로 실수하는 것이 더 나쁩니다. 가격을 너무 높게 설정하면 프로세스가 몇 달씩 지연될 수 있지만 가격을 너무 낮게 설정하면 판매자에게 더 적은 돈을 의미하게 됩니다. 그리고 또 다른 예를 들자면, 자동차 앞의 보행자를 감지하지 못하는 것은 보행자가 없을 때 보행자를 잘못 감지하는 것보다 훨씬 더 나쁜 오류입니다.
위에서 언급했듯이 일반적으로 오류 0을 달성할 수는 없지만 오류가 100분의 1(또는 1%) 미만이면 만족할 것입니다. 이 역시 애플리케이션에 따라 다릅니다. 거리에 99% 안전한 자동차만 있다는 사실은 만족스럽지 않을 것입니다. 하지만 그 정도의 정확도로 신곡이 마음에 들 것인지 예측할 수 있다면 즐거운 청취 경험을 제공하기에 충분할 수 있습니다. 실제 목표를 항상 염두에 두는 것은 실제 부가가치를 창출하는 데 도움이 됩니다.
CHAPTER SUMMARY
4장을 완료하면 다음을 수행할 수 있습니다.
- 머신러닝 기술을 사용하는 이유를 설명하세요.
- 비지도 머신러닝 시나리오와 지도 머신러닝 시나리오 구별
- 세 가지 감독 분류 방법(최근접 이웃 방법, 선형 회귀, 로지스틱 회귀)의 원리를 설명합니다.
LESSON COMPLETE
