Zastosowanie siedmiu kroków uczenia maszynowego zapewnia ustrukturyzowane podejście do opracowywania modeli uczenia maszynowego, zapewniając systematyczny proces, który można śledzić od definicji problemu do wdrożenia. Ta struktura jest korzystna zarówno dla początkujących, jak i doświadczonych praktyków, ponieważ pomaga w organizacji przepływu pracy i zapewnia, że żaden krytyczny krok nie zostanie pominięty. Tutaj wyjaśnię te kroki w kontekście praktycznego przykładu: przewidywanie cen nieruchomości za pomocą narzędzi Google Cloud Machine Learning.
Krok 1: Zdefiniuj problem
Pierwszym krokiem w każdym projekcie uczenia maszynowego jest jasne zdefiniowanie problemu, który próbujesz rozwiązać. Wiąże się to ze zrozumieniem problemu biznesowego lub praktycznego i przełożeniem go na problem uczenia maszynowego. W naszym przykładzie problem biznesowy polega na przewidywaniu cen domów w określonym regionie, aby pomóc agentom nieruchomości i potencjalnym nabywcom w podejmowaniu świadomych decyzji. Problem uczenia maszynowego można ująć jako problem regresji nadzorowanej, w którym celem jest przewidzenie ciągłej zmiennej docelowej, ceny domu, na podstawie różnych cech, takich jak lokalizacja, rozmiar, liczba sypialni i inne istotne atrybuty.
Krok 2: Zbierz i przygotuj dane
Gromadzenie i przygotowywanie danych to krytyczna faza obejmująca gromadzenie odpowiednich danych, które mogą być wykorzystane do trenowania modelu. W naszym przykładzie prognozowania cen nieruchomości dane mogą być zbierane z ofert nieruchomości, rejestrów publicznych lub baz danych nieruchomości. Zestaw danych powinien zawierać szereg cech, które prawdopodobnie wpływają na ceny domów, takich jak metraż kwadratowy, liczba sypialni i łazienek, oceny sąsiedztwa, bliskość udogodnień i historyczne dane dotyczące sprzedaży.
Po zebraniu dane muszą zostać wstępnie przetworzone. Wiąże się to z oczyszczeniem danych poprzez obsługę brakujących wartości, usuwaniem duplikatów i korygowaniem wszelkich niespójności. Na przykład brakujące wartości w zestawie danych mogą zostać przypisane za pomocą metod statystycznych lub wiedzy domenowej. Ponadto zmienne kategoryczne, takie jak nazwy sąsiedztw, mogą wymagać zakodowania w formatach numerycznych za pomocą technik takich jak kodowanie one-hot.
Krok 3: Wybierz model
Wybór modelu zależy od typu problemu i charakteru danych. W przypadku problemu regresji, takiego jak przewidywanie cen mieszkań, można rozważyć modele takie jak regresja liniowa, drzewa decyzyjne lub bardziej złożone algorytmy, takie jak lasy losowe i maszyny gradient boosting. W Google Cloud Machine Learning masz dostęp do TensorFlow i innych bibliotek, które ułatwiają implementację tych modeli.
Prosty model regresji liniowej mógłby służyć jako punkt odniesienia. Jednak biorąc pod uwagę złożoność i nieliniowość często występujące w danych rzeczywistych, bardziej zaawansowane modele, takie jak XGBoost lub DNNRegressor TensorFlow, mogą być bardziej odpowiednie. Wybór modelu powinien być podyktowany wydajnością w zestawach danych walidacyjnych i zdolnością do dobrego uogólniania na niewidziane dane.
Krok 4: Trenuj model
Szkolenie modelu polega na wprowadzeniu przygotowanych danych do wybranego algorytmu w celu nauczenia się podstawowych wzorców. Ten krok wymaga podziału danych na zestawy treningowe i walidacyjne, co pozwala modelowi uczyć się z jednego podzbioru i być ocenianym na innym. W Google Cloud można to sprawnie zarządzać, korzystając z usług takich jak Google Cloud AI Platform, która zapewnia skalowalne zasoby do szkolenia modelu.
Podczas treningu hiperparametry modelu mogą wymagać dostrojenia w celu optymalizacji wydajności. Na przykład w modelu drzewa decyzyjnego parametry takie jak głębokość drzewa i minimalna liczba próbek wymagana do podziału węzła mogą znacząco wpłynąć na dokładność modelu i zdolność generalizacji. Techniki takie jak wyszukiwanie siatki lub wyszukiwanie losowe mogą być stosowane w celu znalezienia optymalnych ustawień hiperparametrów.
Krok 5: Oceń model
Ocena jest ważnym krokiem w ocenie wydajności wytrenowanego modelu. Obejmuje ona użycie metryk odpowiednich do typu problemu. W przypadku problemów regresji, typowe metryki obejmują średni błąd bezwzględny (MAE), średni błąd kwadratowy (MSE) i pierwiastek średniego błędu kwadratowego (RMSE). Te metryki dostarczają wglądu w dokładność modelu i zakres błędów w przewidywaniach.
W naszym przykładzie prognozowania cen mieszkań, po wytrenowaniu modelu, zostanie on oceniony na zestawie walidacyjnym, aby upewnić się, że działa dobrze na niewidzianych danych. Platforma AI Google Cloud udostępnia narzędzia do śledzenia tych metryk i wizualizacji wydajności modelu, co pomaga zrozumieć, jak dobrze model prawdopodobnie będzie działał w rzeczywistych scenariuszach.
Krok 6: Dostrój model
Strojenie modelu to iteracyjny proces mający na celu poprawę wydajności modelu. Ten krok może obejmować dostosowywanie hiperparametrów, wypróbowywanie różnych algorytmów lub modyfikowanie zestawu funkcji. Na przykład, jeśli początkowy model nie działa zadowalająco, inżynieria funkcji może zostać ponownie przeanalizowana w celu uwzględnienia terminów interakcji lub funkcji wielomianowych, które uwzględniają nieliniowe relacje.
W Google Cloud dostrajanie hiperparametrów można zautomatyzować za pomocą funkcji dostrajania hiperparametrów platformy Cloud AI Platform, która sprawnie przeszukuje przestrzeń hiperparametrów w celu znalezienia najlepszej kombinacji dla modelu. Może to znacznie poprawić wydajność modelu bez ręcznej interwencji.
Krok 7: Wdróż model
Wdrożenie sprawia, że wytrenowany model jest dostępny do wykorzystania w aplikacjach w świecie rzeczywistym. Ten krok obejmuje skonfigurowanie środowiska, w którym model może odbierać dane wejściowe, tworzyć prognozy i zwracać wyniki użytkownikom lub systemom. Google Cloud oferuje kilka opcji wdrażania, w tym AI Platform Prediction, która umożliwia wdrażanie modeli jako interfejsów API RESTful.
W przykładzie prognozowania cen nieruchomości wdrożony model można zintegrować z aplikacją nieruchomości, w której użytkownicy wprowadzają cechy domu i otrzymują prognozy cen. Wdrożenie obejmuje również monitorowanie wydajności modelu w produkcji, aby zapewnić, że nadal dostarcza on dokładnych prognoz i aktualizuje model w razie potrzeby, gdy pojawią się nowe dane.
Przykładowy kontekst
Rozważmy firmę zajmującą się nieruchomościami, która ma na celu udoskonalenie procesu wyceny nieruchomości za pomocą uczenia maszynowego. Postępując zgodnie z siedmioma opisanymi krokami, firma może systematycznie opracować solidny model uczenia maszynowego, aby przewidywać ceny domów. Początkowo definiują problem, identyfikując potrzebę dokładnych wycen nieruchomości. Następnie zbierają dane z wielu źródeł, w tym historycznych rejestrów sprzedaży i ofert nieruchomości, zapewniając kompleksowy zestaw danych, który odzwierciedla trendy rynkowe.
Po wstępnym przetworzeniu danych w celu obsługi brakujących wartości i zakodowania zmiennych kategorycznych firma wybiera model gradient boosting ze względu na jego zdolność do obsługi złożonych relacji i interakcji między funkcjami. Trenują model za pomocą platformy AI Google Cloud, wykorzystując jej skalowalną infrastrukturę do wydajnej obsługi dużych zestawów danych.
Model jest oceniany przy użyciu RMSE, ujawniając obszary do poprawy. Poprzez przeprowadzanie dostrajania hiperparametrów i eksperymentowanie z dodatkowymi funkcjami pochodzącymi z wiedzy o domenie, firma zwiększa dokładność predykcyjną modelu. Na koniec model jest wdrażany jako API, co umożliwia integrację z istniejącymi systemami firmy, gdzie dostarcza użytkownikom szacunkowe ceny w czasie rzeczywistym, usprawniając w ten sposób procesy podejmowania decyzji i zadowolenie klientów.
Inne niedawne pytania i odpowiedzi dotyczące EITC/AI/GCML Uczenie Maszynowe Google Cloud:
- Jakie są kryteria wyboru właściwego algorytmu dla danego problemu?
- Jeśli ktoś używa modelu Google i trenuje go na własnej instancji, czy Google zachowuje ulepszenia wprowadzone na podstawie danych treningowych?
- Jak można dowiedzieć się, którego modelu ML użyć przed jego wytrenowaniem?
- Czym jest zadanie regresyjne?
- Jak można przechodzić między tabelami Vertex AI i AutoML?
- Czy można używać Kaggle do przesyłania danych finansowych oraz przeprowadzania analiz statystycznych i prognozowania przy użyciu modeli ekonometrycznych, takich jak R-kwadrat, ARIMA lub GARCH?
- Czy uczenie maszynowe można wykorzystać do przewidywania ryzyka choroby wieńcowej?
- Jakie faktyczne zmiany nastąpią w związku z rebrandingiem Google Cloud Machine Learning na Vertex AI?
- Jakie są wskaźniki oceny wydajności modelu?
- Czym jest regresja liniowa?
Zobacz więcej pytań i odpowiedzi w EITC/AI/GCML Google Cloud Machine Learning