내가 사용하는 학습 데이터 세트는 각 픽셀이 개별 샘플을 나타내는 회색 음영 이미지 인 flatten
입니다. 두 번째 이미지는 이전 이미지에서 Multilayer perceptron
(MLP
) 분류자를 학습 한 후 픽셀 단위로 분류됩니다.감독 분류에서 fit()보다 성능이 떨어지는 partial_fit()가있는 MLP
문제는 청크 (partial_fit()
)와 비교하여 훈련 데이터 세트를 한 번에 받으면 (fit()
) MLP
이 더 잘 수행된다는 것입니다. 두 경우 모두 Scikit-learn
에 의해 제공되는 기본 매개 변수를 유지할 것입니다.
훈련 데이터 세트가 수백만 개의 샘플 순서로되어 있기 때문에 MLP
을 청크로 훈련 시키려면 partial_fit()
을 사용해야합니다. 나는 그것이 데이터의 덩어리에 의해 훈련 때 더 허용의 결과를 확인하기 위해 MLP
분류에 조정해야하는 매개 변수
def batcherator(data, target, chunksize):
for i in range(0, len(data), chunksize):
yield data[i:i+chunksize], target[i:i+chunksize]
def classify():
classifier = MLPClassifier(verbose=True)
# classifier.fit(training_data, training_target)
gen = batcherator(training.data, training.target, 1000)
for chunk_data, chunk_target in gen:
classifier.partial_fit(chunk_data, chunk_target,
classes=np.array([0, 1]))
predictions = classifier.predict(test_data)
내 질문은?
나는 hidden_layer_sizes
을 사용하여 숨겨진 레이어의 뉴런 수를 늘리려고했지만 아무런 개선이 없었습니다. 기본 레이어 relu
에서 logistic
으로 숨겨진 레이어의 활성화 기능을 activation
매개 변수로 변경해도 개선되지 않습니다.
아래는 내가 일하고 있어요 이미지는 그들이 numpy
배열에서 CSV
로 내 보낸 Google Fusion
테이블에 대한 링크 (그들 모두 512x512
이미지가) (부동 소수점 대신 int로 이미지를 떠날) :
Training_data : 흰색 영역은 마스크 아웃된다
: Google Fusion Table (training_data)
Class0 :
,클래스 1 :
Training_target :
Google Fusion Table (training_target)
Test_data :
,536,913 (partial_fit 포함) 63,210Google Fusion Table (test_data)
예측 :
Google Fusion Table (predictions)
매개 변수 조정의 영향을 덜받는 선형 분류기와 영향을받는 비선형 분류기를 사전 처리 및 공동 작업을 표시하지 않고 알 수없는 데이터 집합의 기본 설정과 비교하면서 이 지배에 대한 통계를 보여줍니다. 게다가 : 하나가 선형이고, 다른 하나가 비선형인데, 비선형적인 것을 개선하려고했습니다. 더 비선형 적으로 만들었습니다. 이것의 대부분은별로 의미가 없으며 재현 할 수 없으므로 도움이되지 않습니다. 예외를 말하면 어떨까요? 숨겨진 레이어를 제거하거나 정규화를 늘립니다. – sascha
또한 SGD는 5 개의 신기원을 수행 할 수 있습니다. MLP는 1 개입니다 (꽤 큰 미니 바). – sascha
@ sascha 문제가 조금 바뀌면서 방금 질문을 업데이트했습니다. 질문의 어떤 부분이 더 자세한 내용이 필요한지 알려주십시오. – h4k1m