기능 확장은 머신러닝에서 중요한 역할을 하며, 로컬 최적성과 밀접한 관계가 있습니다. 특징 스케일링은 유사한 수치 범위를 갖도록 특징 데이터의 스케일링을 나타냅니다. 그 목적은 모델 훈련 중 특정 기능이 결과에 과도한 영향을 미치는 것을 방지하여 모델을 더욱 안정적이고 정확하게 만드는 것입니다. 국소 최적성(Local Optimity)은 국소적인 영역에서 발견되는 최적해를 말하지만 반드시 전역적 최적해는 아니다. 기계 학습에서 최적화 알고리즘은 반복적으로 최적의 솔루션을 찾는 경우가 많습니다. 특성 데이터의 범위가 매우 다른 경우 모델 훈련 프로세스 중에 일부 특성이 최적화 알고리즘의 수렴에 더 큰 영향을 미쳐 알고리즘이 로컬 최적성에 빠지고 전역 최적 솔루션을 찾지 못할 수 있습니다. 이 문제를 해결하기 위해 기능을 확장할 수 있습니다. 특성 데이터를 유사한
으로 스케일링함으로써 특성 스케일링의 목적은 다양한 특성의 수치 범위가 유사하도록 하고 특정 특성이 모델 훈련 결과에 과도한 영향을 미치지 않도록 하는 것입니다.
주택 면적(단위: 평방미터)과 주택 가격(단위: 10,000위안)을 특징으로 하는 단순 선형 회귀 문제가 있다고 가정합니다. 기능을 확장하지 않고 원본 데이터를 모델링에 직접 사용하지 않으면 로컬 최적 문제가 발생할 수 있습니다. 이는 특성의 수치 범위가 다를 수 있기 때문에 모델이 계산 시 값이 더 큰 특성을 선호하게 되기 때문입니다. 이 문제를 해결하기 위해 평균 정규화나 표준화 등을 사용하여 특성 값을 동일한 값 범위로 스케일링할 수 있습니다. 이렇게 하면 모델이 계산할 때 모든 특성에 동일한 중요성을 부여합니다.
import numpy as np from sklearn.linear_model import LinearRegression # 原始数据 area = np.array([100, 150, 200, 250, 300]).reshape(-1, 1) price = np.array([50, 75, 100, 125, 150]) # 不进行特征缩放的线性回归 model_unscaled = LinearRegression() model_unscaled.fit(area, price) # 缩放数据 area_scaled = (area - np.mean(area)) / np.std(area) price_scaled = (price - np.mean(price)) / np.std(price) # 进行特征缩放的线性回归 model_scaled = LinearRegression() model_scaled.fit(area_scaled, price_scaled)
위 코드에서는 먼저 비특성 스케일 데이터를 사용하여 선형 회귀 모델링을 수행한 다음 특성 스케일 데이터를 사용하여 선형 회귀를 수행합니다. 모델링 회귀 모델링.
면적과 가격의 단위가 다르기 때문에 선형 회귀 알고리즘은 면적 특성에 더 크게 적합하고 가격을 무시할 수 있습니다. 모델이 로컬 최적에 가까운 적합하지 않은 것을 방지하려면 특성 스케일링이 필요합니다.
두 기능의 크기가 동일하도록 기능의 크기를 조정하면 이 문제를 피할 수 있습니다. 특징 규모가 조정된 데이터에 대해 선형 회귀 모델링을 수행함으로써 모델은 두 가지 특징을 보다 균등하게 처리할 수 있어 서로 다른 규모의 영향으로 인해 발생하는 국소 최적점 문제를 줄일 수 있습니다.
코드의 기능 스케일링은 평균 정규화와 표준화를 사용하며 실제 상황에 따라 적절한 기능 스케일링 방법을 선택할 수 있다는 점에 유의해야 합니다.
요약하자면, 특징 스케일링은 스케일을 통합함으로써 특징 가중치의 균형을 보장하고 훈련 과정에서 로컬 최적점을 더 잘 제거하는 모델의 능력을 향상시켜 로컬 최적성을 피하는 데 도움이 됩니다. 전반적인 최적화.
위 내용은 지역 최적 솔루션에 대한 기능 확장의 영향의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!