2017-07-02, 21:52
  #1477
Medlem
conceptionists avatar
Citat:
Ursprungligen postat av guderi
Jo det är sant, om man vill specialisera sig SÅ mycket. Men det finns enkla AI-kurser även på Grundnivå där man får lite grundläggande genomgångar för hur AI fungerar i praktiken och kanske främst teorin.
Annars kan jag rekommendera MIT OpenCourseWare om man vill göra lite studier på egen hand bara för skoj skull.

Ger svenska universitet AI-kurser på grundnivå? Det visste jag inte.
Kan du länka något exempel?
Citera
2017-07-02, 22:14
  #1478
Medlem
guderis avatar
Citat:
Ursprungligen postat av conceptionist
Ger svenska universitet AI-kurser på grundnivå? Det visste jag inte.
Kan du länka något exempel?
Finns på lite andra ställen också

https://www.umu.se/utbildning/kurser/artificiell-intelligens---grunderna/
Citera
2017-07-02, 23:23
  #1479
Medlem
conceptionists avatar
Citat:
Ursprungligen postat av guderi
Finns på lite andra ställen också

https://www.umu.se/utbildning/kurser/artificiell-intelligens---grunderna/

Intressant. Tack för det.

Verkar dock som att det kräver att man läst några grundläggande kurser i datavetenskap (som har behörighet matte D/4), eller?

Med det sagt, kvarstår inte faktum att för de attraktiva tjänsterna som analytiker som utvecklar ML-modeller så krävs betydligt högre matematisk kunskap? Dvs att för personen i fråga så är det rimligast att satsa på jobb där systemen och implementation av ML är huvudsysslan istället för utvecklingen av algoritmerna? Jag vill inte argumentera för sakens skull utan försöker främst komma fram till en slutsats om vad som är lämpligast för utvecklare och data- och systemvetare.
Citera
2017-07-03, 00:55
  #1480
Medlem
Citat:
Ursprungligen postat av conceptionist
Jag har arbetat på ett företag som delvis sysslar med AI, machine learning, osv men det tillhörde aldrig mitt arbetsområde. Så jag kan inte ge detaljerad information om det praktiska.

Att "arbeta med maskininlärning" är väldigt vagt och brett. Det finns olika jobb i området som har olika krav. Företag har ofta olika personer som tar fram modeller och som implementerar dem. Du kan söka på data scientist vs data engineer för att läsa om skillnaden.

Där jag arbetade hade analytikerna (data scientists/kvantare) bakgrunder inom fysik, matematik, datateknik, datavetenskap. Alla hade master och några var fd. forskare. Deras arbete var i hög grad väldigt matematiskt. Sedan hade vi ett antal utvecklare som byggde programmen och systemen där modellerna användes. Dessa personer var självlärda programmerare, någon civ.ingenjör och någon erfaren systemvetare. Jag tror inte deras arbete var mer matematiskt än någon annan typisk utvecklartjänst (jag har inte bra insikt i detta) och ifall det var någon invecklad modell förklarade antagligen analytikerna det.

Jag skulle gissa att implementering av tekniken och modellerna skulle vara närmare din kompetens än utvecklingen av dem. Utifrån vad du beskriver skulle jag inte satsa på att att bli kvantare, eftersom företag för de tjänsterna oftast söker folk med ovan nämnda bakgrunder. Med det sagt kan du säkert på egen hand lära dig några vanliga ML-algoritmer, grundläggande statistik, kunna tolka modellerna ok, och kanske implementera dem, men frågan är hur mycket det hjälper om du inte har den typiska bakgrunden och kompetensen. Det praktiska arbetet verkar mycket svårare än det som t.ex. lärs ut på MOOCs eller andra utbildningar. Jag kan rekommendera att du söker efter personer/titlar på LinkedIn så kan du se vanliga bakgrunder.
Min fettmarkerade: Det är precis det jag har haft problem med de senaste månaderna. Jag har jättesvårt att bara implementera en algoritm(via ett plugin) utan att förstå vad som händer bakom kulisserna för oftast blir svaret att "det bara är så" när någon frågar varför man anropar en specifik funktion eller vad den gör. Jag nöjer mig inte bara att lära mig använda ett plugin(scikit-learn etc) och gå vidare men kanske det är det jag ska göra?

En fråga till dig: När utvecklarna implementerade modellen som togs fram från kvantarna användes det något plugin eller utvecklade man allt från "scratch"? Jag vill verkligen få lite riktlinjer hur jag ska göra för att lära mig ML. Ska jag ha en top-down metod där jag lär mig något plugin och sedan går djupare in för att förstå varje funktion, algoritm etc eller en bottom-up metod där jag lär mig teorin(algoritmer, optimering etc) och sedan bygger upp tekniken? Det första alternativet känns som jag fuskar medan det andra som jag inte har tillräckligt kunskaper inom matematik och statistik för att hänga med i teorin(vilket är sant). Detta gör att jag hamnar i ett konstigt läge där jag känner mig värdelös. Kanske ska jag skita i ML och lära mig ett annat område inom programmering? Jag vill verkligen bli nischad i något område där jag känner mig hemma. Just nu jobbar jag mycket med data och vanliga desktopbaserade system, webserviceanrop och implementation av CRUD-funktionalitet. Det är kul men jag vill inte bara göra detta tills jag pensionerar mig(jobbat i 2 år nu och är rätt ung).
Citat:
Ursprungligen postat av guderi
Ja det går naturligtvis att lära sig algoritmerna utantill, problemet är när man i större projekt att hitta den optimala algoritmen.
Fråga matematik-institutionen på din högskola vad dom erbjuder för fristående kurser som är lämpade för AI
Med tanke på att jag bara har läst matematik C(idag skulle jag valt natur men då var jag ung och dum) så är detta inte möjligt men tack för tipset. Jag kanske ska inte alls fokusera att hitta den optimala algoritmen och bara implementera det jag får serverad. En vanlig kodapa mao som kan bli ersatt av indier när som helst...
Citera
2017-07-03, 10:53
  #1481
Medlem
conceptionists avatar
Citat:
Ursprungligen postat av Nikus
Min fettmarkerade: Det är precis det jag har haft problem med de senaste månaderna. Jag har jättesvårt att bara implementera en algoritm(via ett plugin) utan att förstå vad som händer bakom kulisserna för oftast blir svaret att "det bara är så" när någon frågar varför man anropar en specifik funktion eller vad den gör. Jag nöjer mig inte bara att lära mig använda ett plugin(scikit-learn etc) och gå vidare men kanske det är det jag ska göra?

En fråga till dig: När utvecklarna implementerade modellen som togs fram från kvantarna användes det något plugin eller utvecklade man allt från "scratch"? Jag vill verkligen få lite riktlinjer hur jag ska göra för att lära mig ML. Ska jag ha en top-down metod där jag lär mig något plugin och sedan går djupare in för att förstå varje funktion, algoritm etc eller en bottom-up metod där jag lär mig teorin(algoritmer, optimering etc) och sedan bygger upp tekniken? Det första alternativet känns som jag fuskar medan det andra som jag inte har tillräckligt kunskaper inom matematik och statistik för att hänga med i teorin(vilket är sant). Detta gör att jag hamnar i ett konstigt läge där jag känner mig värdelös. Kanske ska jag skita i ML och lära mig ett annat område inom programmering? Jag vill verkligen bli nischad i något område där jag känner mig hemma. Just nu jobbar jag mycket med data och vanliga desktopbaserade system, webserviceanrop och implementation av CRUD-funktionalitet. Det är kul men jag vill inte bara göra detta tills jag pensionerar mig(jobbat i 2 år nu och är rätt ung).

Med tanke på att jag bara har läst matematik C(idag skulle jag valt natur men då var jag ung och dum) så är detta inte möjligt men tack för tipset. Jag kanske ska inte alls fokusera att hitta den optimala algoritmen och bara implementera det jag får serverad. En vanlig kodapa mao som kan bli ersatt av indier när som helst...

Jag kan tyvärr inte svara på hur modellerna implementerades. Jag arbetade på affärssidan mot kund (typ som konsult) och där tyckte jag man hade ännu mindre förståelse för tekniken än vad du uttrycker eftersom många varken hade förståelse för programmering eller det matematiska. Så jag känner igen mig i din situation.

Om du tycker ML är intressant tycker jag absolut du ska försöka fortsätta jobba med det i någon form. Om du inte är beredd att läsa upp till motsvarande MSc i ett relevant kvantitativt ämne ska du nog överge tanken att bli data scientist på ett attraktivt företag, men du kan ju fortfarande satsa på tjänster motsvarande data engineer. Jag tycker det låter som att du redan arbetar med sådant.

Utav det jag har läst om områdets arbetsmarknad verkar det finnas och skapas fler jobb för modellimplementation och systemen än modellutvecklandet. Företagen verkar alltså ha ett fåtal högt kvalificerade data scientist (som kan kräva väldigt hög lön) och fler data engineers. I takt med att algoritmerna blir allt met integrerade i kommersiella system lär allt färre data scientist krävas eftersom programmen kanske räcker för företagen krav. Så möjligen är den framtida arbetsmarknaden faktiskt ljusare för din typ än de andra.

Om det hjälper dig i ditt arbete att förstå modellerna så kan du väl läsa på så mycket du orkar. För en hyfsad grund skulle jag rekommendera att du läser motsvarande Matte 4/D, sedan grundläggande linjär algebra, analys och någon grundkurs i statistisk teori och ML. Om du har motivationen kan du göra detta på egen hand med onlinekurser och böcker. För att vara relevant kanske du ska kolla på moderna tekniker för ML och Big Data som Hadoop, Hive och vad de nu heter (du kan söka på detta).
Citera
2017-07-11, 02:48
  #1482
Medlem
MrByberbob55s avatar
Citat:
Ursprungligen postat av Nikus
För vi hamnar oftast i företag som hanterar och utvecklar informationssystem. Det är mao administrativa system som i stora drag går ut på att överföra, lägga till, ta bort och uppdatera data och så klart även presentera det. Efter något år som systemutvecklare märker man att oavsett hur stora projekt man jobbar med så handlar det inte mer än hantering av data på ett eller annat sätt. Visst blir det lite enformig och jag vill verkligen fördjupa mig mer i det tekniska men man uppskattas så jävla mycket trots att det egentligen inte är några svåra utvecklingsprojekt(där kunden oftast faktureras på ~1 miljon kr) där bara 2 programmerare jobbat med projektet 100%.

Har även varit ensam utvecklare på något väldigt enkel utveckling där arbetet har kostat runt 100 tusen kr. Förvånansvärt dyrt tycker jag för något som inte tar mer än några dagar att utveckla men som är av stor nytta för kunden.

OBS: Jobbar som systemutvecklare och har gjort det i lite mer än två år.

EDIT: Skrivet inlägg är bara min uppfattning av situationen för oss systemvetare. Andra kan ha en annan uppfattning om läget.

Tack för svaret! Hur mycket programmering lärde du dig av din systemvetenskapsutbildning? Hade du programmering som sidointresse innan eller lärde du dig allt från din utbildning? Vilket språk programmerar du mha?
Citera
2017-07-11, 14:36
  #1483
Medlem
Citat:
Ursprungligen postat av Nikus
Min fettmarkerade: Det är precis det jag har haft problem med de senaste månaderna. Jag har jättesvårt att bara implementera en algoritm(via ett plugin) utan att förstå vad som händer bakom kulisserna för oftast blir svaret att "det bara är så" när någon frågar varför man anropar en specifik funktion eller vad den gör. Jag nöjer mig inte bara att lära mig använda ett plugin(scikit-learn etc) och gå vidare men kanske det är det jag ska göra?

En fråga till dig: När utvecklarna implementerade modellen som togs fram från kvantarna användes det något plugin eller utvecklade man allt från "scratch"? Jag vill verkligen få lite riktlinjer hur jag ska göra för att lära mig ML. Ska jag ha en top-down metod där jag lär mig något plugin och sedan går djupare in för att förstå varje funktion, algoritm etc eller en bottom-up metod där jag lär mig teorin(algoritmer, optimering etc) och sedan bygger upp tekniken? Det första alternativet känns som jag fuskar medan det andra som jag inte har tillräckligt kunskaper inom matematik och statistik för att hänga med i teorin(vilket är sant). Detta gör att jag hamnar i ett konstigt läge där jag känner mig värdelös. Kanske ska jag skita i ML och lära mig ett annat område inom programmering? Jag vill verkligen bli nischad i något område där jag känner mig hemma. Just nu jobbar jag mycket med data och vanliga desktopbaserade system, webserviceanrop och implementation av CRUD-funktionalitet. Det är kul men jag vill inte bara göra detta tills jag pensionerar mig(jobbat i 2 år nu och är rätt ung).

Med tanke på att jag bara har läst matematik C(idag skulle jag valt natur men då var jag ung och dum) så är detta inte möjligt men tack för tipset. Jag kanske ska inte alls fokusera att hitta den optimala algoritmen och bara implementera det jag får serverad. En vanlig kodapa mao som kan bli ersatt av indier när som helst...

Den formen av programvaruutveckling du jobbar inom om har du tyvärr ingen användning av.

Jag är specialiserad mot machine learning, och gör mitt ex jobb nu i höst, civ. ing. Många har missuppfattningen att det som ligger närmast ML är datateknik, men så är inte riktigt fallet. ML begreppet missanvänds dessutom ganska grovt för att det är hypat. Benen ML står på är avancerad mattematisk statistik, optimering och algoritmer främst. Går man kurser på universitet är dessa kurserna några av de tuffaste som går att ta på avancerad nivå. Det är näst intill omöjligt för dig då att inta den kunskapen som behövs för att bli en data scientist. Denna boken är grundstenen i de flesta ML kurser runt om i världen "Pattern Recognition and Machine Learning, Christopher M. Bishop".

Hur som helst finns det vissa teman och som kan va intressanta. Då ML kräver så kaftfull kompetens automatiseras mer och mer i frameworks så som Sklearn osv. Även om frameworks som Sklearn är användbart använder behöver man förstå vad som händer på djupet i algoritmerna. Man behöver förstå datan och vilka alogoritmer som fungerar bra på datan och varför. Mer och mer ploppar upp konstant. Neurala nätverk, och deep learning tar över mer och mer och frameworks som tensorflow växer och blir större. Neurala nätverk kräver en aning mindre mattematik och mer erfarenhet än traditionell ML. I traditionell ML handlar mycket om att transformera data med avancerad matte.

ML inom ehandeln kan möjligtvis bli att koppla upp till Microsoft Azure och låt deras tränade algoritmer göra jobbet. Det behövs och en mellanhand mellan den modell data scientists har skapat och att allt annat. Till exempel behövs det databaser, modellen ska kopplas ihop med annan mjukvara, modellen behöver snabbas upp, mm. Även enklare modellerande. Mycket av detta lär ligga inom data engineering. Du behöver ingen proffskunskap för detta, men du behöver kunna hantera stora dataset, hadoop, nosql, förstå enkel ML och vad data scientists håller på med för att agera mellanhand.
Även detta kommer kräva hårt jobb av dig för att uppnå men det är möjligt. Det finns otroligt mycket matterial på nätet att lära av. Kurser som är online, och sen kan jag rekommendera hemsidan kaggle för en inblick i data science.

Om du googlar runder på detta kommer du komma över termen data analyst. En data analyst skulle jag säga är någon som ofta har en bachelor och ligger steget under en data scientist i form av kunskap.

Jag kan förövrigt rekommendera "machine learning with python": https://www.youtube.com/user/sentdex
Går igenom basics och väldigt pedagogiskt.
__________________
Senast redigerad av Liketed 2017-07-11 kl. 14:43.
Citera
2017-07-12, 01:24
  #1484
Medlem
Citat:
Ursprungligen postat av MrByberbob55
Tack för svaret! Hur mycket programmering lärde du dig av din systemvetenskapsutbildning? Hade du programmering som sidointresse innan eller lärde du dig allt från din utbildning? Vilket språk programmerar du mha?
Skulle säga att jag lärde mig tillräckligt för att vara självgående och själv bygga på mina kunskaper(modellering av ett system till implementering och testning av det men också kravinsamling och analys av behovet för ett system). Jag började också jobba på egna projekt under utbildningen för att inte glömma sådant som jag hade lärt mig under utbildningen och läste även några fristående programmeringskurser vid sidan om. Kan även tillägga att det var nästan till fördel för mig att jag hamnade i grupper med personer som inte hade något intresse för programmering vilket gjorde att jag själv utvecklade programmen.

Hade inga djupa kunskaper inom programmering innan jag började studera.

Idag programmerar jag med programmeringsspråket cobol. Hade inga kunskaper i det utan lärde mig det på jobbet. Har även använt java, python och xslt.


Det som många verkligen inte tänker på är att företag idag kräver att man har breda kunskaper inom systemvetenskap och det räcker inte med att bara vara en kodapa utan även komma med ideer och förslag hur ens lösning påverkar verksamheten i det stora. Att vara en kodapa i utvecklingen av administrativa system är enkelt. Det svåra är att förstå systemets roll i verksamheten och presentera en lösning som kunden är nöjd med. Det är detta som tar tid och införskaffas genom erfarenhet.
Citera
2017-07-12, 01:48
  #1485
Medlem
Citat:
Ursprungligen postat av Liketed
Den formen av programvaruutveckling du jobbar inom om har du tyvärr ingen användning av.

Jag är specialiserad mot machine learning, och gör mitt ex jobb nu i höst, civ. ing. Många har missuppfattningen att det som ligger närmast ML är datateknik, men så är inte riktigt fallet. ML begreppet missanvänds dessutom ganska grovt för att det är hypat. Benen ML står på är avancerad mattematisk statistik, optimering och algoritmer främst. Går man kurser på universitet är dessa kurserna några av de tuffaste som går att ta på avancerad nivå. Det är näst intill omöjligt för dig då att inta den kunskapen som behövs för att bli en data scientist. Denna boken är grundstenen i de flesta ML kurser runt om i världen "Pattern Recognition and Machine Learning, Christopher M. Bishop".

Hur som helst finns det vissa teman och som kan va intressanta. Då ML kräver så kaftfull kompetens automatiseras mer och mer i frameworks så som Sklearn osv. Även om frameworks som Sklearn är användbart använder behöver man förstå vad som händer på djupet i algoritmerna. Man behöver förstå datan och vilka alogoritmer som fungerar bra på datan och varför. Mer och mer ploppar upp konstant. Neurala nätverk, och deep learning tar över mer och mer och frameworks som tensorflow växer och blir större. Neurala nätverk kräver en aning mindre mattematik och mer erfarenhet än traditionell ML. I traditionell ML handlar mycket om att transformera data med avancerad matte.

ML inom ehandeln kan möjligtvis bli att koppla upp till Microsoft Azure och låt deras tränade algoritmer göra jobbet. Det behövs och en mellanhand mellan den modell data scientists har skapat och att allt annat. Till exempel behövs det databaser, modellen ska kopplas ihop med annan mjukvara, modellen behöver snabbas upp, mm. Även enklare modellerande. Mycket av detta lär ligga inom data engineering. Du behöver ingen proffskunskap för detta, men du behöver kunna hantera stora dataset, hadoop, nosql, förstå enkel ML och vad data scientists håller på med för att agera mellanhand.
Även detta kommer kräva hårt jobb av dig för att uppnå men det är möjligt. Det finns otroligt mycket matterial på nätet att lära av. Kurser som är online, och sen kan jag rekommendera hemsidan kaggle för en inblick i data science.

Om du googlar runder på detta kommer du komma över termen data analyst. En data analyst skulle jag säga är någon som ofta har en bachelor och ligger steget under en data scientist i form av kunskap.

Jag kan förövrigt rekommendera "machine learning with python": https://www.youtube.com/user/sentdex
Går igenom basics och väldigt pedagogiskt.

Tack för ditt svar. Jag vill nog går mer åt data analyst än data scientist. Jag har utan några svårigheter implementerat ett nätverk med 4 inputneuroner 6 "hidden"-neuroner och 3 outputneuroner genom att använda ramverket Neuroph för java. Datasetet jag använde var följande https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data vilket var rätt enkelt att träna. Däremot blir det svårare när inputdatat är kategoriska(eftersom nn fungerar ju bäst med numerisk data) och där behöver jag läsa mer för att lära mig hur detta kan göras. Samma sak gäller när modellen inte lyckas nå god resultat. Ska jag ha fler noder på hidden layer eller öka på antalet lager? Eller ska jag använda en annan aktiveringsfunktion?

Tack för länken. Jag ska kolla igenom alla klipp.
Citera
2017-07-12, 02:29
  #1486
Medlem
Citat:
Ursprungligen postat av Nikus
Tack för ditt svar. Jag vill nog går mer åt data analyst än data scientist. Jag har utan några svårigheter implementerat ett nätverk med 4 inputneuroner 6 "hidden"-neuroner och 3 outputneuroner genom att använda ramverket Neuroph för java. Datasetet jag använde var följande https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data vilket var rätt enkelt att träna. Däremot blir det svårare när inputdatat är kategoriska(eftersom nn fungerar ju bäst med numerisk data) och där behöver jag läsa mer för att lära mig hur detta kan göras. Samma sak gäller när modellen inte lyckas nå god resultat. Ska jag ha fler noder på hidden layer eller öka på antalet lager? Eller ska jag använda en annan aktiveringsfunktion?

Tack för länken. Jag ska kolla igenom alla klipp.

Data analyst använder till större grad högnivå språk då de ofta kommer ifrån en bakgrund med bachelor i mattematik. Tror inte det direkt finns några data analyst som arbetar med neurala nätverk. Mycket visualisering BI mm.

Jag har inte jättemycket erfarenhet av neurala nätverk mer än ett par projekt. Men för de mesta tar man då enbart en fördefinierad arkitektur någon phd har forskat fram och adapterar/lägger till efter vad man tror kan improva. Man får lägga en hel del tid på researchpaper. Publika dataset du hittar på nätet, tex iris är väldigt trevliga att arbeta med men väldigt sällsynta i verkligheten. Riktig data är mycket "smutsigare" och inte alls lika trevlig. Kategorisk data får du omvandla till numerisk. Det finns antagligen ett antal approacher du kan använda dig av men jag har bara använt en. I seq2seq vilket du tex använder vid skapandet av chatbottar har du ett extra lager i början för ditt input. Varje ord motsvarar en vektor du randomly initierar i dimension 100 tex. Översättningen från ord till vektor låter du sedan tränas tillsammans med din model.
När det kommer till antalet parametrar har jag för mig att man grovt kan räkna på 10 parametrar per vikt. Har du för lite data vs antalet parametrar kommer flera lager inte hjälpa dig. Hur olika aktiveringsfunktioner fungerar och påverkar slutresultatet kan jag inte kommentera men ta istället tagit en titt på din lossfunktion. Det är ju den som du optimerar och ditt nätverk adapterar till. Har du tex ett dataset där det finns väldigt mycket av en klass kan nätverket optimera loss funktionen genom att gissa enbart på den klassen, och då får lossfunktionen förändras givetvis.

Hade jag varit dig hade jag gått över till Python, det är helt enkelt detta språk som används inom fältet. Sedan hade jag även dumpat det frameworket du använder och gå över till tensorflow. Dels för att API finns i python och dels för att dokumentationen är väldigt bra och kommer bli mycket bättre än allt annat. Det finns många böcker och tutorials för tensorflow och du kommer garanterat att behöva det. Tensorflow är lite jobbigare än många andra frameworks men erbjuder istället mer "customization".
__________________
Senast redigerad av Liketed 2017-07-12 kl. 02:36.
Citera
2017-07-13, 15:25
  #1487
Medlem
lighten-ups avatar
En grej som jag helt random upptäckte är att kandidatprogrammet i Systemvetenskap vid UU (och även andra lärosäten?) ger en s.k. filosofie kandidatexamen - och ingen examen i stil med systemvetenskap kandidatexamen som jag trodde att studenterna fick

Tankar kring denna typ av examen, ni som läser eller läst systemvetenskap?

Edit: Står ju en del om det på Wikipedia ser jag, verkar vara standard för många slags kandidatexamen
__________________
Senast redigerad av lighten-up 2017-07-13 kl. 15:54.
Citera
2017-07-13, 15:58
  #1488
Medlem
FromAnotherPlaces avatar
Två inlägg är raderade enligt regel 0.03. Kom ihåg att den här tråden finns av en anledning (FB) Kommer jag in med mina betyg/mitt reservnummer?.

/Mod.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in