답변:
개발자가 ML 기술을 여러 번 사용하는 것을 보았습니다. 이것은 일반적인 패턴입니다.
간단한 대답은 (대부분의) 소프트웨어 엔지니어가 통계와 수학에 매우 약하다는 것입니다. 이것은 그들과 경쟁하고 싶은 사람의 장점입니다. 물론 통계 코드는 생산 코드를 작성해야하는 사람들의 편의를 벗어난 것입니다. 정말 드문 역할은 데이터 과학자의 역할입니다. 엄청난 양의 데이터에 액세스하고 재생할 수있는 코드를 작성 하고 그 가치를 찾을 수있는 사람입니다.
무슨 일이야
기술에 대한 지식은 동물원의 동물을 아는 것과 유사합니다. 동물의 이름을 지정하고 속성을 설명하거나 야생에서 식별 할 수 있습니다.
함정을 피하면서 응용 영역 내에서 사용하는 수학적 모델을 공식화, 구축, 테스트 및 배포하는 시점을 이해하고, 이것이 내 의견으로는 구별되는 기술입니다.
비즈니스, 산업 및 상업 문제에 체계적이고 과학적인 접근 방식을 적용 하여 과학 에 중점을 두어야합니다 . 그러나 Robin Bloor가 "A Data Science Rant" 에서 설득력있게 주장하기 때문에 데이터 마이닝 및 머신 러닝보다 광범위한 기술이 필요합니다 .
그래서 무엇을 할 수 있습니까?
응용 분야 : 귀하의 관심 분야 또는 고용주와 가까운 다양한 응용 분야에 대해 알아보십시오. 이 영역은 종종 모델이 어떻게 만들어 졌는지, 그리고 그 영역에 가치를 더하는 데 어떻게 사용되는지 이해하는 것보다 덜 중요합니다. 한 영역에서 성공한 모델은 종종 비슷한 방식으로 작동하는 다른 영역에 이식하여 적용 할 수 있습니다.
경쟁 : 데이터 마이닝 경쟁 사이트 Kaggle을 사용해보십시오 . 다른 팀에 합류하는 것이 좋습니다. (Kaggle : 예측 모델링 경쟁을위한 플랫폼입니다. 회사, 정부 및 연구원은 데이터 세트 및 문제를 제시하고 세계 최고의 데이터 과학자가 최상의 솔루션을 만들기 위해 경쟁합니다.)
기본 사항 : (1) 통계의 탄탄한 접지, (2) 합리적으로 우수한 프로그래밍 기술, (3) 복잡한 데이터 쿼리를 구성하는 방법 이해, (4) 데이터 모델 구축. 약한 것이 있다면 시작하기에 중요한 곳입니다.
이와 관련하여 몇 가지 인용문 이 있습니다.
``저는 무언가의 이름을 아는 것과 무언가를 아는 것의 차이점을 매우 일찍 배웠습니다. 당신은 세계의 모든 언어로 새의 이름을 알 수 있지만, 끝났을 때, 그 새에 대해 아무 것도 전혀 알지 못할 것입니다 ... 그래서 새를보고 그것이 무엇을하는지 봅시다. -리차드 페이 먼 (Richard Feynman), "과학자 만들기", p14 다른 사람의 생각에 대한 관심, 1988
명심하십시오 :
``이 비즈니스 과학 [데이터 과학] 프로젝트 를 수행하는 데 필요한 기술의 조합은 거의 한 사람에게만 존재하지 않습니다. 실제로 (i) 비즈니스가 수행하는 작업, (ii) 통계 사용 방법 및 (iii) 데이터 및 데이터 흐름을 관리하는 방법 의 3 가지 영역에 대한 광범위한 지식을 얻을 수있었습니다 . 그렇다면 해당 부문에서 비즈니스 과학자 (일명“데이터 과학자”)라고 주장 할 수 있습니다. 그러나 그러한 사람들은 거의 이빨만큼 희귀합니다 .''- Robin Bloor, A Data Science Rant , 2013 년 8 월, Inside Analysis
그리고 마지막으로:
``지도는 영토가 아닙니다 .''- 1933, Science & Sanity Alfred Korzybski.
대부분의 실제 적용되는 문제는``지도 ''에서만 접근 할 수 없습니다. 수학적 모델링으로 실제적인 작업을 수행하려면 세부 사항, 미묘함 및 예외로 기꺼이 불만을 가져야합니다. 영토를 직접 아는 것으로 대체 할 수있는 것은 없습니다.
나는 모든 말에 동의합니다. 나를 위해 눈에 띄는 것은 :
군중에서 눈에 띄게 만드는 몇 가지 사항은 다음과 같습니다.
세 가지 사항 모두에 적용되는 전체 메시지 : 큰 그림을보고 세부 사항을 잃지 마십시오.
한 데이터 마이너를 다른 데이터 마이너와 차별화시키는 기술은 기계 학습 모델을 해석하는 능력입니다. 대부분 기계를 만들고 오류를보고 한 다음 중지합니다. 기능 간의 수학적 관계는 무엇입니까? 효과가 부가 적이거나 비 첨가 적인가 아니면 둘 다인가? 기능과 관련이없는 것이 있습니까? 귀무 가설 하에서 데이터에 우연한 패턴 만 있다는 기계가 예상됩니까? 모델이 독립 데이터로 일반화됩니까? 이러한 패턴은 연구중인 문제에 어떤 의미가 있습니까? 추론은 무엇입니까? 통찰력은 무엇입니까? 도메인 전문가가 왜 흥분해야합니까? 기계가 도메인 전문가에게 새로운 질문을하고 새로운 실험을 설계하게합니까? 데이터 마이너가 모델과 그 의미를 세계에 효과적으로 전달할 수 있습니까?
나는 "소프트 기술"이라는 개념을 내놓았습니다.
방법 X에 대한 "전문가"가 누구인지를 인식하고 그들의 지식을 활용할 수있는 것 (당신은 erything에 관한 모든 것을 알거나 기대할 수 없어야합니다). 다른 사람들과 협력 할 수있는 능력과 의지.
ML에서 사용되는 수학으로 "실제 세계"를 번역하거나 표현하는 능력.
세부 사항에 집중할시기와 더 넓은 맥락을 물러서서 볼 수있는 시점을 알면서 다양한 방식으로 다른 대상에게 분석법을 설명 할 수있는 기능.
시스템 사고, 역할이 비즈니스의 다른 영역으로 어떻게 전달되는지, 그리고이 영역이 어떻게 업무에 피드백을 주는지를 파악할 수 있습니다.
불확실성에 대한 이해와 이해,이를 다루기위한 구조화 된 방법 귀하의 가정이 무엇인지 명확하게 진술 할 수 있어야합니다.
잘 일반화 가능
이것이 좋은 모델의 본질입니다. 그리고 머신 러닝 기술의 최고 실무자가 눈에 띄는 이유의 본질입니다.
목표는 훈련 손실을 최소화하지 않고 보이지 않는 데이터의 성능을 최적화하는 것입니다. 과적 합과 과적 합을 피하는 방법을 알고 있습니다. 너무 복잡하지는 않지만 문제를 설명하는 데 너무 단순하지 않은 모델을 생각해냅니다. 가능한 최대가 아닌 훈련 세트의 요점을 추출합니다.
숙련 된 머신 러닝 전문가들조차이 원칙을 얼마나 자주 따르지 않는지는 놀라운 일입니다. 한 가지 이유는 인간이 두 가지 광대 한 이론 대 실제 크기 차이 를 인식하지 못하기 때문입니다 .
입력 에 대한 가장 간단한 문제와 이진 결과에 대해서도 가능한 입력 예제와 기하 급수적으로 2 ^ 의 더 큰 수 의 모델이 있기 때문에 두 번째는 특히 이해할 수 없습니다 .2 N 2 N
또한 위의 답변 대부분이 더 구체적이고 구체적으로 말한 것입니다. 잘 일반화하는 것은 제가 생각할 수있는 가장 짧은 방법입니다.