제퍼넷 로고

머신 러닝이 제품에 적합합니까?

시간

저자에 대해 자세히 알아 보려면 클릭하십시오. 쥐라스 유르세나스.

모든 기계 학습 응용 프로그램이 큰 성공을 거둔 것은 아닙니다. 사실 실망도 많이 합니다. 지나치게 야심 찬 프로젝트에서 완제품이 될 것이라는 기대에 이르기까지 기계 학습은 잘못된 희망으로 얼룩져 있습니다.

나는 Andrey Kurenkov가 약점을 설명하는 훌륭한 일을했다고 생각합니다. 그의 기사에서. 머신 러닝(또는 AI, 그의 경우)는 다음과 같습니다.

  • 데이터가 부족한 (또는 표본이 비효율적임). 허용 가능한 모델에는 과도한 양의 데이터가 필요합니다.
  • 불투명체. 기껏해야 내부에서 실제로 무슨 일이 일어나고 있는지에 대해 몇 가지 교육받은 추측을 할 수 있습니다(다른 방법보다 강화 학습에 더 적합함).
  • 좁다. 그들은 하나의 특정 작업을 수행할 수 있고 쉽게 손상될 수 있으며 지식을 다른 작업이나 모델로 이전할 수 없습니다.
  • 다루기 힘든. 방대한 양의 데이터에 액세스한 후에만 보이지 않는 입력으로 잘 일반화하십시오.

그러나 그것이 모든 운명과 우울만은 아닙니다. 기계 학습 모델은 특정 작업 세트에서 매우 효과적입니다. 올바르게 적용하면 훈련의 전체 과정이 그 이상의 가치가 있을 수 있습니다. 그들은 탁월한 효율성을 제공하고 어떤 경쟁보다 앞서게 하는 완전히 새로운 기능을 제공할 수 있습니다.

머신 러닝이 잘하는 것은 무엇입니까?

당신은 아마도 이런 경험을 했을 것입니다: 당신은 거리에서 누군가의 얼굴을 보고 그들을 친숙한 사람으로 인식합니다. 가까이 다가가면 깨달음이 시작됩니다. 그것은 완전히 낯선 것입니다.

당신의 두뇌가 다양한 패턴과 일치하고 사용 가능한 정보에 따라 특정 예측을 할당했을 가능성이 있습니다. 이 경우 친구나 지인을 허위로 인정한 것입니다. 그러나 그러한 예측은 방대한 양의 정보를 저장할 수 있는 기억 능력 때문에만 가능합니다.

대부분의 기업은 동일한 기능을 수행하는 기계 학습 모델을 다룰 것입니다. 모두 확률적입니다. 그들은 엄청난 양의 데이터와 훈련을 기반으로 예측을 합니다. 이러한 예측은 분류 또는 확률 변수(회귀 기반)입니다.

분류는 논리, 수학 또는 프로그래밍 분야 이외의 사람들에게도 직관적입니다. 당신은 세트가 있습니다 N 개체 카테고리의 양(예: 모자, 개, 바지 등). 이러한 개체를 해당 범주로 이동하는 것이 분류입니다. 그러나 인간과 달리 기계 학습 모델은 여전히 ​​예측을 하고 있습니다. 그들은 제공된 물건의 본질에 대해 100% 확신하지 못합니다.

회귀는 조금 더 복잡하고 설명하기 위해 약간의 수학이 필요합니다. 직원 연령(X)과 급여(Y) 간의 상관 관계를 측정하려고 한다고 가정해 보겠습니다. 필요한 데이터를 수집한다는 것은 일련의 값 쌍(X:Y)이 있음을 의미합니다. 단순 선형 회귀라면 다음과 같이 표현할 수 있습니다.

Y = a + Xb어디로 과 알 수 없는 계수입니다. 회귀 기반 기계 학습 모델이 이를 찾을 것입니다.

간단한 솔루션은 이러한 데이터 포인트를 그래프에 표시하는 것입니다. 종종 다음과 같이 보일 것입니다.

출처: 자바Tpoint

더 많은 데이터가 도입되면 계수가 변경되기 때문에 이러한 계수를 찾는 것은 그리 간단하지 않은 경우가 많습니다. 그러나 정확도를 극대화하는 데 사용되는 몇 가지 멋진 통계 도구가 있습니다. MSE(평균 제곱 오차) 및 Gradient Descent. (많이) 단순화하면 기본적으로 두 개의 임의 계수를 선택하고 선을 그립니다. 그런 다음 각 점과 선에 제곱한 거리가 별도로 계산됩니다. 그 후, 점과 선 사이의 평균 거리(비용 함수라고도 함)를 최소화하기 위해 프로세스를 여러 번 반복합니다.

나는 통계의 고기에 들어가지 않을 것입니다. 중요한 것은 머신 러닝 모델이 충분한 교육을 받은 후 단 하나의 변수 집합에서 예측을 제공할 수 있다는 것입니다. 예제를 계속하면 몇 년이 걸리고 급여에 대한 예측을 생성할 수 있습니다(그 반대의 경우도 마찬가지).

이 두 가지는 기계 학습 모델에 가장 많이 사용되는 옵션입니다. 물론 훨씬 더 복잡하고 여러 도구 세트를 통해 문제를 해결할 수 있습니다. 그 중 일부(예: 클러스터링 및 차원 축소)는 덜 인기 있는 옵션이므로 여기에서 언급하지 않았습니다.

특정 문제에 대한 특정 도구

위에서 간단히 다루었듯이 기계 학습은 모든 것을 해결하도록 설계되지 않았습니다. 그것이 잘하는 두 가지 특정 문제 세트가 있습니다. 다른 모든 것은 물고기에게 나는 법을 가르치려는 시도일 가능성이 높습니다. 그러나 기계 학습 수학의 매우 영리한 응용 프로그램으로 해결할 수 있는 문제의 수는 언뜻 보기에 생각보다 많다는 점을 언급해야 합니다.

중요한 내용을 다루기 전에 한 가지 중요한 경고를 기억해야 합니다. 머신 러닝은 (잠재적으로) 고유한 변형이 많은 작업에는 좋지 않습니다. 간단히 말해서, 모델들은 영어로 소설 쓰는 법을 배우는 것보다 모자와 개를 구별하는 법을 배우는 것이 더 쉬울 것입니다. 즉, 추상적인 "보통" 영어 텍스트보다 추상적인 "보통" 모자와 "보통" 개라는 개념을 개념화하는 것이 더 쉽습니다.

경험에 따르면 모델은 대부분의 사람들이 "창의적인" 작업(잠재적인 고유한 변형이 많음)이라고 부르는 작업에는 서툴고 "논리적인" 작업(비교적으로 고유한 변형이 거의 없음)에는 능숙합니다. 두 유형 모두에 대한 모델을 만드는 것은 가능하지만 대부분의 비즈니스에서 "창의적" 모델은 너무 리소스 집약적입니다. 따라서 데이터 포인트 간에 약간의 변동이 있는 작업을 자동화하는 방법을 모색해야 합니다. 그것은 머신 러닝 모델이 정말 잘하는 것입니다.

고려해야 할 또 다른 중요한 측면은 확장성입니다. 머신 러닝은 대규모로 해결해야 하는 문제에 탁월합니다. 귀하의 비즈니스에서 하루에 수십 개의 이메일을 수신하는 경우 수동으로 검토할 수 있습니다. 개발자에 대한 농담처럼 10분 작업을 자동화하는 데 수백 시간이 걸릴 것입니다.

마지막으로 규칙 기반 접근 방식을 통해 솔루션을 해결할 수 있는지 생각해 보십시오. 특정 IP 주소에서 또는 특정 IP 주소로의 액세스를 차단하기 위해 기계 학습 모델이 필요하지 않습니다. 규칙 기반 접근 방식을 통해 물을 테스트하는 것이 좋습니다.

비즈니스 제한

기계 학습을 시작하기 전에 고려해야 할 몇 가지 간단한 비즈니스 고려 사항이 있습니다. 불행히도 기계 학습은 시간과 리소스를 많이 사용합니다. 주로 모델에 대해 지속적으로 작업하는 전담 전문가가 있어야 합니다(데이터 수집에서 모델 테스트까지). 전문가가 없거나 단순히 모델을 유지 관리하는 것이 재정적으로 실행 가능하지 않은 경우, 적합성이 완벽하더라도 아이디어는 기다려야 합니다.

결과적으로 개발 팀의 가용성과 전문성을 파악하는 것이 중요합니다. 매우 정확하고 작동하는 모델을 개발하는 것은 여러 사람의 전일제 작업입니다. 단순한 모델의 경우에도 최소한 한 명의 개발자가 완전히 전담해야 합니다. 또한 누군가가 필요한 데이터를 조달해야 하므로 일부 아웃소싱이 필요할 수 있습니다.

결국, 항상 적어도 부분적으로는 잠재력을 평가하는 것입니다. 자동화의 이점 높은 비용 대비.

머신 러닝: 만약에 그리고 어디에서

지금쯤이면 귀하의 비즈니스가 대부분 예술적 작업과 관련된 경우 기계 학습으로 성공할 가능성이 적다는 것이 분명해야 합니다. 그러나 그것이 없을 것이라는 것을 의미하지는 않습니다. 어떤 그것을 위해 사용하십시오.

첫 번째 기계 학습 모델을 만들기로 결정하기 전에 우리 회사에서 한 일은 솔루션 중 하나를 분석하고 해체하는 것이었습니다. Real-Time Crawler(기본적으로 고객이 공개 데이터 웹 스크래핑에 사용하는 도구)를 가장 복잡한 도구로 사용했습니다.

따라서 당사 솔루션은 고객에게 다음을 수행할 수 있는 기회를 제공합니다. 웹 스크래핑 처음부터 무언가를 프로그래밍하지 않고. 웹 스크래핑에는 URL로 이동, HTML로 콘텐츠 다운로드, 메모리에 저장, 구문 분석(일부 경우) 및 추출된 데이터를 대상으로 전달하는 여러 단계가 포함됩니다. 그런 다음 일부 프록시 회전 및 HTTP 헤더 변경이 발생합니다.

사용자는 URL을 관리합니다. 콘텐츠 다운로드는 이미 최적화되어 있으며 전달 프로세스 및 메모리 저장에 대해 할 일이 없습니다. 하지만, 파싱 (데이터를 이해하고 사용하기 쉽게 만드는 것)은 여기에서 설명하지 않을 여러 가지 이유로 인해 엄청나게 어려운 작업입니다.

운 좋게도 인터넷의 데이터는 (거의 독점적으로) HTML로 저장됩니다. 일반적으로 브라우저용으로 예약된 하나의 언어로, 약간의 변형과 창의성이 있지만 강력한 동일한 기반에 의존합니다. 본질적으로 HTML의 다양한 소스를 구문 분석할 수 있는 규칙 기반 접근 방식을 작성하는 것은 거의 불가능하지만 인간의 눈에는 모두 실망스러울 정도로 유사해 보입니다. 머신 러닝을 위한 완벽한 후보입니다.

그러나 잠재적인 변화가 여전히 너무 광범위하기 때문에 여기서 멈추지 않았습니다. 우리는 몇 가지 사항을 확인했습니다. 어떤 데이터 소스에 대해 구문 분석이 가장 자주 요청되었는지 확인했습니다. 우리 팀은 웹 페이지의 특정 범주에서 요청을 구문 분석하는 데 상당한 증가가 있음을 발견했습니다. 그것은 우리 프로젝트에 있어 충분히 좁은 분야인 것 같았습니다.

결정 마무리

저는 개인적으로 이것이 머신 러닝 애플리케이션에 접근하는 올바른 방법이라고 생각합니다. 먼저 제품이나 서비스를 범주화, 분석 및 분해하여 시퀀스 또는 더 작은 부분으로 나누십시오. 둘째, 전체 프로세스의 작은 부분을 차지하고 문제가 무엇이며 어떻게 해결되고 있는지 생각하십시오. 셋째, 데이터를 사용하여 가장 중요한 측면으로 범위를 좁히고 거기에 기계 학습을 적용합니다.

문제를 해결하기 위해 노력하면 많은 시간, 자원 및 골칫거리를 절약할 수 있습니다. 이미 더 작은 작업 모델이 있는 경우 언제든지 더 많은 모델을 만들 수 있습니다. 작동하지 않는 대형 모델에서는 아무것도 만들 수 없습니다.

PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.

액세스하려면 여기를 클릭하십시오.

출처: https://www.dataversity.net/is-machine-learning-a-good-fit-for-your-product/

spot_img

최신 인텔리전스

spot_img