메인 콘텐츠로 건너뛰기

stochasticLinearRegression

도입된 버전: v20.1.0 이 함수는 확률적 선형 회귀를 구현합니다. 다음 사용자 지정 매개변수를 지원합니다:
  • 학습률
  • L2 정규화 계수
  • 미니 배치 크기
또한 가중치를 업데이트하는 몇 가지 메서드도 제공합니다:
  • Adam (기본값)
  • 단순 SGD
  • Momentum
  • Nesterov
사용법 이 함수는 두 단계로 사용합니다. 먼저 모델을 학습시키고, 그다음 새 데이터에 대해 예측합니다.
  1. 학습
학습에는 다음과 같은 쿼리를 사용할 수 있습니다:
여기서는 train_data 테이블에도 데이터를 삽입해야 합니다. 매개변수의 개수는 고정되어 있지 않으며, linearRegressionState에 전달되는 인수의 개수에 따라서만 달라집니다. 모두 숫자 값이어야 합니다. 예측하도록 학습하려는 대상 값이 들어 있는 컬럼은 첫 번째 인수로 삽입된다는 점에 유의하십시오.
  1. 예측
상태를 테이블에 저장한 후에는 이를 예측에 여러 번 사용할 수 있으며, 다른 상태와 머지하여 새롭고 더 나은 모델을 만들 수도 있습니다.
이 쿼리는 예측값 컬럼을 반환합니다. evalMLMethod의 첫 번째 인수는 AggregateFunctionState 객체이고, 그다음 인수들은 피처 컬럼입니다. test_datatrain_data와 같은 테이블이지만 대상 값은 포함하지 않을 수 있습니다. 참고
  1. 두 모델을 머지하려면 다음과 같은 쿼리를 만들 수 있습니다:
여기서 your_models 테이블에는 두 모델이 모두 포함되어 있습니다. 이 쿼리는 새로운 AggregateFunctionState 객체를 반환합니다.
  1. -State combinator를 사용하지 않으면 모델을 저장하지 않고도 생성된 모델의 가중치를 가져와 자체 용도로 사용할 수 있습니다.
이와 같은 쿼리를 실행하면 모델이 학습되고 가중치가 반환됩니다. 앞의 값들은 모델의 매개변수에 해당하는 가중치이며, 마지막 값은 바이어스입니다. 따라서 위 예시에서 쿼리는 3개의 값으로 이루어진 컬럼을 반환합니다. 구문
인수
  • learning_rate — 경사 하강을 수행할 때 스텝 길이에 곱해지는 계수입니다. 학습률이 너무 크면 모델의 가중치가 무한대로 발산할 수 있습니다. 기본값은 0.00001입니다. Float64
  • l2_regularization_coef — 과적합을 방지하는 데 도움이 될 수 있는 L2 정규화 계수입니다. 기본값은 0.1입니다. Float64
  • mini_batch_size — 경사 하강을 한 번 수행하기 위해 그래디언트를 계산하고 합산할 요소 수를 설정합니다. 순수 확률적 하강에서는 요소 1개를 사용하지만, 작은 배치(약 10개 요소)를 사용하면 경사 하강 단계가 더 안정적입니다. 기본값은 15입니다. UInt64
  • method — 가중치를 갱신하는 메서드입니다: Adam(기본값), SGD, Momentum, Nesterov. MomentumNesterov는 계산량과 메모리 사용량이 약간 더 많지만, 수렴 속도와 확률적 경사 메서드의 안정성 측면에서 유용할 수 있습니다. const String
  • target — 예측하도록 학습할 대상 값(종속 변수)입니다. 숫자여야 합니다. Float*
  • x1, x2, ... — 특성 값(독립 변수)입니다. 모두 숫자여야 합니다. Float*
반환 값 학습된 선형 회귀 모델의 가중치를 반환합니다. 앞의 값들은 모델의 매개변수에 해당하며, 마지막 값은 바이어스입니다. 예측에는 evalMLMethod를 사용합니다. Array(Float64) 예시 모델 학습
Query
Response
예측하기
Query
Response
모델 가중치 가져오기
Query
Response
관련 항목
마지막 수정일 2026년 7월 2일