Spisu treści:
- Pytania do rozmów kwalifikacyjnych dotyczących systemów uczących się
- Algorytmy
- Ramy i języki
- Budowanie sieci neuronowych
- Ocenianie modeli (wydajność)
- Projektowanie
- Pytania behawioralne
Pytania do rozmów kwalifikacyjnych dotyczących systemów uczących się
Rozmowa kwalifikacyjna z inżynierem systemów uczących się będzie bardzo techniczna, ale to Twoja szansa, aby pokazać, co sprawia, że jesteś najlepszym kandydatem.
Przygotuj się na te pytania do rozmów kwalifikacyjnych dotyczących sztucznej inteligencji i systemów uczących się i dowiedz się, jak na nie odpowiedzieć.
Ankieterzy mogą również wykorzystać tę listę do zbudowania rozmowy kwalifikacyjnej, która ujawni umiejętności kandydatów do uczenia maszynowego. Nauczysz się ich umiejętności technicznych i krytycznego myślenia.
Pytania, jakich można się spodziewać podczas rozmowy kwalifikacyjnej dotyczącej uczenia maszynowego.
Flickr
Algorytmy
Przygotuj się, aby pochwalić się swoją wiedzą na temat algorytmów płytkiego uczenia się. Jeśli nie ubiegasz się o stanowisko na ścisłym Data Scientist, ankieter nie będzie zbytnio zagłębiał się w szczegóły dotyczące algorytmów. Ale powinieneś być w stanie porozmawiać o danych wejściowych i jakie algorytmy najlepiej zastosować do jakiej aplikacji.
1. Kiedy użyłbyś KNN (k najbliższych sąsiadów)?
KNN jest zwykle używany do klasyfikacji. To jeden z najprostszych i najczęściej używanych algorytmów w uczeniu maszynowym.
Twoja odpowiedź może się różnić w zależności od twojego doświadczenia, ale w większości przypadków rozważyłbym KNN, gdy klasy i funkcje są oznaczone
2. Opisz, jak działa SVM (Support Vector Machine). Jak używać maszyn SVM z danymi nieliniowymi?
SVM tworzy hiperpłaszczyznę lub granicę decyzyjną, aby klasyfikować dane wejściowe na podstawie tego, po której stronie granicy znajdują się nowe dane. Są one optymalizowane poprzez maksymalne zwiększenie marginesu między granicą a punktami danych.
Pamiętaj, że jądra są często nakładane na maszyny SVM. Jądra przekształcają dane nieliniowe w dane liniowe, dzięki czemu można zoptymalizować SVM.
Ramy i języki
Ankieter będzie chciał wiedzieć, jakich języków i frameworków używasz. Wykorzystają również te pytania, aby zorientować się, jak szybko wybierzesz nowy framework i jak dostroisz się do dostępnych frameworków dla sztucznej inteligencji.
3. Dlaczego lubisz używać
Wszystko w twoim CV jest uczciwą grą. Zwłaszcza języki programowania, które wymieniasz w swoich umiejętnościach. Przygotuj się więc na omówienie wszystkich tajników.
Jeśli prawdziwa odpowiedź jest taka, że używałeś tego języka tylko dlatego, że tego właśnie używali w Twojej ostatniej pracy, to w porządku. Po prostu przygotuj się na rozmowę o zaletach i wadach języka z perspektywy uczenia maszynowego.
4. Opowiedz mi o swoich doświadczeniach z używaniem
Jeśli znasz ramy używane przez firmę, powinno to być dla Ciebie łatwe. Z pewnością, jeśli umieściłeś je w swoim CV, powinieneś być w stanie o nich opowiedzieć.
Jeśli nie korzystałeś zbytnio z tego konkretnego frameworka, niekoniecznie jest to zerwanie umowy. Każdy inżynier oprogramowania, który jest wart swojej soli, powinien być w stanie dostosować się do nowego frameworka bez ogromnej krzywej uczenia się. Opis stanowiska prawdopodobnie będzie zawierał listę kilku głównych platform, z których korzysta firma. Zbadaj te informacje przed rozpoczęciem rozmowy kwalifikacyjnej.
Niektóre aspekty, na których należy się skupić podczas badania nowych ram:
- Jakie zadania radzi sobie najlepiej?
- Jakie są mocne / słabe strony?
- Które języki dobrze współpracują z frameworkiem?
Musisz umieć inteligentnie rozmawiać o tym środowisku.
Jeśli framework jest open source, wypróbuj go na swoim komputerze osobistym. Istnieje również kilka niedrogich zajęć online, które pozwolą Ci uzyskać tymczasową licencję.
Budowanie sieci neuronowych
5. Co byś zrobił, gdyby twój algorytm się nie zbiegał?
To otwarte pytanie, które powinno być łatwe dla każdego, kto zajmuje się uczeniem maszynowym.
Zmniejszenie współczynnika uczenia się (alfa) to dobry pierwszy krok. Jako ankieter chciałbym, aby kandydat opisał bardziej logiczne podejście do znalezienia alfy. Wypróbuj strategiczny zakres alf i wykreśl funkcję kosztu na liczbie iteracji.
6. Kiedy użyłbyś funkcji Gradient Descent vs Normal Equation?
Możesz zapytać o zalety i wady różnych metod optymalizacji algorytmu.
Pamiętaj, że normalne równanie nie może być używane z klasyfikacją, więc to porównanie ma znaczenie tylko dla regresji. Zwykłe równanie jest wybierane, gdy liczba obiektów nie jest zbyt duża. Ma przewagę nad zejściem gradientowym, ponieważ nie musisz wybierać szybkości uczenia się ani iterować.
Jeśli istnieje wiele funkcji, normalne równanie jest bardzo wolne, więc wybrałbym zejście gradientowe.
Spodziewaj się pytań dotyczących budowania sieci neuronowych podczas rozmowy kwalifikacyjnej na stanowisko związane z uczeniem maszynowym lub sztuczną inteligencją.
WikimediaCommons
Ocenianie modeli (wydajność)
Jednym z podstawowych zadań inżyniera uczenia maszynowego jest optymalizacja sieci neuronowej i zrozumienie, jak dobrze działa.
7. Dlaczego nadmierne dopasowanie jest złe i jak można to naprawić?
Overfitting występuje, gdy algorytm bardzo dobrze dopasowuje się do danych treningowych, ale dokładnie przewiduje nowe sytuacje. Oczywiście jest to złe, ponieważ nie jest przydatne w rzeczywistych sytuacjach.
Opisz kilka sposobów na poprawę nadmiernego dopasowania. Dodanie terminu regularyzacyjnego i zwiększenie lambda może dać dobre wyniki. Zmniejszenie liczby cech lub zmniejszenie kolejności wielomianów to opcje, ale nie są one właściwym wyborem w każdej sytuacji.
8. Skąd wiesz, czy Twój model jest dobry?
Jest to podobne do powyższego pytania, w którym kandydat musi zrozumieć, jak oceniać modele.
Możesz wyjaśnić, w jaki sposób dostępne dane szkoleniowe są dzielone na dane treningowe, dane walidacyjne i dane testowe oraz do czego są one używane. Chciałbym usłyszeć, jak kandydat mówi o zmianie stopnia wielomianu i lambda oraz o porównaniu błędu w danych walidacyjnych.
Projektowanie
Przyjdź na rozmowę gotową do omówienia poprzednich projektów. Jak w przypadku każdego wywiadu, wszystko w twoim CV jest uczciwą grą.
Przygotuj portfolio projektów z pracy, szkoły lub do użytku osobistego. Możesz być ograniczony w tym, co możesz powiedzieć na podstawie umowy o zachowaniu poufności lub pracy niejawnej, więc jasno określ, o czym możesz rozmawiać.
Oto kilka pytań, których możesz się spodziewać:
9. Jaki był Twój ulubiony projekt uczenia maszynowego, nad którym pracowałeś?
Ze względu na tę rozmowę kwalifikacyjną możesz wybrać jako ulubiony projekt najbardziej odpowiadający Twojemu stanowisku. Dzięki temu będziesz mieć szansę na podkreślenie swoich istotnych doświadczeń.
Jeśli wolisz porozmawiać o tym, który z nich jest Twoim ulubionym, aby dać kierownikowi ds. Rekrutacji wyobrażenie o tym, czy spodoba Ci się nowe stanowisko, to również dobry pomysł.
10. Opowiedz o trudnym problemie, który rozwiązałeś.
Wybierz problem, który można łatwo opisać. Częścią dobrej odpowiedzi na to pytanie jest pokazanie, że można opisać złożone problemy związane z uczeniem maszynowym odbiorcom nietechnicznym.
Kiedy opisujesz swoje rozwiązanie, nie bierz zasługi, chyba że to naprawdę był twój wysiłek. Rozgrywanie wkładu swojego zespołu pokaże, że jesteś dobrym graczem zespołowym. Jeśli ma to zastosowanie, wskaż klienta, harmonogram i wpływ tego problemu na budżet. Pokaż, w jaki sposób Twój wkład wnosi wartość do wyniku finansowego, a nie tylko do bezpośredniego problemu.
Pytania behawioralne
Nie zapominaj, że wywiad najprawdopodobniej będzie zawierał pytania behawioralne. A dla wielu inżynierów i analityków danych jest to najtrudniejsza część! Spędzamy tyle czasu przygotowując się do pytań technicznych, że zapominamy o tym, że będziemy oceniali również to, jak pasujemy do zespołu.
Ważniejsze pytania behawioralne znajdują się poniżej, abyś mógł się przygotować z wyprzedzeniem. W przypadku pytań, które wymagają opisania konkretnego czasu, użyj modelu STAR, aby przedstawić swoje odpowiedzi. Czytać