Inhoudsopgave:
- Vragen tijdens sollicitatiegesprekken met machine learning
- Algoritmen
- Frameworks en talen
- Neurale netwerken bouwen
- Modellen evalueren (prestaties)
- Projecten
- Gedragsvragen
Vragen tijdens sollicitatiegesprekken met machine learning
Het interview voor een machine learning-ingenieur wordt erg technisch, maar het is jouw kans om te laten zien wat jou de beste kandidaat maakt.
Bereid u voor met deze interviewvragen over kunstmatige intelligentie en machine learning en hoe u ze kunt beantwoorden.
Interviewers kunnen deze lijst ook gebruiken om een interview samen te stellen waarin het vermogen van kandidaten voor machine learning wordt onthuld. Je leert hun technische vaardigheden en hun vermogen om kritisch te denken.
Vragen die u kunt verwachten in een machine learning-interview.
Flickr
Algoritmen
Wees voorbereid om te pronken met uw kennis van oppervlakkige leeralgoritmen. Tenzij je solliciteert voor een strikte Data Scientist-functie, gaat de interviewer niet te diep in op algoritmevragen. Maar u zou moeten kunnen praten over de invoer en welke algoritmen het beste kunnen worden gebruikt voor welke toepassing.
1. Wanneer zou je KNN (k naaste buren) gebruiken?
KNN wordt meestal gebruikt voor classificatie. Het is een van de eenvoudigste en meest gebruikte algoritmen bij machine learning.
Uw antwoord kan variëren op basis van uw ervaring, maar ik zou in de meeste gevallen KNN overwegen wanneer de klassen en functies zijn gelabeld
2. Beschrijf hoe SVM (Support Vector Machine) werkt. Hoe kunt u SVM's gebruiken met niet-lineaire gegevens?
SVM creëert een hypervlak of beslissingsgrens om invoergegevens te classificeren op basis van aan welke kant van de grens de nieuwe gegevens liggen. Ze worden geoptimaliseerd door de marge tussen de grens en datapunten zoveel mogelijk te vergroten.
Onthoud dat kernels vaak gestapeld zijn met SVM's. Kernels zetten niet-lineaire gegevens om in lineaire gegevens, zodat een SVM kan worden geoptimaliseerd.
Frameworks en talen
De interviewer wil weten welke talen en kaders u heeft gebruikt. Ze zullen deze vragen ook gebruiken om een idee te krijgen van hoe snel je een nieuw raamwerk oppikt en hoe je bent afgestemd op welke raamwerken er beschikbaar zijn voor kunstmatige intelligentie.
3. Waarom gebruik je
Alles op je cv is een eerlijk spel. Vooral de programmeertalen die je noemt in je vaardigheden. Dus wees bereid om over alle ins en outs te praten.
Als het waarheidsgetrouwe antwoord is dat u alleen die taal gebruikte omdat ze dat bij uw laatste baan gebruikten, is dat prima. Wees gewoon bereid om te praten over de voor- en nadelen van een taal vanuit het perspectief van machine learning.
4. Vertel me over uw ervaringen met
Als u bekend bent met het raamwerk dat het bedrijf gebruikt, zou dit gemakkelijk voor u moeten zijn. Als je ze in je cv hebt vermeld, zou je er zeker alles over moeten kunnen praten.
Als je dat specifieke framework niet veel hebt gebruikt, is dat niet per se een dealbreaker. Elke software-engineer die zijn / haar zout waard is, moet zich kunnen aanpassen aan een nieuw raamwerk zonder een enorme leercurve. De functiebeschrijving zal waarschijnlijk een paar van de belangrijkste platforms vermelden die het bedrijf gebruikt. Doe uw onderzoek naar die voordat het interview begint.
Enkele aspecten om op te letten bij het onderzoeken van een nieuw raamwerk:
- Welke taken kan het het beste uitvoeren?
- Wat zijn de sterke / zwakke punten?
- Welke talen werken goed samen met het framework?
Je moet intelligent over die omgeving kunnen praten.
Als het framework open-source is, probeer het dan uit op uw pc. Er zijn ook enkele betaalbare online lessen die u kunt volgen en waarmee u een tijdelijke licentie krijgt.
Neurale netwerken bouwen
5. Wat zou u doen als uw algoritme niet convergeert?
Dit is een open vraag die gemakkelijk zou moeten zijn voor iedereen die met machine learning werkt.
Het verlagen van het leertempo (alfa) is een goede eerste stap. Als interviewer zou ik graag zien dat de kandidaat een meer logische benadering beschrijft voor het vinden van alfa. Probeer een strategische reeks alfa's en zet de kostenfunctie uit over het aantal iteraties.
6. Wanneer zou u Gradient Descent vs Normal Equation gebruiken?
U kunt vragen stellen over de voor- en nadelen van verschillende methoden om een algoritme te optimaliseren.
Onthoud dat de normale vergelijking niet kan worden gebruikt bij classificatie, dus deze vergelijking is alleen van belang voor regressie. De normale vergelijking wordt gekozen als het aantal objecten niet erg groot is. Het heeft een voordeel ten opzichte van gradiëntafdaling doordat u geen leertempo of iteratie hoeft te kiezen.
Als er veel functies zijn, is de normale vergelijking erg traag, dus ik zou gradiëntafdaling kiezen.
Verwacht vragen over het bouwen van neurale netwerken in een interview voor een functie op het gebied van machine learning of kunstmatige intelligentie.
WikimediaCommons
Modellen evalueren (prestaties)
Een van de belangrijkste taken van een machine learning-ingenieur is om een neuraal netwerk te optimaliseren en te begrijpen hoe goed het presteert.
7. Waarom is overfitting slecht en hoe kunt u dit verhelpen?
Overfitting is wanneer een algoritme heel goed aansluit bij trainingsgegevens, maar wel nauwkeurig nieuwe situaties voorspelt. Dit is duidelijk slecht omdat het niet bruikbaar is voor situaties in de echte wereld.
Beschrijf een paar manieren waarop overfitting kan worden verbeterd. Het toevoegen van een regularisatieterm en het verhogen van de lambda kan goede resultaten opleveren. Het aantal kenmerken verminderen of de volgorde van veeltermen verkleinen zijn opties, maar zijn niet in elke situatie de juiste keuze.
8. Hoe weet u of uw model goed is?
Dit is vergelijkbaar met de bovenstaande vraag, waarbij de kandidaat moet begrijpen hoe modellen moeten worden beoordeeld.
U kunt uitleggen hoe beschikbare trainingsgegevens worden opgesplitst in Trainingsgegevens, Validatiegegevens en Testgegevens en waarvoor ze worden gebruikt. Ik zou een kandidaat willen horen praten over het variëren van de polynoomgraad en lambda en het vergelijken van de fout in de validatiegegevens.
Projecten
Kom naar het interview om eerdere projecten te bespreken. Zoals bij elk interview, is alles op je cv een eerlijk spel.
Zorg dat u een portfolio met projecten van werk, school of persoonlijk gebruik bij de hand hebt. Mogelijk bent u beperkt in wat u kunt zeggen uit een geheimhoudingsovereenkomst of geclassificeerd werk, dus wees duidelijk over wat u kunt bespreken.
Hier zijn enkele vragen die u kunt verwachten:
9. Wat was je favoriete machine learning-project waaraan je werkte?
In het belang van dit interview kun je het project kiezen dat het meest relevant is voor de baan als je favoriet. Dit geeft je de kans om je relevante ervaring onder de aandacht te brengen.
Als je liever praat over welke je echte favoriet was om de rekruteringsmanager een idee te geven of je de nieuwe functie leuk vindt, is dat ook een goed idee.
10. Vertel me over een moeilijk probleem dat je hebt opgelost.
Kies een probleem dat gemakkelijk kan worden beschreven. Een deel van het goed beantwoorden van deze vraag is laten zien dat je complexe machine learning-problemen kunt beschrijven voor een niet-technisch publiek.
Als u uw oplossing beschrijft, neem dan niet de eer, tenzij het echt al uw moeite was. Als je de bijdragen van je team speelt, laat je zien dat je een goede teamspeler bent. Wijs indien van toepassing op de gevolgen van dit probleem voor de klant, planning en budget. Laat zien hoe u met uw bijdragen waarde toevoegt aan het eindresultaat, niet alleen aan het directe probleem.
Gedragsvragen
Vergeet niet dat het interview hoogstwaarschijnlijk gedragsvragen zal bevatten. En voor veel ingenieurs en datawetenschappers is dit het moeilijkste deel! We besteden zoveel tijd aan de voorbereiding op de technische vragen dat we vergeten dat we ook zullen beoordelen op hoe we in het team passen.
De belangrijkste gedragsvragen staan hieronder, zodat u zich van tevoren kunt voorbereiden. Gebruik het STAR-model om uw antwoorden te schetsen voor de vragen die u vragen om een specifieke tijd te beschrijven. Lezen