To pytanie może być zbyt otwarte, aby uzyskać ostateczną odpowiedź, ale mam nadzieję, że nie.
Algorytmy uczenia maszynowego, takie jak SVM, GBM, Random Forest itp., Generalnie mają pewne wolne parametry, które poza pewną wskazówką praktyczną, muszą być dostosowane do każdego zestawu danych. Zazwyczaj odbywa się to za pomocą pewnego rodzaju techniki ponownego próbkowania (bootstrap, CV itp.) W celu dopasowania zestawu parametrów, które dają najlepszy błąd generalizacji.
Moje pytanie brzmi: czy możesz posunąć się za daleko? Ludzie mówią o przeszukiwaniu sieci jako takiej, ale dlaczego po prostu nie potraktować tego jako problemu optymalizacji i przejść do najlepszego możliwego zestawu parametrów? Zapytałem o pewną mechanikę tego pytania w tym pytaniu, ale nie spotkało się to z dużym zainteresowaniem. Może pytanie zostało źle zadane, ale może samo pytanie reprezentuje złe podejście, którego ludzie na ogół nie robią?
Niepokoi mnie brak regularyzacji. Mogę stwierdzić przez ponowne próbkowanie, że najlepsza liczba drzew rosnących w GBM dla tego zestawu danych to 647 przy głębokości interakcji wynoszącej 4, ale jak mogę być pewien, że tak będzie w przypadku nowych danych (przy założeniu nowej populacji jest identyczny z zestawem treningowym)? Bez rozsądnej wartości, aby „skurczyć się” (lub jeśli nie, bez wcześniejszych informacji), ponowne próbkowanie wydaje się najlepszym rozwiązaniem. Po prostu nie słyszę o tym żadnej rozmowy, więc zastanawiam się, czy czegoś brakuje.
Oczywiście wiąże się to z dużymi kosztami obliczeniowymi związanymi z wykonywaniem wielu wielu iteracji w celu wyciśnięcia każdej ostatniej mocy predykcyjnej z modelu, więc oczywiście jest to coś, co zrobiłbyś, gdybyś miał czas / chrząknięcie na optymalizację i za każdym razem poprawy wydajności jest cenna.