질문의 test 명령이 올바르지 않습니다. 입력이 없습니다 (-p ...
출력 예상을 나타냄). 당신이 테스트 할 수는 test
을 말한다 때문에 또는 이을 예측하지만, 사용되는 명령이 당신이 데이터를 표시하고 당신이 모델의 품질을 평가하고 의미 -p ...
시험이있는 경우 또한 그것은 분명하지 않다. 엄밀히 말하면 : 는을 의미합니다. 라벨이 없으므로 예측이 얼마나 좋은지 실제로 알 수 없습니다. 실제적으로, 보유하고있는 레이블이있는 데이터 (레이블을 무시함으로써 레이블이없는 것으로 가장하는)를 예측 한 다음 실제로 레이블을 가지고 있기 때문에 이러한 예측이 얼마나 좋은지 평가할 수 있습니다. 일반적으로
: 당신이 이진 분류를 수행하려는 경우, 당신은 {-1, 1}
에 라벨을 사용하고 --loss_function logistic
를 사용해야합니다
vw
의 홀드 아웃 메카니즘은 다중 패스를 모든 예 효과적으로 헬드 아웃되는 단일 패스로 인해 사용되는 경우에만 관련이 테스트 세트를 대체 이상의 피팅 않도록 설계되었다; 다음 (아직 보이지 않는) 예제는 1) 예측을 위해 레이블이 지정되지 않고 2) 테스트 및 모델 업데이트 용으로 레이블이 지정된 것으로 처리됩니다. IOW : 귀하의 기차 세트는 실제로 귀하의 시험 세트이기도합니다.
그래서 당신이에 여러 패스를 할 수 있습니다 어떤 홀드 아웃와 기차 세트 :
vw --loss_function logistic --nn 4 -c --passes 2 --holdout_off train.vw -f model
후 별도의와 모델을 테스트하고 표시, 시험 세트 :
vw -t -i model test.vw
또는 을 몇 가지 홀드 아웃 (hold-out)을 포함하는 동일한 트레인 세트에 여러 번 통과시켜 테스트 세트으로하십시오. 당신이 테스트가 설정되어 있지 않으며, 당신이 적합-강화하기 위해 여러 패스를 사용하여 원하는 경우
vw --loss_function logistic --nn 4 -c --passes 20 --holdout_period 7 train.vw -f model
, 당신이 잡아 아웃하는 예를 일 모든 N
을 (N
10 인 디폴트를 vw
을 요청할 수 있습니다, 위에서 보았 듯이 --holdout_period <N>
을 사용하여 명시 적으로 무시할 수 있습니다. 이 경우 보류 아웃 세트의 손실이 증가하기 시작하면 vw
이 자동으로 조기 종료하기 때문에보다 높은 수의 패스를 지정할 수 있습니다.
당신은 vw
이 같은 인쇄하기 때문에 당신이 조기 종료를 누르 알 것 : 5 N
중 패스가 실제로 초기 정지하기 전에 사용 된 것을 나타내는
passes used = 5
...
average loss = 0.06074 h
을하고, 보유 밖으로 집합에 오류 예를 들면 0.06074입니다 (꼬리표 h
은 보류 손실임을 나타냄). 당신이 볼 수 있듯이
는 패스의 수, 홀드 아웃 기간는 완전히 독립적 인 옵션입니다.
모델을 개선하고 더 많은 자신감을 얻으려면 다른 최적화를 사용하고 holdout_period를 변경하고 --nn
args를 시도하십시오. 더 나은 하이퍼 매개 변수를 찾으려면 utl
하위 디렉토리의 vw-hypersearch
유틸리티를 확인하십시오.
$ vw-hypersearch 1 20 vw --loss_function logistic --nn % -c --passes 20 --holdout_period 11 test/train-sets/rcv1_small.dat --binary
trying 13 ............. 0.133333 (best)
trying 8 ............. 0.122222 (best)
trying 5 ............. 0.088889 (best)
trying 3 ............. 0.111111
trying 6 ............. 0.1
trying 4 ............. 0.088889 (best)
loss(4) == loss(5): 0.088889
5 0.08888
4
또는 5
하나가 홀드에 0.08888 손실을 수득 --nn
좋은 파라미터되는 것을 나타내는 : 여기
소스에 포함 된 테스트 세트 중 하나에 vw-hypersearch
를 사용하는 예이다 11 가지 예에서 1의 하위 집합.