이 기사는 Lei Feng.com에서 복제되었습니다. 재인쇄가 필요한 경우 Lei Feng.com 공식 웹사이트로 이동하여 승인을 신청하세요.
최근 Andrew Ng는 자신이 창간한 인공지능 주간 뉴스레터 "The Batch"에 블로그 게시물을 업데이트하여 기계 학습 분야의 여러 기본 알고리즘의 역사적 기원을 요약했습니다. 기사 시작 부분에서 Andrew Ng는 자신의 연구 과정에서 내린 결정을 회상했습니다. 수년 전 프로젝트에서 알고리즘을 선택할 때 그는 신경망과 의사 결정 트리 학습 알고리즘 중에서 선택해야 했습니다. 계산 예산을 고려하여 그는 궁극적으로 오랫동안 부스트 의사결정 트리를 포기하고 신경망을 선택했습니다. 이는 잘못된 결정이었습니다. "다행히 우리 팀이 내 선택을 신속하게 수정했고 프로젝트는 성공했습니다."라고 Ng은 말했습니다. 그는 기초지식을 지속적으로 학습하고 업데이트하는 것이 매우 중요하다고 한탄했다. 다른 기술 분야와 마찬가지로 머신러닝 분야도 연구자 수가 늘어나고 연구 성과가 늘어나면서 끊임없이 진화하고 있습니다. 그러나 일부 기본 알고리즘과 핵심 아이디어의 기여는 시간의 시험을 견딜 수 있습니다.
Ng의 관점에서 이러한 알고리즘과 개념은 주택 가격 예측기, 텍스트 이미지 생성기(예: DALL·E) 등을 포함한 많은 기계 학습 모델의 핵심 아이디어입니다. 이번 최신 기사에서 Ng Enda와 그의 팀은 6가지 기본 알고리즘의 기원, 용도, 진화 등을 조사하고 보다 자세한 설명을 제공했습니다. 6가지 알고리즘은 선형 회귀, 로지스틱 회귀, 경사하강법, 신경망, 의사결정 트리 및 k-평균 클러스터링 알고리즘입니다.
선형 회귀는 기계 학습의 핵심 통계 방법이지만 싸움 없이는 이길 수 없습니다. 두 명의 뛰어난 수학자에 의해 제안되었지만 200년이 지난 지금도 이 문제는 해결되지 않은 상태로 남아 있습니다. 오랜 논쟁은 알고리즘의 놀라운 유용성뿐만 아니라 본질적인 단순성도 보여줍니다.
그럼 선형 회귀는 누구의 알고리즘인가요? 1805년 프랑스 수학자 Adrien-Marie Legendre는 혜성의 위치를 예측하려고 시도하면서 일련의 점에 선을 맞추는 방법을 발표했습니다(천문 항법은 오늘날의 인공 지능과 마찬가지로 당시 세계 상업에서 가장 가치 있는 과학적 방향이었습니다). ) 똑똑한).
Caption: Sketch of Adrien-Marie Legendre4년 후, 24세의 독일 신동 칼 프리드리히 가우스(Carl Friedrich Gauss)는 1795년부터 사용해 왔다고 주장했지만 쓰기에는 너무 사소하다고 생각했습니다. 에 대한. Gauss의 주장으로 인해 Legendre는 "아주 유명한 기하학자가 주저 없이 이 방법을 채택했다"는 기사를 익명으로 게시하게 되었습니다. Slope and Bias
: 선형 회귀는 결과와 결과에 영향을 미치는 변수 간의 관계가 직선을 따를 때 유용합니다. . 예를 들어, 자동차의 연료 소비는 자동차 중량과 선형적으로 관련되어 있습니다.대중화를 위한 두 단계: 알고리즘은 항해사가 별을 추적하는 데 즉시 도움이 되었으며 이후의 생물학자(특히 찰스 다윈의 사촌 프란시스 골턴)가 식물과 동물의 유전적 특성을 식별하는 데 도움이 되었습니다. 이 두 가지 추가 개발을 통해 선형 회귀의 광범위한 잠재력이 드러났습니다. 1922년 영국의 통계학자인 Ronald Fisher와 Karl Pearson은 선형 회귀가 상관 관계 및 분포의 일반적인 통계 프레임워크에 어떻게 적용되어 모든 과학에서 유용하게 사용될 수 있는지 보여주었습니다. 그리고 거의 100년이 지난 후, 컴퓨터의 출현으로 이를 훨씬 더 많이 활용할 수 있는 데이터와 처리 능력이 제공되었습니다.
모호함 처리: 물론 데이터는 완벽하게 측정될 수 없으며 일부 변수는 다른 변수보다 더 중요합니다. 이러한 삶의 사실은 더욱 복잡한 변화를 불러일으킵니다. 예를 들어, 정규화를 사용한 선형 회귀(능선 회귀라고도 함)는 선형 회귀 모델이 하나의 변수에 너무 많이 의존하지 않거나 가장 중요한 변수에 균등하게 의존하도록 권장합니다. 단순화를 위해 다른 형태의 정규화(L2 대신 L1)는 가능한 한 많은 계수가 0이 되도록 유도하는 올가미(압축 추정)를 생성합니다. 즉, 예측력이 높은 변수를 선택하고 나머지는 무시하는 방법을 학습합니다. 탄력적 네트워크는 이 두 가지 유형의 정규화를 결합합니다. 데이터가 희박하거나 기능이 관련되어 있는 것처럼 보일 때 유용합니다.
모든 뉴런에서: 이제 간단한 버전도 여전히 매우 유용합니다. 신경망에서 가장 일반적인 유형의 뉴런은 선형 회귀 모델이고 그 다음은 비선형 활성화 함수로, 선형 회귀를 딥 러닝의 기본 구성 요소로 만듭니다.
로지스틱 회귀가 한 가지만 분류하는 데만 사용되던 시절이 있었습니다. 독약 한 병을 마셨다면 "살아있다" 또는 "살아있다"라는 딱지를 붙일 수 있다는 것입니다. 주사위"? 시대는 변했고 오늘날에는 응급 서비스에 전화하는 것이 이 질문에 대한 더 나은 답변을 제공할 뿐만 아니라 로지스틱 회귀도 딥 러닝의 핵심입니다.
Poison Control: 물류 기능은 벨기에 통계학자 P.F. Verhulst가 인구 역학을 설명하기 위해 발명한 1830년대로 거슬러 올라갑니다. 특성 논리 곡선. 100여 년 후, 미국 통계학자 E. B. 윌슨(E. B. Wilson)과 그의 학생 제인 우스터(Jane Worcester)는 특정 유해 물질이 얼마나 치명적인지 계산하기 위해 로지스틱 회귀 분석을 고안했습니다.
캡션: P.F. VerhulstFit function: 로지스틱 회귀는 특정 이벤트(예: 스트리크닌 섭취)에 대한 특정 결과의 발생을 예측하기 위해 데이터 세트에 로지스틱 함수를 적용합니다. ) (예: 조기 사망).
추가 결과: Verhulst의 연구에서는 중독 피해자가 사후 세계의 어느 쪽에 가게 될지와 같은 추가 가능성을 무시하고 이진 결과에 대한 확률을 찾았습니다. 그의 후임자들은 알고리즘을 확장했습니다:
그림: David Cox다기능 곡선: 로지스틱 함수는 광범위한 현상을 상당히 정확하게 설명하므로 로지스틱 회귀는 여러 상황에서 유용한 기본 예측을 제공합니다. 의학에서는 사망률과 질병 위험을 추정합니다. 정치학에서는 선거의 승자와 패자를 예측합니다. 경제학에서는 사업 전망을 예측합니다. 더 중요한 것은 다양한 신경망(비선형성이 시그모이드 함수인 경우)에서 뉴런의 하위 집합을 구동한다는 것입니다.
3 경사하강법: 모든 것이 내리막길을 걷고 있습니다
해가 진 후 산에서 하이킹을 하고 아래에는 아무것도 볼 수 없다는 것을 깨닫는 것을 상상해 보세요. 그리고 휴대폰 배터리가 방전되어 GPS 앱을 사용하여 집으로 가는 길을 찾을 수 없습니다. 경사하강법을 통해 가장 빠른 경로를 찾을 수 있습니다. 절벽에서 떨어지지 않도록 주의하세요. 태양과 카펫: 경사하강은 가파른 지형을 내려가는 것보다 더 유익합니다. 1847년에 프랑스 수학자 오귀스탱-루이 코시(Augustin-Louis Cauchy)는 항성 궤도를 근사화하는 알고리즘을 발명했습니다. 60년 후, 그의 동료인 Jacques Hadamard는 무릎을 꿇고 하이킹을 더 쉽게 만들 수 있는 카펫과 같은 얇고 유연한 물체의 변형을 설명하기 위해 독립적으로 이를 개발했습니다. 그러나 기계 학습에서는 학습 알고리즘의 손실 함수의 최저점을 찾는 것이 가장 일반적으로 사용됩니다.
캡션: Augustin-Louis Cauchy Climb down: 훈련된 신경망은 입력이 주어지면 원하는 출력을 계산하는 함수를 제공합니다. 네트워크를 훈련시키는 한 가지 방법은 실제 출력과 원하는 출력 간의 차이를 반복적으로 계산한 다음 네트워크의 매개변수 값을 변경하여 차이를 줄여 출력의 손실 또는 오류를 최소화하는 것입니다.
경사하강법은 차이를 줄여 손실을 계산하는 함수를 최소화합니다. 네트워크의 매개변수 값은 지형상의 위치와 동일하며 손실은 현재 높이입니다. 아래로 내려갈수록 원하는 출력에 가까운 것을 계산하는 네트워크의 능력을 향상시킬 수 있습니다. 일반적인 지도 학습 상황에서 알고리즘은 네트워크의 매개변수 값과 손실 함수의 기울기 또는 기울기에만 의존하기 때문에 가시성이 제한됩니다. 즉, 언덕 위에 있고 아래 기울기가 있는 경우입니다.
Stuck in the Valley: 안타깝게도 알고리즘이 사용자를 산 아래로 밀어내지 않았기 때문에 휴대전화의 배터리가 부족합니다. 여러 개의 계곡(로컬 최소값), 봉우리(로컬 최대값), 안장점(안장점) 및 고원으로 구성된 볼록하지 않은 지형에 갇힐 수 있습니다. 실제로 이미지 인식, 텍스트 생성, 음성 인식과 같은 작업은 모두 볼록하지 않으며 이러한 상황을 처리하기 위해 다양한 경사하강법 변형이 등장했습니다.
예를 들어, 알고리즘에는 작은 상승과 하락을 증폭시켜 바닥에 도달할 가능성을 높이는 데 도움이 되는 추진력이 있을 수 있습니다. 연구자들은 로컬 최소값만큼 최적화 프로그램이 많은 것처럼 보일 정도로 많은 변형을 고안했습니다. 다행스럽게도 지역 최소값과 전역 최소값은 거의 같은 경향이 있습니다.
최적 최적화 프로그램: 경사하강법은 모든 기능의 최소값을 찾는 확실한 선택입니다. 정확한 솔루션을 직접 계산할 수 있는 경우(예: 변수가 많은 선형 회귀 작업에서) 값을 근사화할 수 있으며 더 빠르고 저렴할 수 있습니다. 그러나 복잡한 비선형 작업에는 유용합니다. 경사하강과 모험심이 있다면 아마도 저녁 식사 시간에 맞춰 산을 벗어날 수 있을 것입니다.
먼저 이 문제를 해결해 보겠습니다. 뇌는 그래픽 처리 장치의 집합이 아닙니다. 만약 그렇다면 뇌는 일반적인 인공 지능보다 더 복잡한 소프트웨어를 실행하게 될 것입니다. 신경망이 많습니다. 신경망은 뇌의 구조에서 영감을 얻었습니다. 상호 연결된 뉴런의 층은 각각 이웃의 상태를 기반으로 자체 출력을 계산합니다. 결과적으로 고양이 그림을 인식합니다.
생물학적에서 인공적으로: 뇌가 뉴런 간의 상호작용을 통해 학습한다는 아이디어는 1873년으로 거슬러 올라갑니다. 하지만 1943년이 되어서야 미국의 신경과학자 Warren McCulloch와 Walter Pitts가 간단한 수학적 규칙을 사용하여 이를 확립했습니다. 네트워크 모델. 1958년 미국 심리학자 Frank Rosenblatt는 미 해군용 하드웨어 버전 구축을 목표로 펀치 카드 기계에 구현된 단일 레이어 시각적 네트워크인 센서를 개발했습니다.
캡션: Frank Rosenblatt클수록 좋습니다: Rosenblatt의 발명품은 한 줄 분류만 인식할 수 있습니다. 나중에 우크라이나 수학자 Alexey Ivakhnenko와 Valentin Lapa는 여러 레이어에 뉴런 네트워크를 쌓아서 이러한 한계를 극복했습니다.
1985년 프랑스 컴퓨터 과학자 Yann LeCun, David Parker, 미국 심리학자 David Rumelhart와 동료들은 독립적으로 연구하면서 이러한 네트워크를 효과적으로 훈련시키기 위해 역전파를 사용하는 방법을 설명했습니다.
새천년의 첫 10년 동안 Kumar Chellapilla, Dave Steinkraus 및 Rajat Raina(Andrew Ng와 공동 작업)를 포함한 연구자들은 그래픽 처리 장치를 사용하여 신경망의 경계를 더욱 넓혔습니다. 점점 더 큰 신경망은 인터넷에서 생성되는 방대한 양의 데이터로부터 학습할 수 있습니다.
모든 작업에 적합: 신경망의 원리는 간단합니다. 모든 작업에는 이를 수행하는 기능이 있습니다. 신경망은 각각 단일 뉴런에 의해 수행되는 여러 단순 기능을 결합하여 훈련 가능한 기능을 형성합니다. 뉴런의 기능은 "가중치"라고 불리는 조정 가능한 매개변수에 의해 결정됩니다.
원하는 출력에 대한 이러한 가중치와 입력 예제 및 임의 값이 주어지면 작업을 수행하는 훈련 가능한 함수가 생길 때까지 가중치를 반복적으로 변경할 수 있습니다.
Black Box: 운이 좋으면 잘 훈련된 네트워크가 제 역할을 할 수 있지만 결국 수천 개의 변수와 중첩된 활성화 함수를 포함하는 매우 복잡한 함수를 읽게 됩니다. 네트워크가 작업을 성공적으로 수행하는 방법은 어렵습니다. 게다가, 잘 훈련된 네트워크는 학습한 데이터만큼만 우수합니다.
예를 들어 데이터 세트가 편향되면 네트워크의 출력도 편향됩니다. 고양이의 고해상도 이미지만 포함되어 있다면 저해상도 이미지에 어떻게 반응할지 알 수 없습니다. 상식: New York Times는 Rosenblatt의 1958년 센서에 대해 보도하면서 "미 해군은 걷고, 말하고, 보고, 쓰고, 스스로 복제할 수 있는 기계를 원한다"고 언급하면서 인공 지능 과대 광고의 길을 열었습니다. 자신의 존재를 인식하는 전자 컴퓨터의 프로토타입입니다.
당시 센서는 이 요구 사항을 충족하지 못했지만 이미지용 컨볼루션 신경망, 텍스트 및 이미지, 텍스트, 음성 및 비디오용 순환 신경망, 단백질 구조 변환기 등 많은 인상적인 모델을 생성했습니다.
그들은 이미 바둑에서 인간 수준을 뛰어넘는 성능, 엑스레이 이미지 진단과 같은 실제 작업에서 인간 수준의 성능에 접근하는 등 놀라운 일을 하고 있습니다. 그러나 상식과 논리적 추론 측면에서는 여전히 다루기가 더 어렵습니다.
아리스토텔레스는 어떤 "짐승"인가요? 3세기에 시리아에 살았던 철학자의 추종자인 포르피리는 이 질문에 답하는 논리적인 방법을 생각해 냈습니다.
그는 아리스토텔레스가 제안한 "존재의 범주"를 일반적인 것부터 구체적인 것까지 결합하여 아리스토텔레스를 각 범주로 차례로 분류했습니다. 아리스토텔레스의 존재는 개념이나 영혼이 아니라 그의 몸은 무생물입니다. 비합리적이기보다는 합리적이다.
그러므로 그의 분류는 인간이다. 중세 논리학 교사들은 이 순서를 수직 흐름도, 즉 초기 결정 트리로 그렸습니다.
숫자의 차이: 1963년으로 거슬러 올라갑니다. 당시 미시간 대학의 사회학자 John Sonquist와 경제학자 James Morgan은 설문조사 응답자를 그룹화할 때 처음으로 컴퓨터에 의사결정 트리를 구현했습니다. 이러한 종류의 작업은 알고리즘을 자동으로 훈련하는 소프트웨어의 출현으로 일반화되었으며, 이제 의사 결정 트리는 scikit-learn 등을 포함한 다양한 기계 학습 라이브러리에서 사용됩니다. 이 코드는 스탠포드 대학과 캘리포니아 버클리 대학의 통계학자 4명이 10년에 걸쳐 개발했습니다. 이제 의사결정 트리를 처음부터 작성하는 것이 Machine Learning 101 숙제가 되었습니다.
Roots in the air: 의사결정 트리는 분류 또는 회귀를 수행할 수 있습니다. 이는 루트에서 크라운까지 아래쪽으로 성장하여 의사결정 계층의 입력 예를 두 개(또는 그 이상)로 분류합니다. 독일의 의학자이자 인류학자인 요한 블루멘바흐(Johann Blumenbach)의 주제가 떠오릅니다. 1776년경 그는 처음으로 원숭이와 유인원을 구별했습니다(인간은 제외하고). 그 전에는 원숭이와 유인원을 함께 분류했습니다.
이 분류는 꼬리가 있는지, 가슴이 좁은지 넓은지, 직립한지 웅크린지, 지능 수준 등 다양한 기준에 따라 달라집니다. 훈련된 의사결정 트리를 사용하여 각 기준을 하나씩 고려하여 이러한 동물에 라벨을 지정하고 궁극적으로 두 그룹의 동물을 분리합니다.
상위 10위 안에: 인간은 넓은 골반, 손, 꽉 물린 이빨로 유인원과 구별된다는 Blumenbach의 결론(나중에 Charles Darwin에 의해 뒤집힘)을 고려하여, 의사 결정 트리를 유인원을 분류할 뿐만 아니라 원숭이는 그렇지만 인간은 어떻습니까? 호주의 컴퓨터 과학자인 John Ross Quinlan은 1986년 ID3를 통해 이를 가능하게 했습니다. ID3는 논바이너리 결과를 지원하기 위해 의사결정 트리를 확장했습니다. 2008년에는 IEEE 국제 데이터 마이닝 회의(International Data Mining Conference)가 계획한 상위 10대 데이터 마이닝 알고리즘 목록에서 C4.5라는 확장 정제 알고리즘이 1위를 차지했습니다.
혁신이 만연한 세상에서 이것이 지속력입니다. 나뭇잎 껍질 벗기기: 의사결정 트리에는 몇 가지 단점이 있습니다. 리프 노드에 단일 예만 포함되도록 여러 수준의 계층 구조를 추가하면 데이터에 쉽게 과적합할 수 있습니다. 더 나쁜 것은 나비 효과에 취약하다는 것입니다. 예를 하나 바꾸면 자라는 나무가 완전히 달라집니다.
숲 속으로: 미국 통계학자 Leo Breiman과 뉴질랜드 통계학자 Adele Cutler는 이 기능을 장점으로 활용하여 2001년에 랜덤 포레스트를 개발했습니다. 이는 각 의사결정 트리가 서로 다르고 중복되는 예시 선택을 처리하는 것입니다. 그리고 최종 결과에 대해 투표를 합니다. Random Forest와 그 사촌인 XGBoost는 과적합이 덜 발생하기 때문에 가장 널리 사용되는 기계 학습 알고리즘 중 하나입니다. 이는 마치 Aristotle, Porphyry, Blumenbach, Darwin, Jane Goodall, Dian Fossey 및 1,000명의 다른 동물학자들이 함께 모여 최고의 분류가 이루어지도록 하는 것과 같습니다.
파티에서 다른 사람들과 가까이 서 있다면 공통점이 있을 가능성이 높습니다. 이는 k-평균 클러스터링을 사용하여 데이터 포인트를 그룹화하는 아이디어입니다. 인간에 의해 형성된 집단이든 다른 힘에 의해 형성된 집단이든 이 알고리즘은 그들을 찾아낼 것입니다. 폭발에서 발신음까지: 벨 연구소의 상징적인 혁신 공장이자 원자폭탄을 발명한 맨해튼 프로젝트의 졸업생인 미국의 물리학자 스튜어트 로이드(Stuart Lloyd)는 정보를 디지털 신호로 분배하기 위해 1957년 처음으로 k-평균 클러스터링을 제안했지만 이 작업은 성공하지 못했습니다. 1982년까지 출판되지 않았습니다:
논문 주소: https://cs.nyu.edu/~roweis/csc2515-2006/readings/lloyd57.pdf동시에 미국 통계학자인 Edward는 Forgy는 1965년에 비슷한 방법을 설명하여 "Lloyd-Forgy 알고리즘"이라는 대체 이름을 갖게 되었습니다. 허브 찾기: 클러스터를 같은 생각을 가진 작업 그룹으로 나누는 것을 고려해보세요. 방에 있는 참가자의 위치와 형성할 그룹 수를 고려하여 k-평균 클러스터링은 참가자를 대략 동일한 크기의 그룹으로 나눌 수 있으며, 각 그룹은 중심점 또는 중심을 중심으로 클러스터됩니다.
다른 거리: 물론 클러스터링된 객체 사이의 거리가 클 필요는 없습니다. 두 벡터 사이의 모든 메트릭이 가능합니다. 예를 들어, 물리적 거리를 기준으로 파티 참석자를 그룹화하는 대신 k-평균 클러스터링을 사용하면 의복, 직업 또는 기타 속성을 기준으로 파티 참석자를 나눌 수 있습니다. 온라인 상점에서는 이를 사용하여 고객의 선호도나 행동을 기준으로 고객을 분류하고 천문학자들은 동일한 유형의 별을 그룹화할 수 있습니다. 데이터 포인트의 힘: 이 아이디어는 몇 가지 놀라운 변화를 가져왔습니다.
n Dimensional Carnival: 그래도 원래 형태의 알고리즘은 여전히 널리 유용합니다. 특히 비지도 알고리즘으로서 값비싼 레이블이 지정된 데이터를 수집할 필요가 없기 때문입니다. 또한 점점 더 빠르게 사용되고 있습니다. 예를 들어 scikit-learn을 포함한 기계 학습 라이브러리는 2002년에 kd-tree를 추가하여 고차원 데이터를 매우 빠르게 분할할 수 있는 이점을 얻었습니다.
위 내용은 Andrew Ng: 기계 학습의 6가지 핵심 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!