선형 회귀
중요
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대한 자세한 정보.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
선형 회귀 모델 만들기
범주: Machine Learning/모델 초기화/회귀
모듈 개요
이 문서에서는 Machine Learning Studio(클래식)에서 선형 회귀 모듈을 사용하여 실험에 사용할 선형 회귀 모델을 만드는 방법을 설명합니다. 선형 회귀는 하나 이상의 독립 변수와 숫자 결과 또는 종속 변수 간의 선형 관계를 설정하려고 합니다.
이 모듈을 사용하여 선형 회귀 방법을 정의한 다음, 레이블이 지정된 데이터 세트를 사용하여 모델을 학습합니다. 그러면 학습된 모델을 예측에 사용할 수 있습니다. 또는 레이블이 지정된 데이터 집합에 대한 교차 유효성 검사를 위해 학습되지 않은 모델을 교차 유효성 검사 모델에 전달할 수 있습니다.
선형 회귀에 대한 자세한 정보
선형 회귀는 일반적인 통계 방법으로, 기계 학습에서 채택되었으며 선에 맞추고 오차를 측정하기 위한 여러 가지 새로운 방법으로 향상되었습니다. 가장 기본적인 의미에서 회귀는 숫자 대상의 예측을 나타냅니다. 선형 회귀는 기본 예측 작업에 대해 매우 간단한 모델을 원하는 경우에도 여전히 좋은 선택입니다. 뿐만 아니라, 선형 회귀는 복잡하지 않은 고차원 스파스 데이터 세트에도 효율적입니다.
Machine Learning Studio(클래식)는 선형 회귀 외에도 다양한 회귀 모델을 지원합니다. 그러나 "회귀"라는 용어는 느슨하게 해석될 수 있으며, 다른 도구에서 제공되는 일부 유형의 회귀는 Studio(클래식)에서 지원되지 않습니다.
클래식 회귀 문제에는 단일 독립 변수와 종속 변수가 포함됩니다. 이를 ‘단순 회귀’라고 합니다. 이 모듈은 단순 회귀를 지원합니다.
‘다중 선형 회귀’에는 단일 종속 변수에 영향을 주는 둘 이상의 독립 변수가 포함됩니다. 여러 입력을 사용하여 단일 숫자 결과를 예측하는 문제를 다변량 선형 회귀라고도 합니다.
선형 회귀 모듈은 Studio(클래식)의 다른 회귀 모듈 대부분과 마찬가지로 이러한 문제를 해결할 수 있습니다.
‘다중 레이블 회귀’는 단일 모델 내에서 여러 종속 변수를 예측하는 작업입니다. 예를 들어, 다중 레이블 로지스틱 회귀에서 샘플은 여러 다른 레이블에 할당될 수 있습니다. 단일 클래스 변수 내에서 여러 수준을 예측하는 작업과는 다릅니다.
이러한 유형의 회귀는 Machine Learning 지원되지 않습니다. 여러 변수를 예측하려면 예측할 각 출력에 대한 학습자를 별도로 만듭니다.
수년간 통계학자들은 점점 더 발전된 회귀 방법을 개발해 오고 있습니다. 선형 회귀의 경우도 마찬가지입니다. 이 모듈은 오차를 측정하고 회귀선에 맞추는 두 가지 방법인 최소자승법과 경사하강법을 지원합니다.
경사하강법은 모델 학습 프로세스의 각 단계에서 오차의 양을 최소화하는 방법입니다. 기울기 하강에는 여러 변형이 있으며, 다양한 학습 문제에 맞게 최적화하기 위해 광범위하게 연구되었습니다. 솔루션 방법에서 이 옵션을 선택하는 경우 다양한 매개 변수를 설정하여 단계 크기, 학습 속도 등을 제어할 수 있습니다. 이 옵션은 통합 매개 변수 스윕 사용도 지원합니다.
최소자승법은 선형 회귀 분석에서 가장 일반적으로 사용되는 기법 중 하나입니다. 예를 들어 최소자승법은 Microsoft Excel용 분석 도구에서 사용되는 방법입니다.
최소자승법은 실제 값에서 예측선까지 거리의 제곱 합으로 오류를 계산하고 제곱 오차를 최소화하여 모델을 적합하게 하는 손실 함수를 나타냅니다. 이 방법은 입력과 종속 변수 간에 강력한 선형 관계가 있다고 가정합니다.
선형 회귀를 구성하는 방법
이 모듈은 매우 다른 옵션을 사용하여 회귀 모델을 맞추는 두 가지 메서드를 지원합니다.
-
기울기 하강은 더욱 복잡하며 변수의 수에 비해 학습 데이터가 너무 적은 모델에 더욱 적합한 손실 함수입니다.
모델 하이퍼 매개 변수 조정을 사용하여 모델 매개 변수를 자동으로 최적화하도록 모델을 학습하는 경우에도 이 옵션은 매개 변수 스윕을 지원합니다.
-
작은 데이터 세트의 경우 최소자승법을 선택하는 것이 가장 좋습니다. 이 방법을 사용하면 Excel과 비슷한 결과가 제공되어야 합니다.
최소자승법을 사용하여 회귀 모델 만들기
Studio(클래식)에서 실험에 선형 회귀 모델 모듈을 추가합니다.
이 모듈은 Machine Learning 범주에서 찾을 수 있습니다. 모델 초기화를 확장하고 회귀를 확장한 다음 선형 회귀 모델 모듈을 실험으로 끌어옵니다.
속성 창의 솔루션 방법 드롭다운 목록에서 최소자승법을 선택합니다. 이 옵션은 회귀선을 찾는 데 사용되는 계산 방법을 지정합니다.
L2 정규화 가중치에서 L2 정규화의 가중치로 사용할 값을 입력합니다. 과잉 맞춤을 방지하려면 0이 아닌 값을 사용하는 것이 좋습니다.
정규화가 모델 맞춤에 미치는 영향에 대한 자세한 내용은 Machine Learning의 L1 및 L2 정규화 문서를 참조하세요.
절편항을 보려면 절편항 포함 옵션을 선택합니다.
회귀 수식을 검토할 필요가 없는 경우에는 이 옵션의 선택을 취소합니다.
필요에 따라 난수 시드에 모델에서 사용되는 난수 생성기를 시드할 값을 입력합니다.
동일한 실험을 여러 번 실행할 때 결과를 동일하게 유지하려는 경우 이 초기값을 사용하면 유용합니다. 그러지 않으면 기본값은 시스템 클록의 값을 사용하는 것입니다.
누락된 값이 오류를 발생시킬 경우 알 수 없는 범주 수준 허용 옵션을 선택 취소합니다.
이 옵션을 선택하면 각 범주 열에 대해 추가 수준이 생성됩니다. 학습 데이터 세트에 없는 테스트 데이터 세트의 모든 수준은 이 추가 수준에 매핑됩니다.
실험에 모델 학습 모듈을 추가하고 레이블이 지정된 데이터 세트를 연결합니다.
실험을 실행합니다.
최소자승법 모델의 결과
학습 완료 후:
모델의 매개 변수를 보려면 트레이너 출력을 마우스 오른쪽 단추로 클릭하고 시각화를 선택합니다.
예측을 수행하려면 새 값의 데이터 세트와 함께 학습된 모델을 모델 점수 매기기 모듈에 연결합니다.
레이블이 지정된 데이터 집합에 대해 교차 유효성 검사를 수행하려면 학습되지 않은 모델을 모델 교차 유효성 검사에 연결합니다.
온라인 경사하강법을 사용하여 회귀 모델 만들기
Studio(클래식)에서 실험에 선형 회귀 모델 모듈을 추가합니다.
이 모듈은 Machine Learning 범주에서 찾을 수 있습니다. 모델 초기화 확장, 회귀 확장 및 선형 회귀 모델 모듈을 실험으로 끌어다
속성 창의 솔루션 방법 드롭다운 목록에서 회귀선을 찾는 데 사용되는 계산 방법으로 온라인 경사하강법을 선택합니다.
트레이너 모드 만들기에서 미리 정의된 매개 변수 세트를 사용하여 모델을 학습할지 또는 매개 변수 스윕을 사용하여 모델을 최적화할지 여부를 지정합니다.
단일 매개 변수: 선형 회귀 네트워크 구성 방법을 알고 있는 경우 특정 값 세트를 인수로 제공할 수 있습니다.
매개 변수 범위: 알고리즘에서 가장 적합한 매개 변수를 찾으려면 트레이너 모드 만들기 옵션을 매개 변수 범위로 설정합니다. 그런 다음 알고리즘에 대해 여러 값을 지정하여 시도할 수 있습니다.
학습 속도에서 확률적 경사하강법 최적화 프로그램의 초기 학습 속도를 지정합니다.
학습 epoch 수에서 알고리즘이 예제를 반복해야 하는 횟수를 나타내는 값을 입력합니다. 예제 수가 적은 데이터 집합의 경우 이 횟수는 수렴에 도달할 정도로 커야 합니다.
기능 정규화: 모델을 학습하는 데 사용되는 숫자 데이터를 이미 정규화한 경우에는 이 옵션의 선택을 취소할 수 있습니다. 기본적으로 이 모듈은 모든 숫자 입력을 0에서 1 사이의 범위로 정규화합니다.
참고
채점에 사용되는 새 데이터에 동일한 정규화 방법을 적용해야 합니다.
L2 정규화 가중치에서 L2 정규화의 가중치로 사용할 값을 입력합니다. 과잉 맞춤을 방지하려면 0이 아닌 값을 사용하는 것이 좋습니다.
정규화가 모델 맞춤에 미치는 영향에 대한 자세한 내용은 Machine Learning의 L1 및 L2 정규화 문서를 참조하세요.
최종 가설을 평균화하려면 옵션 평균 최종 가설을 선택합니다.
회귀 모델에서 가설 테스트는 일부 통계를 사용하여 null 가설의 확률을 평가하는 것을 의미하며, 종속 변수와 독립 변수 간에 선형 상관 관계가 없음을 나타냅니다. 많은 회귀 문제에서 둘 이상의 변수를 포함하는 가설을 테스트해야 합니다.
이 옵션은 기본적으로 사용하도록 설정되어 있습니다. 즉, 알고리즘은 둘 이상의 매개 변수가 관련된 매개 변수 조합을 테스트합니다.
반복이 진행됨에 따라 학습 속도를 줄이려면 학습 속도 감소 옵션을 선택합니다.
필요에 따라 난수 시드에 모델에서 사용되는 난수 생성기를 시드할 값을 입력합니다. 동일한 실험을 여러 번 실행할 때 결과를 동일하게 유지하려는 경우 이 초기값을 사용하면 유용합니다.
누락된 값이 오류를 발생시킬 경우 알 수 없는 범주 수준 허용 옵션을 선택 취소합니다.
이 옵션을 선택하면 각 범주 열에 대해 추가 수준이 만들어집니다. 학습 데이터 세트에 없는 테스트 데이터 세트의 모든 수준은 이 추가 수준에 매핑됩니다.
레이블이 지정된 데이터 세트와 학습 모듈 중 하나를 추가합니다.
매개 변수 스윕을 사용하지 않는 경우 모델 학습 모듈을 사용합니다.
알고리즘에서 가장 적합한 매개 변수를 찾으려면 모델 하이퍼 매개 변수 조정을 사용하여 모델을 학습시킵니다.
참고
단일 매개 변수 옵션을 사용하여 특정 값으로 모델을 구성한 다음 매개 변수 범위 옵션으로 전환하면 모델은 각 매개 변수 범위의 최소값을 사용하여 학습됩니다.
반대로 모델을 만들 때 특정 설정을 구성하지만 매개 변수 범위 옵션을 선택하면 학습자의 기본값을 스윕할 값 범위로 사용하여 모델이 학습됩니다.
실험을 실행합니다.
온라인 경사하강법의 결과
학습 완료 후:
- 예측을 수행하려면 새 입력 데이터와 함께 학습된 모델을 모델 점수 매기기 모듈에 연결합니다.
- 레이블이 지정된 데이터 집합에 대해 교차 유효성 검사를 수행하려면 학습되지 않은 모델을 교차 유효성 검사 모델에 연결합니다.
예
회귀 모델의 예제는 Azure AI 갤러리에서 다음 샘플 실험을 참조하세요.
회귀기 비교: 여러 종류의 회귀 모델을 대조합니다.
회귀에 대한 교차 유효성 검사: 일반 최소 제곱을 사용하는 선형 회귀를 보여 줍니다.
Twitter 감정 분석: 여러 가지 회귀 모델을 사용하여 예측 등급을 생성합니다.
기술 정보
이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.
사용 팁
많은 도구에서 단순하고 복잡한 선형 회귀 만들기를 지원합니다. 예를 들어 해 찾기 도구 모음을 사용하여 Excel 선형 회귀를 쉽게 수행하거나 R, Python 또는 C#을 사용하여 고유한 회귀 알고리즘을 코딩할 수 있습니다.
그러나 선형 회귀는 다양한 도구에서 지원하는 잘 설정된 기술이므로 다양한 해석과 구현이 있습니다. 모든 유형의 모델이 모든 도구에서 동일하게 지원되는 것은 아닙니다. 또한 관찰할 명명법의 몇 가지 차이점이 있습니다.
회귀 메서드는 응답 변수 수로 분류되는 경우가 많습니다. 예를 들어, 다중 선형 회귀는 예측할 변수가 여러 개인 모델을 나타냅니다.
Matlab에서 다변량 회귀는 여러 응답 변수가 있는 모델을 나타냅니다.
Machine Learning 회귀 모델은 단일 응답 변수를 지원합니다.
R 언어에서 선형 회귀에 제공된 기능은 사용 중인 패키지에 따라 달라집니다. 예를 들어 glm 패키지는 여러 개의 독립 변수를 사용하여 로지스틱 회귀 모델을 만들 수 있는 기능을 제공합니다. 일반적으로 Machine Learning Studio(클래식)는 R glm 패키지와 동일한 기능을 제공합니다.
일반적인 회귀 문제에는 이 모듈 인 선형 회귀를 사용하는 것이 좋습니다.
반면, 여러 변수를 사용하여 클래스 값을 예측하는 경우 2클래스 로지스틱 회귀 또는 다중 클래스 로지스틱 회귀 모듈을 사용하는 것이 좋습니다.
R 언어에 사용할 수 있는 다른 선형 회귀 패키지를 사용하려면 R 스크립트 실행 모듈을 사용하고 Machine Learning Studio(클래식)의 런타임 환경에 포함된 lm 또는 glm 패키지를 호출하는 것이 좋습니다.
모듈 매개 변수
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
기능 정규화 | any | 부울 | true | 인스턴스를 정규화해야 하는지 여부를 나타냅니다. |
평균 최종 가설 | any | 부울 | true | 최종 가설의 평균을 계산해야 하는지 여부를 나타냅니다. |
학습 속도 | >=double.Epsilon | Float | 0.1 | 추측 기울기 하강 최적화 프로그램의 초기 학습 속도를 지정합니다. |
학습 Epoch의 수 | >=0 | 정수 | 10 | 알고리즘이 예제를 반복해야 하는 횟수를 지정합니다. 예제 수가 적은 데이터 집합의 경우 이 횟수는 수렴에 도달할 정도로 커야 합니다. |
학습 속도 감소 | 모두 | 부울 | true | 반복이 진행됨에 따라 학습 속도가 감소해야 하는지 여부를 나타냅니다. |
L2 정규화 가중치 | >=0.0 | Float | 0.001 | L2 정규화의 가중치를 지정합니다. 과잉 맞춤을 방지하려면 0이 아닌 값을 사용합니다. |
난수 초기값 | any | 정수 | 모델에서 사용하는 난수 생성기의 초기값으로 사용할 값을 지정합니다. 기본값을 사용하려면 비워 둡니다. | |
알 수 없는 범주 수준 허용 | any | 부울 | true | 각 범주 열에 대해 추가 수준을 만들어야 하는지 여부를 나타냅니다. 학습 데이터 집합에서 사용할 수 없는 테스트 데이터 집합의 모든 수준은 이 추가 수준으로 매핑됩니다. |
절편 용어 포함 | 모두 | 부울 | True | 절편에 대해 용어를 더 추가해야 하는지 여부를 나타냅니다. |
출력
Name | 유형 | 설명 |
---|---|---|
학습되지 않은 모델 | ILearner 인터페이스 | 학습되지 않은 회귀 모델입니다. |