Exabyte.io Tutorial: Train Machine Learning Model

기계 학습 모델 학습서 교육 작업 디자이너 페이지로 이동하여 시뮬레이션을 작성하십시오

그런 다음 훈련 세트를 구성하는 실리콘과 게르마늄으로 구성된 재료 세트를 선택하여 가져옵니다 그런 다음 Workflow (워크 플로) 탭으로 이동하여 Exabyte Machine Learning을 사용하여 실리콘과 게르마늄으로 구성된 재료의 전자 밴드 갭을 예측하기 위해 기계 학습 모델을 훈련하는 데 사용되는 'ML Train Model'워크 플로를 선택합니다 엔진 이제 '입력'계산 단위를 검사하겠습니다 훈련 된 모델에 의해 예측 될 속성은이 장치에서 틱된 대상 속성,이 경우 밴드 갭입니다

그런 다음 작업 이름을 설정하십시오 여기서는 SiGe Band Gap ML Train이라고합니다 다음으로 작업을 저장하십시오 그런 다음 실행을 위해 선택하여 계산 대기열에 제출할 수 있습니다 작업이 완료되면 작업을 열고 훈련 된 결과 모델 워크 플로우를 검사하십시오

이 훈련 된 워크 플로우의 '점수'단위를 열겠습니다 여기서 모델 계수와 중요도는 모델 정밀도의 표시와 함께 저장됩니다 이제 웹 인터페이스의 왼쪽 사이드 바를 통해 워크 플로우 콜렉션으로 돌아갑니다 따라서 훈련 된 모델을 포함하는 생성 된 워크 플로는 컬렉션 항목 중에서 검색 할 수 있습니다 이것으로 본 튜토리얼을 마칩니다

Coding Challenge #151: Ukulele Tuner with Machine Learning Pitch Detection Model

코딩 과제에 오신 것을 환영합니다 오, 내 우쿨렐레는 너무 조율되어 있습니다

우쿨렐레 튜너를 만드는 것은 어떤 행운입니까? 코딩 도전 이런 우연이 글쎄요, 저는 새 스튜디오에 있습니다 내 스튜디오는 아니지만 스튜디오입니다 뉴욕 대학의 브루클린에 있습니다

그리고 여기에서 첫 번째 코딩 과제를 수행하고 있습니다 나는 무엇이 의미가 있는지 정말로 모른다 이것이 특정한 코딩을하는 순간이라면 도전, 모르겠다 난 그냥 우리가 조정하려고 할거야 우쿨렐레는 내가 가지고있는 튜너 때문에 배터리가 고장났습니다 내 귀가 그렇게 좋지 않습니다

이것이 작동하는지 살펴 보겠습니다 ml5js 라이브러리를 사용하겠습니다 이것은 운이 좋은 JavaScript 라이브러리입니다 개발에 참여 나는 튜토리얼을 만들려고 노력하므로 잘 작동합니다

피치 감지를 위해 사전 훈련 된 모델이 있습니다 잠시 후에 얘기하겠습니다 그리고 p5 Web Editor도 사용하겠습니다 p5 웹 편집기에서이를 수행하는 것은 약간 까다로울 것입니다 그것이 포함되어 있기 때문에 많은 것들을 업로드하지만 좋은 소식은 이미 ml5 라이브러리가 있습니다

p5 웹에 있다면해야 할 모든 것 ml5 웹 사이트로 이동하면 editorp5jsorg의 편집자 시작하기에서이 링크를 클릭하면 열립니다 ml5 라이브러리가있는 p5 웹 편집기의 스케치 수입 좋아, 우리는 거기에있다

나는 다음과 같이 말함으로써 이것이 작동하는지 확인할 수 있습니다 consolelog ml5version 나는 달리기를 할 것이다

그리고 여기에 버전이 표시되어 있으므로 ml5를 사용할 수 있습니다 이제 다음에 무엇을해야합니까? ml5 웹 사이트로 이동하면 참조로 이동합니다 그리고 참고로, 다양한 기능을 볼 수 있습니다 ml5는 매체에 따라 다른 카테고리로 나뉩니다 내가 확실히하고 싶은 것은 소리를 보는 것입니다 사운드 모델을 찾고 싶기 때문에 그리고 보라, pitchDetection이라는 모델이 있습니다

이제는 피치가 아닌 소리를 분석하는 방법 기계 학습이 필요합니다 FFT 분석을 수행하고 다양한 다양한 것을 볼 수 있습니다 다른 주파수의 진폭과 하나를 선택 그건- 다양한 방법이 있습니다 그리고 소리에 대해 더 많은 것을 아는 사람들 그 방법을 알려줄 수 있습니다 그리고 다른 자습서를 찾을 수 있다고 확신하지만 여기에 있습니다 ml5 라이브러리를 사용하려고합니다

그러나 이것은 실제로 질문을 구걸합니다 음, 어떻게 작동합니까? 미리 훈련 된 모델에 대해 말씀하셨습니다 따라서 ml5에는 CREPE라는 특정 모델이 제공됩니다 그것이 당신이 발음하는 방법인지 모르겠습니다 나는 Convolutional Representation 인 crepe를 말하고 싶습니다

피치 추정 또는 CREPE 용 나는 과일, 작은 바나나를 좋아합니다 아마 약간의 누텔라가 좋을 수도 있습니다 모르겠어요 나에게 너무 많아, 누텔라 이것은 피치 감지에 관한 것입니다 이것이이 비디오에 관한 것입니다

이 특정 모델에 대해 더 많이 읽을 수 있습니다 그리고 그것을 훈련시키는 데 사용 된 데이터는 항상 누군가를 사용할 때 물어봐야 할 질문 많은 것들이 있기 때문에 사전 훈련 된 모델 잘못되거나 올바르게 진행되거나 잠재적으로 문제가 될 수 있음 훈련 된 데이터를 기반으로 한 모델에 대해 이 백서에서는이를 자세히 설명합니다 이 링크를 클릭하면 데모를 볼 수 있습니다 브라우저에서이 작업을 ml5에서 수행합니다 한나 데이비스에게 큰 감사를드립니다 실제로이 모델을 ml5로 이식 한 사람은 그녀의 작품에 대한 링크를 포함하겠습니다 이 비디오의 설명에서 좋아, 여기 ml5 문서 페이지에 있습니다 그리고 그것은 어떻게 생겼습니까? 피치 오브젝트를 만들어야합니다

그리고 string /model/과 같은 일종이 있습니다 그게 뭐야? 여기서 다루고 싶은 첫 번째 것은 이것이 /model/입니다 ml5를 사용할 때는 여러 번 URL에서 모델 파일을로드합니다

실제로 코드에 URL을 넣을 수도 있습니다 또는 ml5는 URL을 자동으로 알 수 있습니다 Google 서버 또는 다른 서버에 저장 그것은 GitHub에 저장되었고 ml5에 의해 지적되었습니다 이 경우에는 실제로 내 코드와 함께 모델 파일이 있어야합니다 이것은 아마도 바뀔 것입니다

이 비디오를 만드는 것만으로도 CREPE 모델 버전을 호스팅해야합니다 ml5를 통해 더 쉽게 액세스 할 수 있습니다 그러나 운 좋게도 ml5-data-and-models GitHub에 가면 레포, 내가 여기있는 곳-githubcom/ml5js 모델 / 피치 감지 / 크레페로 이동할 수 있습니다

그리고 이것들은 모든 모델 파일입니다 따라서 이것은 사전 훈련 된 시스템에서 매우 일반적입니다 학습 모델 JSON 파일이 있습니다 이것은 본질적으로 모델을 설명하는 파일입니다 그리고 다른 모든 파일들이 있습니다

실제 무게, 숫자, 훈련 후 모델의 비밀 소스 신경망의 모든 작은 매개 변수 모든 파일에 저장됩니다 이제 실제로 모든 것을 이미 다운로드했습니다 그리고 당신은 그들을 볼 수 있습니다 여기 바탕 화면의 폴더에 있습니다

제가 지금하고 싶은 것은 모두 추가하는 것입니다 P5 웹 편집기에 어떻게되는지 보자 나는 단지 작은 미디어 파일을 업로드하는 작업 만했습니다 그리고 사운드 파일이지만, 이것이 효과가 있다고 생각합니다 그래서 나는 여기에 갈 것입니다

새로운 것을 만들려고합니다 이걸보기가 어렵습니다 새 폴더를 만들겠습니다 저는이 크레페를 부를 것입니다 그런 다음 파일 추가를하겠습니다

그리고 나는 이것들을 모두 선택할 수 있기를 바라고 있습니다 여기로 드래그하십시오 그래서 웹 편집기는 현재 지원하는 것을 잊었습니다 JSON, CSV 또는 JPEG 이미지와 같은 특정 파일 형식 파일, 사운드 파일 모든 가중치를 포함하는이 모델 파일은 웹 편집기에 업로드 할 수 없습니다

그리고 그것은 미래에 바뀔 수있는 것입니다 그러나 운 좋게도 실제로 모델 파일을 가리킬 수 있습니다 그것은 GitHub 자체에 있습니다 여기이 특정 URL은 이 모든 모델 파일이 저장되는 위치 실제로 모든 파일을 설정하는 방법이 있습니다 GitHub에 앉아있는 URL에 콘텐츠 전송 네트워크에서로드 할 수 있습니다

그렇게하는 방법은이게 좋은 블로그입니다 gomakethingscom에서 찾은 게시물 이 기본 URL 만 보여줍니다 이 URL을 통해 항상 파일에 액세스 할 수 있습니다 GitHub의 경우 cdnjsdelivr

net/gh와 사용자의 경로 이름, 저장소 및 파일 경로 그래서 실제로 여기에서 해냈습니다 Refresh를 누르겠습니다 그리고 보시다시피, 이것은 modeljson입니다

파일 이제는 실제로보고 볼 수 있습니다 아, 모든 구성 정보입니다 이 특정 모델에 대해 그리고 나는 이것을 잡고 내 코드에 넣을 수 있습니다 이걸 닫겠습니다

나는 정상에 갈거야 const modelurl이 같다고 말할 것입니다 거기에 붙여 넣을 것입니다 이제는 실제로 경로 만 원합니다 모델이 모든 파일을로드하기를 원하기 때문입니다

그런 다음 modeljson을 제거하겠습니다 이것이 크레페 모델의 경로입니다 계속해서 이걸 삭제할 수 있습니다 이 폴더에서 그것은 사라 졌어요 한 번에 하나씩 파일을 삭제해야한다고 생각합니다

그렇게하겠습니다 이제 코드를 넣을 준비가되었습니다 피치 디텍터라는 변수를 만들겠습니다 그냥 피치라고합시다 피치는 ML5 피치 감지와 같습니다

공간을 좀 더 주겠습니다 피치 감지 참조 페이지로 돌아가겠습니다 그리고 이것들은 내가로드 해야하는 것들입니다 복사 붙여 넣기를하겠습니다

이것들은 내가 전달해야 할 매개 변수입니다 왜 내가 오류가 있는지 궁금해 여기 앉아 있습니다 물론 변수를 const로 선언하면 나는 아무것도 같을 수 없으며 할당 할 수 없습니다 나중 그래서 이것을 내버려 두어야합니다

그리고 나는 많은 사람들을 화나게 할 것입니다 이제 모든 것을 단순화 시켜서 그리고 지금, 나는 이제 피치 감지 개체를 만들었습니다 이제 내가 원하는 것은 여러 가지 논쟁을하는 것입니다 모델 자체 중 하나입니다 따라서 이것은 더 이상 파일의 로컬 디렉토리가 아닙니다 나는 modelurl을 말할 것입니다

이 오디오 컨텍스트와 마이크 스트림을 가져와야합니다 다시 돌아오겠습니다 하지만 모델로드 함수도 필요합니다 모델이로드되었음을 알 수 있습니다 괜찮아

오디오 컨텍스트와 마이크 스트림은 무엇입니까? 글쎄, 문서가 우리에게 알려주기를 바랍니다 오디오 컨텍스트, 사용할 브라우저 오디오 컨텍스트 스트림, 미디어 스트림, 사용할 미디어 스트림 나는 정직하기 위해 조금 길을 잃었다 더 자세한 정보를 얻을 수 있습니까? 우리가 여기서 할 수있는 일이 예제를 보자

여기 예제 코드를 보시면 아, 완벽을 보여주고 있습니다 내가 말함으로써 얻을 수있는 오디오 컨텍스트 오디오 컨텍스트를 얻습니다 완전한 따라서 이것은 JavaScript에 내장 된 것입니다 그것은 Web Audio API의 일부라고 생각합니다

그리고 나는 누군가 채팅 또는 누군가 확신합니다 이것이 조금 더 설명하는 의견을 남길 것입니다 하지만 계속해서 여기에 넣겠습니다 오디오 컨텍스트는 오디오 컨텍스트를 얻는 것과 같습니다 그런 다음 마이크 스트림의 경우 실제로 내장 마이크에 연결되어 있습니다 또는 다른 마이크를 지정할 수도 있습니다

P5 사운드 라이브러리를 사용하여 연결하겠습니다 마이크라는 변수를 만들 수 있습니다 마이크가 P5 오디오 입력과 같다고 말할 수 있습니다 기능이라고 믿는다 이것이 기능입니다

이것은 p5soundjs의 일부입니다 우연히 내가 여기에 액세스하는 라이브러리입니다 인덱싱 된 HTML에서 이것 좀 봐 나는 그런 구 버전의 P5에 있습니다 이 물건을 업데이트합시다

그리고 나는 현재 버전이 90이라고 생각합니다 제가 여기있는 동안 업데이트하겠습니다 여기로 돌아갑니다 그런 다음 P5 마이크에서이 마이크 스트림을 얻을 수 있다고 생각합니다 목적

여기서 micstream을 살펴 보겠습니다 완전한 이 P5 오디오는 micstart라고해야합니다

시작 피치 기능이 보이지 않습니다 아, 흥미 롭습니다 이걸 봐 그래서 나는주의를 기울이지 않았습니다

나는 내가하고있는 일을 정말로 생각하지 못했습니다 여기서 두 가지를해야합니다 로드해야합니다 마이크에 액세스해야하며 모델을로드해야합니다 모델을로드 할 때 모델을 마이크에 연결하려고합니다

여기서 진행되는 순서에 대해 생각해야 할 수도 있습니다 프로그래밍을했거나 보았는지 알고 있기 때문에 JavaScript의 코딩 기차 비디오 비동기 적으로 발생합니다 예를 들어 이런 식으로 할 필요는 없습니다 그러나 아마 할 것입니다 예가 아닌 방식으로 해보자 작동하는지 확인하십시오

아마하지 않고 깨질 것입니다 순서에 대해 신중하게 그래서 지금 막 micstream을 말할 것입니다 그런 다음 micstart라고 말하겠습니다

그리고 나는 듣기와 같은 콜백을 할 것입니다 그런 다음 듣기라는 함수를 작성하겠습니다 그리고 consolelog라고 말할 것입니다 이 자동 새로 고침을 해제하겠습니다

말도 안되는 일 이니까요 Uncaught SyntaxError, 유효하지 않거나 예상치 못한 토큰, 20 행 뭐? 유효하지 않은 토큰이 없습니다 10 행 듣고, 정의되지 않은 속성 시작을 읽을 수 없습니다 예제로 돌아 갑시다

새로운, 새로운 나는 새로운 말을 잊었다 따라서 새로운 키워드가 매우 중요합니다 생성자를 호출 할 때 객체를 만들려면 새로운 것을 말해야합니다 정말 흥미로운 것이 있습니다 그것은 여기에서 진행되고 있습니다 새로운 여기, 새로운 P5 오디오 입력

그러나 어떻게 새로운 ml5 피치 감지를 말하지 않습니까? 왜 그런지 아십니까? 사람들이 다른 방식으로 일하는 것을 좋아하기 때문입니다 이것은 실제로 조금 더 표준입니다 JavaScript의 세계에서 내가 이해하는 것에서 이것은 실제로 객체 생성자를 호출하지 않습니다 그것에 대한 작은 실마리는 바로 소문자 p입니다 이것은 ML5 라이브러리의 일부인 함수를 호출합니다

함수 자체는 객체 생성자를 호출합니다 하지만 당신은 실제로- 거기에 새로운 일이 일어납니다 그러나 라이브러리 사용자로서의 인터페이스 피치 감지 기능을 호출합니다 그래서 때때로 나는 이것이 P5의 기능 목록이라고 말합니다 대신 이것들은 객체 또는 클래스의 목록입니다

그러나 이것은 실제로 생성자에서 P5 오디오를 호출합니다 괜찮아? 고정 된 것이 있는지 봅시다 좋아, 듣기, 모델로드 유망합니다 그래서 행복했다

주문에 만족하는 것 같습니다 내가 지금하고있는 일 이지요? 예제의 순서는 마이크가 시작되었는지 확인하는 것입니다 그리고로드하십시오 모델 그러나 이것은 그렇게 화난 것처럼 보이지 않습니다 어쩌면 작동 할 것입니다

다음 단계는 무엇입니까? 글쎄, 내가 얻기 위해하고 싶은 것은 이 작업은 피치가 가고있다 숫자, 빈도 값으로 들어갑니다 캔버스에 해당 주파수 값을 그리려고합니다 어떻게 알 수 있습니까? 아마도 콜백이있을 것입니다 콜백 모델이로드되었지만 실제로 그것을 들으라고 말합니다 다시 돌아가서 예제를 볼 수 있지만 살펴 보겠습니다 문서에서

피치는 피치를 얻습니다 여기 콜백이 있습니다 이것이 내가하고 싶은 일입니다 이것은 내가 피치를 요구하는 함수와 같습니다 그리고 무언가를들을 때 콘솔은 그것을 기록합니다

따라서 모델로드 기능 에서이 작업을 수행 할 수 있어야합니다 나는 피치를 얻는다 그런 다음이라는 함수를 작성하겠습니다 내가 이것을하려고 노력하고 있기 때문에 피치를 얻었다 지금은 아주 오래되고 매우 설명적인 방식으로 got pitch라는 별도의 기능이 있습니다 그런 다음 주파수와 같은 인수를받습니다

저는 실제로 그 그림을 그릴 것입니다 아냐, 콘솔 로그 만 해보자 콘솔 로그 빈도 이것을 실행시켜 봅시다 하중을 모델링합니다 (휘청) (노래) La, pitch, frequency 전혀 작동하지 않습니다

이것은 실패입니다 좋아, 이건 작동하지 않아 미디어 스트림 생성을 실행하지 못했습니다 오디오 컨텍스트에서 소스 매개 변수 1은 미디어 스트림 유형이 아닙니다 이것이 문제라는 느낌이 듭니다 내가하던 일을 했어요-지금 순서는- 주문이 문제라고 가정합니다

그러기 전에 마이크가 준비되어 있는지 확인해야합니다 모델로드를 시작하십시오 이런 의미에서 다시 시도해 봅시다 이 주문을 다시 실행 해 봅시다 그래서 마이크 오디오 입력, 마이크 듣기 시작합니다 듣고 있으면 모델을로드합니다

그런 다음 모델이로드되면 피치를 얻습니다 문서를 보면, 피치를 얻으십시오- 오, 오, wo, ,, mp 나는 정말로 중요한 다른 것을 잊었다 나는 이것을 기억할 수 없다 이유를 모르겠습니다

ML5 함수, 콜백은 모두이 스타일로 작성됩니다 오류 우선 콜백이라고합니다 따라서 두 개의 인수를 포함해야합니다 첫 번째는 오류입니다 이를 통해 오류 처리에 대해 생각하게됩니다 실제로 많이 생각하지는 않지만 적어도 ML5입니다

내가 그것을하게하려고합니다 그리고 나는 나는 오류를 확인하는 사람이어야합니다

따라서 오류 빈도가 있어야합니다 그리고 약간의 오류 처리를 할 수 있습니다 예를 들어 error consoleerror 오류 인 경우 말할 수 있습니다 그렇지 않으면 console

log 빈도를 지정하십시오 그리고 저는 실제로 도중에 약간의 불일치 피치 감지 모델은 ML5에서 작동합니다 다른 모든 기능이 식별 된 것 중 하나 그들은 객체를 반환합니다 아마, 그것은 당신에게 찾고자하는 가치, 신뢰 점수를 가지고 있습니다 따라서 아마도 원시 주파수가 없어야합니다

객체 여야합니다 어쩌면 그것은 이미 이미 있고 나는 그것에 대해 틀 렸습니다 한 번 더 실행 해 봅시다 아뇨, 좋아요 뭔가보고 있어요 그래서 이것은 무언가가 나왔음을 약속합니다 오류가 나왔습니까? 아니

오류가 발생한 경우 consoleerror 때문에 빨간색 일 것입니다 빨간색으로 콘솔에 무언가를 인쇄합니다 그래서 주파수가 나왔지만 주파수가 null로 나왔습니다 괜찮아

주파수가 감지되지 않았습니다 나는 소리를 내지 않았다 그리고 더 이상 확인하지 않습니다 더 이상 확인하지 않는 이유 계속 확인하는 것을 모른다는 것입니다 계속 확인하려면 명시 적으로 요청해야합니다

피치를 말해줘 그런 다음 피치가 나오면 기록합니다 그리고 나는 그 피치를 다시 줘 이것은 재귀 적으로 이것을 호출하는 약간의 방법입니다 이것은 일종의 재귀입니다 왜냐하면 정확하게는 아니기 때문입니다

정말 루프입니다 이것을 실행시켜 보겠습니다 우리는 거기에 갈 따라서 주파수를 감지하면 콘솔이이를 기록합니다 그리고 보자

더 높은 주파수, 더 낮은 주파수 더 높은 주파수 우수한 그래서 지금은 더 이상 콘솔에서 이것을보고 싶지 않습니다 변수를 만들고 싶습니다

나는 그것을 freq라고 부를 것입니다 이 값을 0으로 설정하겠습니다 시작하기 그리고 여기, 나는 말할 때마다 만약에 null을 할당하고 싶지 않습니다 주파수, 주파수가 같다면 회수 더 나은 방법으로 null을 설명하고 싶을 수도 있습니다 그런 다음 그리기 기능에서 이것은 불필요하지만 어쨌든이 작업을 수행 할 것입니다

이제 텍스트 정렬 센터를 말하겠습니다 텍스트 빈도, 너비를 2로 나눕니다 높이를 2로 나눈 값입니다 텍스트 중심을 맞추고, 수평 및 수직 중앙에 위치합니다 필자는 255와 텍스트 크기를 채울 것이라고 말하고 64를 좋아합니다

그런 다음 주파수 2를 고정 2로 설정하겠습니다 그래서 소수점 이하 두 자리를보고 싶습니다 이제 이걸 실행 해 봅시다 승인 우쿨렐레 음표는 A, E, C, G입니다

맞습니까? A, E, C, G? 그래서 이것은 A 여야합니다 제가 옳다면 440이어야합니다 이걸로 할 수있는 수학이 있습니다 하지만 여기서도 찾아 볼 수 있습니다 그래, 바로 거기 이것 좀 봐, 심지어 강조 ​​표시되어 있습니다

A4와 같기 때문에 강조 표시 된 것 같습니다 이것이 내가 원하는 주파수입니다 그냥 튜닝하고 싶다고 가정 해 봅시다 A 문자열 만 튜닝하겠습니다 그리고 나머지는 할게요 비디오 또는 당신을 위해 뭔가

A 문자열을 조정하겠습니다 채팅중인 사람들이 지적 톤 제너레이터를 사용할 수도 있습니다 아마도 현명한 아이디어 일 것입니다 지금 바로 그렇게하겠습니다 자, 제안한 채팅에서 Alca에게 감사합니다 이 온라인 톤 제너레이터

비디오 설명에도 링크가 포함됩니다 난 그냥 재생 할거야 그리고 슬라이더를 볼 때 볼 수 있습니다 피치가 거의 일치합니다 피치 감지가 일치합니다 내 말은, 난 말이 엉망이야 생성되는 톤과 일치합니다

이제 완벽하지 않다는 것을 알 수 있습니다 이것은 기계 학습 모델입니다 일부 데이터 세트에 대한 교육을 받았으며 그리고 추측, 예측을하고 있습니다 그것이 생각하는 것의 이것은 100 % 정확한 분석이 아닙니다 아마 수학적으로 할 수 있다고 특히 순수한 톤으로 그러나 이것은 희망적으로 근사치입니다 다양한 종류의 소리로 작업 정확한 피치를 분석하고 꺼내기가 더 어려울 수 있습니다

또한, 내가 무슨 말을하는지 모르겠다 때 소리에 관한 나는 이것을 작동 시키려고 노력하고있다 괜찮아 그래서 지금하고 싶은 것은 시각적 인 지표를 만들 수 있습니다 그래서 여기서 유용한 것은 내가 그리는 것입니다

어쩌면 나는 큰 직사각형을 그려야 할 것입니다 내가 더 작거나 작을 때 아니면 내가 경기장을 넘었을 때 나는 그것을 오른쪽으로 그립니다 아래에 있으면 왼쪽에 그려집니다 어떤 유형의-그리고 나는 당신이 확실하길 바랍니다 훨씬 더 좋고 더 많은 버전을 만들 것입니다

사려 깊은 인터페이스 하지만 이렇게하려면 내가해야 할 모든 것 차이를 같게한다고 주파수, 그 주파수가 마이너스 440을 원합니다 지금은 A 만 튜닝하고 있습니다 A 문자열 만 튜닝하면됩니다 그런 다음 그림을 그리고 싶습니다

수정하자 나는 지금 그것을 흰색으로 만들 것입니다 그 입장은 캔버스의 크기는 얼마입니까? 200, 200, 400, 400 200이 쉼표 50이라고 말하겠습니다 텍스트를 아래로 이동합시다 그리고이 부분을 아래로 옮기겠습니다 그런 다음 너비를 다르게하겠습니다

10을 곱하고 스케일을 조정하고 높이는 50입니다 잠시만 기다려주세요 그리고 톤을 연주하겠습니다 으악 그래서 이것은 실제로 작동합니다

좋은 점은 너비를 음수로 지정하면 그것은 부정적인 것으로 그리는 것 같습니다 사각형을 반대 방향으로 그립니다 실제로 뒤집을 필요는 없습니다 그래서 질문은 10 배는 실제로 꽤 큽니다 실제로 어떤 것도 곱하지 마십시오

이러한 차이점이 무엇인지 생각해 봅시다 500이면 맞습니다 60 픽셀이 적당합니다 내가 놀자 그래서 사각형이 보이지 않습니다

직사각형이 조금 있습니다 말하는 것은 다른 그림을 얻기 때문에 엉망입니다 내 목소리의 하지만 지금 당장 할 수도 있어요 나는 이것에 대해 조금 더 사려 깊은 수 그리고 나는- 금액이지도와 같다고 말할 수 있습니다 100 사이의 차이 10에서 100 사이에서 0에서 1 사이의 값으로 설정합니다 내가 이것을하는 이유는 lerpColor 함수를 사용할 수 있습니다

제가 빨간색을 가지고 있다고하겠습니다 25500이고 02550 인 녹색이 있습니다 내가하고 싶은 것은 끝날 때입니다 나는 실제를 얻고 싶다 실제 색상을 lerpColor로 설정하고 싶습니다

lerpColor는 두 가지 사이에 선형 보간을 제공합니다 빨강과 녹색과 같은 색상 아, 이것은 실제로 내가하고 싶은 것이 아닙니다 중앙에 있으면 초록색이되고 싶습니다 사실, 절대 값을 매핑하고 싶습니다 차이의

차이의 절대 값을 매핑하고 싶습니다 그리고 이것은 지금 0과 100 사이에서 훨씬 더 쉽습니다 그리고 나는- 0이면 완벽하게 녹색입니다 100이면 빨간색입니다 그리고 이것이 실제로 제대로 보일지 모르겠습니다

하지만 한번 해봅시다 (명음) 우쿨렐레를 조정하려고하면 여기에서 볼 수 있습니다 (동조) 이것을 다시 A4로 만들어 봅시다 (동조) 예, lerpColor를 사용하지 마십시오 lerpColor가 흥미로운 아이디어라고 생각합니다

그리고 실제로는 채우기 또는 낮음-이 작업을 수행하는 훨씬 더 좋은 방법이 있습니다 우리는 간다 여기 내 인터페이스가 있습니다 나는 이것에 매우 열심히 일했다 나는 지금 소리를 낼거야 그것을 조정하려고합니다

그리고 거기에 가면 저는 세 가지 주파수 값 안에있게하겠습니다 나는 또한 이것을 말할 것입니다 자동 새로 고침은 끔찍한 아이디어였습니다 02550을 채 웁니다 알았어, 준비? 이 우쿨렐레를 조정합시다

(동조) 다섯이 너무 큽니다 임계 값을 하나로합시다 (동조) 우쿨렐레 튜너가 있습니다 당신은 그것이 올바른 메모가 아님을 알 수 있습니다 그래서 많은 것들을 생각할 필요가 있습니다

우선, 그것은 제대로 들리지 않습니다 이것은 훨씬 더 나은 튜닝 방법이 될 것입니다 (동조) 아, 실제로 그렇게 나쁘지 않습니다 생각보다 낫습니다 이제 정말 빨리하고 싶은 일 실제로이 하나의 스케치에서 네 가지를 모두 조정할 수 있습니다

문자열의 이 비디오는 지금 막지 말아야합니다 더 이상 가야하지만 이것을하고 싶습니다 너무 많은 것이 필요합니다 [음악 재생] 그리고 당신은 그렇게 할 것입니다 또한 이것의 버전을 만들 것입니다 실제적이고 사려 깊은 인터페이스로 조율사 노트의 배열을 만들어 봅시다

그리고 많은 객체를 만들 것입니다 그리고 각 물체에는 메모와 빈도가 있습니다 예를 들어, 참고는 A이고 주파수는 440입니다 내가 왜 그 모든 일을했는지 ​​모르겠어요 이것을하고 싶다 우쿨렐레에는 4 개의 현이 있습니다

A, E, C, G가 있습니다 그 주파수를 찾으십시오 그래서 지금하고 싶은 것은 무엇을 튜닝하고 있는지 알고 싶습니다 우선, 이것은 끔찍합니다 내가 작성한이 코드를 견딜 수 없습니다

적어도 이것을 조금 더 좋게 만들어 봅시다 임계 값이라는 변수를 만들어 봅시다 그리고 다시, 나는 매핑 또는 무엇이든해야합니다 그 임계 값을 하나 만들어 봅시다 그리고 적어도 우리가 알 수 있도록 거기에 두겠습니다

그리고 다시, 내가 우스운 일이다 이 if 문을 두 곳에두면 좋지만 괜찮습니다 하지만 가장 먼저해야 할 일은 실제로 어떤 메모를 알아 나는 그것을 비교하려고합니다 그리고 나는 자동으로 그렇게하고 싶습니다 그래서 나는 실제로 어떤 문자열을 모른다 내가 미친 컴퓨터 비전을하지 않으면 나는 놀고있다 하지만 난 그냥 좋아 할거야 가장 가까운 메모를 찾아서 조정하십시오 제가 여기서하고 싶은 것은 루프를하는 것입니다

모든 노트를 통해 그리고 가장 가까운 것을 찾을 것입니다 note는 0과 같은 색인입니다 그리고 저는 지금 바로 1을 말할 것입니다 그리고 레코드 차이는 무한대로 시작하겠습니다 그런 다음에 차이점은 notesindexi

frequency, 실제 주파수 빼기 그리고 나는 일종의 멋진 고차를 할 수 있다고 확신합니다 배열 함수,하지만이 방법으로 수행하겠습니다 차이가 레코드 차이보다 작 으면 가장 가까운 쪽지는 i입니다 그리고 나서 일단 그 작업을 수행하면 가장 가까운 메모를합니다

자 이제 그 차이를 유지하겠습니다 아, 나는 기록적인 차이가 있습니다 차이는 레코드 차이와 같습니다 그리고 그것은 절대 가치입니다 죄송합니다

절대 가치가 있어야합니다 항상 그 절대 가치가 있어야합니다 그리고 실제 메모 자체는 이 변수 이름을 사용할 수 있습니까? 노트 인덱스 가장 가까운 노트입니다 난 그냥 색인을 저장할 필요가 없습니다 객체를 저장할 수있었습니다 하지만 그래, 개체를 저장하자, notesindexi 색인을 저장할 필요가 없습니다

그리고 가장 가까운 메모입니다 그리고 제가하고있는 일은 가치를 보여주는 것입니다 그런 다음 이 값을 여기에 그리는 대신 실제로 화면에 메모를 남기고 싶습니다 또한 어디에서 할 수 있습니까? 실제로 그 차이를 어디에서 이끌어 내나요? 아, 여기 텍스트가 있습니다 이걸 훨씬 작게 만들겠습니다 그리고 나도 여기서 말하겠습니다

텍스트 크기는 64입니다 나는 closestnotenote를 말할 것입니다 그리고 이것은 150 픽셀을 올려 놓고 50은 픽셀 업 그것이 무엇을하는지 보자

큰 이제 모든 현을 조율 할 수 있어야합니다 여기에서 감지해야합니다 (동조) 작동하지 않습니다 그렇다면 왜 정보가 제공되지 않습니까? 이것을 디버깅해야합니다

아, 내가 안했는지 알아? 나는 명백한 것을 놓치고있다 레코드 차이를 설정하는 것을 잊었습니다 그 차이와 같습니다 글쎄 좋아, 여기 간다 그래서 내 A는 꽤 조정되었습니다 (동조) 아, 난 최악이야 절대 값을 여기에 넣겠습니다 그리고 나는이 실수를하지 않습니다

차이가있는 경우-이 값도 절대 값이어야합니다 확실히 문제입니다 좋아, 여기에 우리 모두가 간다 나는 이것이 지금 좋다고 생각한다 (동조) A입니다

부정적인 차이가 필요합니다 아, 여기 필요해 모두들 좋아 모든 것이 잘 될 것입니다 기록을 얻을 때 가장 작은 것을 원합니다 근데 여기서 사용하면 그것이 부정적이거나 중요하지 않은 경우, 그렇지 않습니까? 아니요, 나는 모든 곳에서 절대 값을 사용하고 있습니다 아, 어디 있는지를 제외하고

이것은 어떤가요? 어떻게에 대한? 응? 어떻게에 대한? 차이의 절대 값이 레코드 차이의 절대 값보다 작습니다 기록적인 차이는 있지만 아래에서 사용하려면 네거티브를 참조하십시오 (동조) 더 많은 움직임을보고 싶습니다 그렇다면이 나누기는 10으로 어디에 있습니까? 휴식 좀 줘 두 사람으로 나눈다 (동조) 으악, 잘못된 문자열

(동조) 이것은 나의 첫 번째 코딩 과제였습니다 여기 새 코딩 트레인 스튜디오에서 브루클린의 뉴욕 대학교에서 우쿨렐레 튜너를 만들었고 최악의 인터페이스를 가지고 있습니다 우쿨렐레 튜너의 경우 여기에 너겟이 있습니다 피치 감지 모델이 어떻게 작동하는지 보는 것이 좋습니다 당신이 이것의 당신의 자신의 버전을 만들었다면 나는 그것을 좋아할 것입니다

codingtraincom으로 이동할 수 있습니다 이 코딩 문제에 대한 페이지를 찾으십시오 직접 제출 지침을 확인하십시오 나는 실제로 그것을하는 방법에 대한 비디오 자습서

자신 만의 우쿨렐레 튜너를 만들면 그리고 당신은 웹에 넣어, 나는이 우쿨렐레를 조정합니다 다음 라이브 스트림에서 시청 해 주셔서 감사합니다 그리고 미래의 코딩 챌린지에서 see겠습니다 안녕 [음악 재생]

How to build a machine learning credit risk model

이것이 모델 샵입니다 보시다시피 Modelshop은 웹 기반 응용 프로그램입니다

온 프레미스 또는 클라우드에서 고객 또는 AWS에서 또는 선택한 클라우드 공급자가 무엇이든 여러 모델을 호스트 할 수 있습니다 단일 인스턴스이며 권한이있는 사용자간에 공유 할 수 있으며 승인과 관련하여 안전합니다 우리가 오늘 할 일은 학생 대출을 상환하기위한 모델을 구축하십시오 그래서 시작하겠습니다 처음부터 거의 처음으로 내가 지금까지 한 유일한 것은 이 모델에는 일부 소비자 신용 정보, 일부 신용 보고서가 뿌려졌습니다 대출 결정을 내리는 데 분명히 매우 중요합니다

실제로 먼저 살펴 보겠습니다 여기에 신용 보고서가 있습니다 우리는 약간의 정보를 뽑았지만 드물게 분명히 우리는 신용 보고서에서 더 많은 정보가 필요합니다 이것보다 어떻게 그 변수를 추가하고 추가하기 시작합니까? 우리의 맞춤형 로직? Modelshop에서는 정말 쉽습니다 새로운 분야를 추가 할 수 있습니다

나는 FICO를 먼저 꺼내 보겠습니다 우리는 커플을 할 것입니다 어떻게 다른 크레딧 변수를 볼 수 있습니다 우리가 당기면 세부 사항을 살펴보면 실제로 우리가 기록한 특정 기록 나는 주제 기록에서 내려 가고 신용 보고서를 처리 한 사람이라면 누구나 보고서가 크다는 것을 알고 있습니다 성가신 문서와 물건을 꺼내는 것은 매우 어렵습니다

그래서 저는 국 문서로 무장을 제안하지만 일단 당신이 어디를 안다면 당신은 당신이 가고, 이러한 것들을 찾기가 매우 쉽다는 것을 알 수 있습니다 꽤 잘 지명되었습니다 이것이 우리가 찾고있는 것입니다 우리는 크레딧을 찾고 있습니다 우리가 그것을 찾은 후에 우리가해야 할 모든 것은 그것을 꺼내 넣어 우리의 계산에서 이것을 정수로 만들고 일단 저장하면됩니다

이제 새로운 FICO 점수가 모델에 추가되었습니다 우리는 누락되어 하나에 오류가 있습니다 정리할 수는 있지만 난 지금은 걱정하지 않아도됩니다 데이터를 외부로 매핑하는 것만이 아닙니다 신용 보고서를 사용하여 파생 상품 계산을 작성할 수도 있습니다

보고서에 포함 된 정보뿐만 아니라 자체 논리 구축하자 그런 사람 간단한 것을 해보도록하겠습니다 열린 무역 라인 그것은 단지 정수이기 때문에 정수가 될 것입니다

카운트 그렇다면 우리가 할 수있는 것은 당신이 말할 수 있습니다 너는 볼 수있어 코드 힌트가 있습니다 열려있는 것을 세어 봅시다 이제 저장하면 다시 한번 우리는 새로운 계산이 모델에 추가 된 것을 볼 수 있습니다

모든 기록 우리는 정말 쉽게 상호 작용할 수 있습니다 정렬 할 수 있습니다 우리는 할 수 있습니다 들어가서 걸러 내고 말하기 : "1"만 보여주세요 데이터와 상호 작용하고 새로운 신용 변수를 추가하는 것은 정말 쉽습니다

그 단지 한 조각입니다 우리는 우리가 원하는 신용 ​​변수 모델을 구축하려는 것이 아닙니다 애플리케이션 데이터와 병합합니다 Modelshop에 새로운 데이터를 어떻게 가져 옵니까? 한 가지 방법은 가져 오는 것입니다 여러 옵션이 있습니다

우리는 가져올 수 있습니다 파일, 데이터베이스, 웹 서비스 실제 생산 환경에서 데이터베이스에서 왔거나 여기에있는 모든 것이 실제로 REST API에 싸여 있지만 나중에 조금 더 다루겠습니다 따라서 REST API를 통해서도 새로운 정보를 보낼 수 있습니다 지금은 사용하자 응용 프로그램을 빌드하기 위해 Excel 파일에있는 일부 데이터 이 두 개의 탭이있는 Excel 파일입니다 응용 프로그램과 프로그램이 있습니다

우리는 많은 데이터가 깨끗하지 않지만 지금 당장 다른 구성 옵션 기본값은 잘 보이기 때문에 한 번에로드 할 것입니다 이제 두 개의 새로운 테이블을 추가하거나 데이터를 호출합니다 우리의 응용 프로그램에 목록 스위치를 통해 정확히 볼 수 있습니다 우리가 방금 신용 보고서를 보았던 것과 같은 형식이지만 이제는 어떻게 실제로 응용 프로그램과 신용 보고서 자체 사이에 링크를 작성합니까? 이를 위해 링크 마법사를 사용하면이 작업을 매우 쉽게 수행 할 수 있습니다

한번 다시 수동으로 구성하고 "내 연결하고 싶습니다 내 신용 보고서에 적용 "하지만 실제로 들어 와서 우리는 정말 쉽게 할 수 있습니다 고객 ID가 있다고합니다 그것들은 우리의 응용 프로그램 및 신용 보고서입니다 주목할 것은 동일한 헤더를 찾고 실제로 데이터 자체를보고 있지만 제안을 연결하고 클릭하면 완료됩니다 이 필드는 이제 파란색으로 표시되어 링크 필드임을 나타냅니다

우리에게는 새로운 필드를 삽입 할 수 있기를 바라고 있습니다 FICO 점수를 응용 프로그램에 가져 와서 할 수 있다고 가정 해 봅시다 정수와 지금 할 수있는 것은 고객 ID에 대해 동일한 코드를 말할 수 있다는 것입니다 힌트 그들의 FICO를 원하고 모델을 저장하고 이제는 FICO는 이러한 각 옹호자에 대한 신용 보고서에서 점수를 매 깁니다 또한 우리가 신용에서 변수를 추출하는 것에 국한되지 않은 것처럼 우리는 여기서 정보를 추출하는 것에 만 국한되지 않습니다

계산에 무엇이든 사용할 수 있고 실제로 모든 모델을 탐색 할 수 있습니다 이 점을 증명하기 위해 더 많은 링크를 통해 우리는 전에 모기지의 총 균형을 보자 전에 본 적이 없다 이번에는 카운트가 아닙니다 이제 통화가 필요하기 때문에 통화를 원합니다 금전적 금액으로 신용 보고서에 들어가 거래에 들어갈 수 있습니다 이제 우리는 모기지 인 모든 것을 찾고 싶습니다 합계, 찾기 하나를 반환, 모두 찾기를 반환 모든 것, 현재의 균형

그렇게 쉽습니다, 우리는 방금 신용에 들어갔습니다 우리의 무역 라인에보고, 우리는 아래에있는 것을 찾기 위해 그것을 부식시켰다 모기지와 우리는 현재 잔액을 요약했습니다 실제로 만들자 그것은 열린 모기지의 총 잔고이며 실제로 다른 부분을 추가 할 수 있습니다 여기서 말하는 기준은 열려 있습니까? 이제 저장합니다 이제 그 새로운 분야 우리는 또한 다시 정렬하고, 필터링하고, 이 모든 정보를보십시오 우리는 계속 구성 할 수 있습니다 이 모든 신용 변수를 가져 와서 프로그램과 연결하고 오퍼를 제공하지만 시간이 조금 걸리면 아마 약 한 시간 안에 할 수 있습니다 내가하고 싶은 것은 우리가 가지고있는이 모델의 버전으로 전환하는 것입니다 그냥 했어요 우리는 한 시간 정도의 시간을 보냈습니다

우리가 어떻게했는지 안내해 드리겠습니다 그래서 우리는 더 완벽한 모델입니다 가장 먼저 눈에 띄는 것은 대시 보드가 있다는 것입니다 대화 형 대시 보드 사용자를 변경할 수 있고 열 가지를 모두 볼 수있는 곳 우리가 실제로 그들을 위해 만들고 제안하는 방법을 살펴 보겠습니다 우리는이 10 개의 오퍼를 한 번에 생성하지만이 오퍼 각각은 에 동일한 비율 대출 금액이 있습니다 우리는 매달 지불 우리는 실제로 몇 가지 예측을하고 있습니다 잠시 후 손을 대면 대출을 결정하고 있습니다

승인 여부와 Google에서 제공하지 않는 경우 이유 또는 이유 이유 이 대화 형 대시 보드는 실제로 우리가 들어 와서 바꿀 수있는 정보를 보여줄뿐 아니라 무슨 일이 일어나고 있는지 이해하기 위해 즉시 업데이트 실제로 모델과 상호 작용하므로 어떻게 구축하고 있는지 살펴 보겠습니다 이 첫째, 신용 보고서를 다시 한 번 살펴 보겠습니다 실제로 이것을 조금 확장했습니다 이제 우리는 많은 거래를하고 있습니다

우리는 현재 작업과 관련된 많은 변수를 만들었습니다 학생 대출 잔액, 학생 대출 지불 금액이 있습니다 우리가 리파이낸싱 모델을하기 전에 언급했듯이 응용 프로그램의 초기 대출 금액은 학생 대출을 기준으로합니다 우리가 볼 수 있듯이 그들은 많은 것을 가질 수 있기 때문에 균형 재조정을 원할 수있는 공개 학생 대출 하나의 대출로 우리는 그들이 그렇게 할 수 있도록 우리는 이것을 초기로 사용할 것입니다 대출 금액 또한 결제가 이루어 지므로 새로운 결제 방식을 이해합니다 이전 상황과 비교해 보면 그들은 그들의 역사와 FICO 점수 이후로 파일에있었습니다 그래서 우리는 당겨 사용자에 대한이 모든 정보를 지금 어떻게 사용하고 실제로 사용하는지 그것? 계속해서 우리의 응용 프로그램 데이터를 다시 한 번 매우 봅니다

우리가 전에 보았던 것에이 정보는 우리는 학생 대출 잔액을 학점 보고서이지만 학교에 대한 정보도 만들었습니다 그 자체로 사용자로부터 전송되지만 우리가 한 일은 실제로이 정보를 공개 API의 데이터로 보완했습니다 주어진 학교의 등급에 관한 데이터가있는 학업 자격 증명 및 사람들의 추정치 매년 그 기관에서 얼마나 많은 동문을 졸업하고 우리는 추가 정보를 사용하여보다 구체적이고 관련성이 높은 결정 다시 애플리케이션 테이블을 다시 살펴 보았습니다 우리는 지금 우리 학교와 우리는 두 가지 맞춤 변수로 매핑했습니다 경력 중반에이 기관들 각각에 대한 중간 지불액 파생 된 변수를 만들고 학교를 지정하는 변수를 엽니 다

순위에 따라 클래스 그래서 상위 25는 1을 얻습니다 25에서 100은 2를 얻습니다 앞으로 그래서 우리는 이것들을 무엇에 사용하고 있습니까? 그것이 실제로 들어온 곳입니다 이 용어의 용어는 예측입니다

우리가 여기서하고있는 일은 경제적 인 생존 가능성을 바탕으로 렌더 오퍼를 만들고 싶습니다 그것이 주관적이고 다른 사람들과 다를 수 있기 때문에 제공 사람들은 대출을 더 빨리 갚고 싶을 수도 있고 더 많은 돈을 지불하지 않아도됩니다 한 달에 다른 사람들이 월별 지불액을 낮추고 더 많은 가처분 소득 또는 필요에 대한 더 많은 소득 사람들을 기반으로 인구 통계, 그들이 만드는 돈의 양, 나이, 나이 다른 환경 설정 이므로이 용어 예측 및 유형 예측은 그 정보를 알아 내려고 시도하십시오 우리가 한 것은 과거의 훈련 자료를 만들어 실제 사건이 우리는 과거에 낮은 FICO 점수를 가진 39 세가 왔다고 가정했습니다 저소득이 왔는데 이것이 고정으로 선택한 용어입니다 율

지원자와 유사한 사람들을 사용하여 그들이 선호하는 곳이 어디인지 그리고 그것이 우리에게 또 다른 것을 줄 수 있는지 알아 내십시오 게재중인 오퍼의 우선 순위를 지정하는 방법에 관한 데이터 포인트 우리의 가격에 영향을 줄 수 있습니다 우리가 그렇게 한 방식은 두 가지 머신 러닝 알고리즘을 훈련하여 머신 러닝을 도입했습니다 이 대출 과정에 인공 지능 Modelshop에서이 작업을 수행하는 것은 매우 간단합니다

분석 이 경우이 용어에 사용하려는 데이터를 가리킬 수 있습니다 우리는 역사적 훈련 데이터를 사용하고 있습니다 우리는 우리가 믿는 분야를 선택합니다 우리가 예측하고자하는 첫 번째는이 경우 용어 선택입니다 우리가 믿는 것은 예측적일 것입니다

우리는이 데이터 세트를 만들고 이 모든 항목은 본질적으로 대출이라고 예측할 수 있다고 생각했습니다 균형, 지불금, 학급, 연령, FICO 및 수입과 단순히 "train model"을 누르면 우리가 가진 통합으로 보냅니다 우리를 위해 모든 데이터 준비를 수행하고 모델을 훈련시키고 다시 돌아 오는 h2o AI 첫 번째 단어를 예측하는 데 가장 중요한 변수는 무엇입니까? 사람들이 선택합니다 그래서 우리는 학생 대출 잔액과 지불이 가장 중요한 가중치 그런 다음 몇 가지 통계를 얻습니다 훈련과 예측 모델이 얼마나 정확한지보고 약간 더 많은 시각적 효과를 제공하는 혼란 매트릭스를 얻습니다

우리가 무언가를 예측 한 횟수를 볼 수 있고 얼마나 자주 우리가 정확했고 얼마나 솔직하게 우리가 도착했는지 이 모든 정보를 제공하지만 가장 중요한 것은 훈련 된 모델을 얻는 것입니다 새로운 인스턴스를 예측하는 데 사용할 수 있습니다 응용 프로그램 내부에서 다시 한 번 우리는 우리가 취할 수있는 모델을 호출합니다 계산을 살펴보고 우리는 단순히 나에게 점수를 매기라고 말하고 각 항에 관심이있을 확률이 반환됩니다 그래서 120과 모든 제품은 고정적이거나 가변적이므로 이 둘 사이에있는 것보다이 사람은 가능성이 훨씬 높습니다 고정 변수에 관심이 있습니다 우리가 할 수있는 일은 우리의 제안 테이블로 가져 와서 살펴 보겠습니다 나는 우리 그룹으로 할 수 있습니다 더 쉽게 읽을 수 있도록 응용 프로그램 번호 그러나 지금 여기에서 우리는 우리의 각 하나에 대한 제안을 만든 것을 볼 수 있습니다 대출 유형뿐 아니라 모든 경제 정보를 요율표를 통해 요율을 도출 할 수 있습니다

해 보자 요율표 자체를 살펴본 다음 계산을 살펴 보겠습니다 대출 유형이있는 프로그램 테이블이 있습니다 대출 유형별로 각각 APR과 FICO 밴드가 있습니다 이 작품은 누군가가 720에서 850 FICO 사이에 있고 그들은 5 년 고정 기간에 관심이 있습니다 몇 가지 다른 규칙이 적용됩니다

따라서 최소 연령, 최소 크레딧이 있습니다 프로그램 테이블에서이 모든 정보를 사용하여 사람들이 요율이 무엇인지 1 위인지, 그 제안의 경제학은 그 다음에 승인되거나 거절되면 그럴 것입니다 실제로 찾아서 추출하는 계산을 살펴 보겠습니다 이 정보 요율 계산은 다음과 같습니다 당신은 그것을 볼 수 있습니다 프로그램을 의미합니다

그 프로그램은 바로 여기에 있습니다 우리는 이 프로그램들 각각은 우리가이 계산을 통해 수행됩니다 "프로그램에 들어가서 대출 유형이 내 프로그램과 같은 프로그램을 찾으십시오" 계약 기간과 두 FICO 구간 사이의 현재 대출 유형 " 지금 당신은 조금 다루기 어려울지도 모른다고 생각할지도 모릅니다 이해하다

Modelshop은 쉽게 알아낼 수 있습니다 의존성 엔진을 통한 이러한 사용자 정의하고 솔직한 강력한 논리 중 일부 그래서 우리는 실제로 그 계산을보고 모든 것을 볼 수 있습니다 그것이 의존하는 변수와 그것에 의존하는 모든 것 그것이 어떻게 모두 함께되는지에 대한 이해를 얻습니다 그래서 말할 수 있습니다 이것은 대출 유형을 기반으로합니다

이제 클릭을 통해 이익을 얻으려고합니다 대출 유형에 대한 이해를 통해 모델 전체를 탐색 할 수 있습니다 이것을 확인하십시오 이를 확인하기위한 정말 강력한 도구입니다 쉽고 이해하기 쉽습니다

우리가하는 일은 한 번입니다 우리는 FICO 밴드와 관련 용어를 찾아 프로그램을 찾았습니다 APR을 추출하면 누구든지 내장 라이브러리를 사용할 수 있습니다 익숙한 Excel 스프레드 시트 우리는 알아낼 재정이 있습니다 지불 그리고 우리는 그들의 현재가 무엇인지 말하고 할 수 있습니다 우리의 응용 프로그램으로 이동하고 우리가 가지고있는 학생 대출 지불을 얻을 신용 보고서에서 추출되었습니다

그럼 우린 할 수있어 그들의 월별 저축이 무엇인지 알아 내고, 우리가 얼마인지를 결정할 수 있습니다 대출 기간을 평균 연장 또는 삭감하면 우리가 말하기 전에 본 예측 자 이 특정 제품에 관심이 있으십니까? " 그들에게 맞는 제품을 보여주세요 마지막은 우리가 어떻게가요 이 결정에 대해? 이 사람은 승인되지 않았습니다 우리가있는 곳 앞에서 본 것처럼 거절 당하면 여기서 녹아웃 규칙을 볼 수 있습니다 녹아웃 규칙은 어떻게 정의됩니까? 우리는 지배하는 룰베이스를 열 수 있습니다 이 제안 표를보고 살펴보면 몇 가지 간단한 규칙이 있습니다 우리의 제안 각각에 적용되고 있습니다

자 한번 살펴 봅시다 샘플 하나 여기, 우리는 응용 프로그램에 들어가고, 나이가 들어갑니다 우리가 말하는 것은 프로그램 최소 연령보다 적다는 것입니다 프로그램 테이블에서 본 것을 기억하십시오 우리가 추출하는 것과 같은 방식으로 평가를 통해 해당 프로그램에서 최소 연령을 얻을 수 있습니다

해당 규칙이 실행되는 경우 연령이이 규칙보다 낮습니다 화재가 발생하면 해당 응용 프로그램이 거부됩니다 좋아요 그냥 터치하고 싶어요 몇 가지 다른 점 나는 이것이 간단한 데모 였음을 알고 있지만 우리는이 대화 형 대시 보드를보고 있습니다 여기에 매우 유용하지만 이것이 상호 작용하는 유일한 방법은 아닙니다 Modelshop 내부의 데이터로

지금까지 본 모든 것 REST API를 통해 노출 될 수 있습니다 그래서 나는 그것이 어떻게 생겼는지 보여줄 것입니다 지금 우리는 우리가보고있는 것에 국한되지 않습니다 새로운 데이터를 보낼 수 있습니다 데이터를 쿼리하고 필터링하고 방금 수행 한 모든 작업을 수행 할 수 있습니다 API를 통해 UI에서 보았지만 매우 쉽게 할 수 있음을 의미합니다

다른 시스템에 통합하면 프론트 엔드 웹 앱에 통합 할 수 있습니다 또는 다운 스트림 데이터베이스, 그것은 당신에게 달려 있고 완전히 유연합니다 그런 점 또한 이것은 엔터프라이즈 응용 프로그램에 실제로 잘 통합됩니다 그리고 엔터프라이즈 아키텍처

왜 우리가 우리의 모든 것을 관리 하는가 즉석에서 의존성이므로 무엇을 감사하고 이해하기가 정말 쉽습니다 여기에서 우리는 계산 중 하나에서 미니 버전을 보았습니다 여기서 의존성 측면에서 전체 모델을 볼 수 있으며 필터링 할 수 있습니다 이해하기 위해서 이제 이것은 정말 강력해야합니다 그 힘은 누구든지 쉽게 이해할 수 있어야합니다 큰 Excel 스프레드 시트 또는 코드 기반을 받았으며 몇 달 동안 거기에서 무슨 일이 일어나고 있는지 알아 내십시오 이렇게하면 들어가고 말하기가 정말 쉬워집니다 "이봐 요, 그 비율은 어떻게 계산 되나요?" 이제 찾을 수 있습니다

그것이 의존하는 모든 것과 그것에 의존하는 모든 것 또한 모든 성능을 모니터링하여 흥얼 거리는 모든 것을 모니터링합니다 특히 비효율적 인 계산을 통해 다운됩니다 누구든지 저장하는 데 10 초가 걸리는 Excel 스프레드 시트 처리 내가 말하는 것 우리는 이러한 모델을 프로파일 링하여 성능이 뛰어나고 병목 현상이 발생하지 않습니다 그것은 순수한 자바 응용 프로그램이므로 훨씬 더 성능이 뛰어나므로 Excel이라고 가정 해 봅시다

스프레드 시트이지만 Modelshop과의 차이점에 대한 예입니다 엔터프라이즈 용이 아닌 일부 도구 우리는 정말 확인하려고 가능한 한 간소화되었습니다 마지막으로, 모든 변경 사항은 모든 구성 변경 모델은 소스 제어에 체크인되며 돌아가서 이전 버전의 모델을 다운로드하여 시간 여행의 종류 또한 누가 무엇을 변경했는지 심사하고 볼 수 있습니다

언제 그리고 어떤 효과가 있었으며 이전 버전으로 되돌릴 수도 있습니다 경우에 문제가 발생하여 이전 버전으로 돌아 가야합니다 좋아, 내가 참여해 주셔서 감사합니다 Modelshop의이 짧은 데모 더 궁금한 점이 있으면 우리는 심층 데모 및 설명을 좋아하므로 언제든지 문의하십시오

질문이나 의견이 있으면 감사!

How To Build A Machine Learning Model For Predictive Analytics Using Azure Machine Learning Stuido

이 비디오에서는 머신 러닝 모델을 구축하는 방법을 보여 드리겠습니다 Azure Machine Learning Studio를 사용한 예측 분석 그리고 그렇게하기 위해 실리카 불순물의 비율을 예측하는 예를 사용 부유 공장의 철광석 농축 물

그래서이 데이터 세트를 다운로드했습니다 실제 플랜트 데이터 및 실험실 품질 테스트 결과 따라서 이 데이터 세트를 업로드 한 사용자, 두 번째 및 세 번째 열은 품질입니다 철광석이 공장에 공급되기 직전의 철광석 측정 8 열까지는 품질에 영향을 미치는 가장 중요한 변수입니다 광석 농축 물 나머지 열은 다음과 같은 프로세스 데이터입니다

기둥 내부의 수평 및 공기 흐름으로 인해 광석 품질에도 영향을 미칩니다 그리고 마지막 두 열은 품질에 대한 실험실 측정입니다 그래서 여기서 목표는 실리카의 백분율 인 마지막 열을 예측하는 것입니다 철광석 농축 물 제가하려고하는 것은이 CSV 파일을 업로드하는 것입니다 Azure Machine Learning 스튜디오에 이를 위해 Azure Machine으로갑니다

Learning Studio 웹 사이트를 방문한 다음 로그인합니다 자, 가장 먼저해야 할 일은 내 데이터 세트를 가져 오는 것입니다 새로 만들기, 데이터 세트를 클릭 한 다음 로컬 파일에서 업로드합니다 그럼 내가 할게 내 데이터 세트를로드 한 다음 확인을 클릭합니다 자 이제 나는 새로운 실험을 만들 것이다

새로 만들기, 실험에 이어 빈 템플릿을 선택하겠습니다 좋아, 그래서 새로운 것을 만들 때 실험 내 기계 학습 및 데이터가있는이 새로운 웹 페이지를 얻습니다 여기 왼쪽에있는 탐색 도구와 오른쪽에있는 탐색 도구가 있습니다 속성 창 실험 이름을 드리겠습니다

알았어 그래서 이제 여기에있는 데이터 세트로 이동 한 다음이 데이터 세트를 드래그하여 캔버스에 올렸습니다 그런 다음 내 데이터 세트의 내용을 시각화 여기에서이 원을 클릭하고 시각화를 선택할 수 있습니다 그래서 당신은 이것들을 볼 수 있습니다 데이터 세트의 내용이며 여기에서이 열을 예측하려고합니다 과 여기에서 데이터 세트의 행 수를 볼 수 있습니다 자 이제 훈련하세요 이 모델에서는이 데이터 세트의 모든 열을 사용하지 않겠습니다

몇 개의 열을 선택하십시오 이를 위해 데이터 변환으로 이동 한 다음 여기에서 조작 할 수있는 모듈을 선택하겠습니다 데이터 세트의 열 그런 다음 데이터 세트를 열에 연결합니다 selector를 클릭 한 다음 여기에 속성 창에서 열 선택기를 시작합니다 날짜를 남기고 2 열에서 8 열을 선택하겠습니다 컬럼 4 5 6 & 7의 기류를 선택하십시오 1 열부터 7 열까지의 레벨을 선택한 다음 물론 예측하고자하는 열을 포함하겠습니다

좋아, 그럼 움직일 게 선택한 열에이 열이 표시됩니다 권리 그런 다음 확인을 클릭합니다 이제 다음으로해야 할 일은 내가 좋아할 머신 러닝 알고리즘을 선택하십시오 불순물 예측 이제 백분율은 카테고리 I가 아닌 숫자이기 때문에 이 문제는 분류 문제가 아니라 회귀로 간주되므로 기계 학습, 모델 초기화, 회귀 및 여기에서 의사 결정 숲 회귀 알고리즘

이제 저는 전문 데이터 과학자가 아닙니다 이 특정 회귀 모델을 선택할 구체적인 근거가 없으므로 데이터 과학자이거나 데이터 과학과 함께 일한 경우 알려주세요 의견 에서이 모델을 훈련시키는 가장 좋은 알고리즘은 무엇 이었습니까? 괜찮아 다음으로해야 할 일은 훈련에 80 %를 사용하도록 데이터를 분할하는 것입니다 이를 위해 분할 데이터 모듈을 사용하겠습니다 그런 다음 구성하겠습니다 데이터의 80 %를 왼쪽 출력으로 전송 한 다음 출력을 연결합니다 열 선택기에서 내 데이터 스플리터의 입력으로 자 이제 우리는 모델을 훈련 시켜서 기차 모듈을 검색하겠습니다

이제 우리는 이 모델을 훈련시키기 위해 데이터 세트의 80 %를 사용하고 있습니다이 왼쪽 출력을 연결하겠습니다 열차 모델의 입력에 연결 한 다음 기계 학습을 연결하겠습니다 열차 모델의 다른 입력에 대한 알고리즘 그리고 우리는 우리가 예측하고자하는 컬럼은 실리카 비율이라는 트레이너 집중해서 트레이너의 컬럼 선택기를 시작하겠습니다 그리고 여기에 예측하려는 열을 선택한 다음 확인을 클릭합니다 그리고 이제 훈련 후 모델이 어떻게 수행되었는지 확인하고 그 점수 모듈

점수 모델을 캔버스로 드래그합니다 이 모델이 불순물 수준을 예측할 수 있는지 테스트하기 위해 20 %를 사용합니다 아직 보지 못한 데이터 세트 섹션에 대해 20 %를 연결하겠습니다 점수 모델의 입력과 다른 트레이너의 출력에 입력 그리고 우리가 시각화하기 위해 평가 모델이 필요합니다 실적 측정 항목을 사용하여 점수 모델의 출력을 평가 모델의 입력

좋아, 그게 내가해야 할 전부 야 저장하겠습니다 그런 다음 실행을 클릭하여 모델 교육을 시작합니다 좋아, 그래서 훈련 내 모델이 완성되었습니다 이제 모델의 성능 메트릭을 보려면 평가 모델의 출력을 마우스 오른쪽 버튼으로 클릭하고 시각화를 선택하십시오 좋아 하나 여기서 눈에 띄는 것은 결정 계수입니다 모형의 예측 검정력을 0과 1 사이의 값으로 나타냅니다

모형은 아무것도 설명하지 않으며 1은 완벽하게 적합 함을 의미합니다 보시다시피 우리는 074을 얻었습니다 불순물의 수준을 예측하는 데 매우 좋습니다 그리고 여기에 나는 음수 로그 가능성에 대해 엄청나게 높은 숫자, 그리고 실제로 설명 할 수없는 평균 절대 오차, 따라서 데이터 과학자라면 당신은 우리에게 그것을 설명하고 싶을 수도 있습니다

이제 다음 단계는 게시하는 것입니다 이 모델은 웹 서비스이며 웹 서비스를 설정하기 위해 여기로갑니다 권장 옵션을 선택하십시오 이제 웹 서비스를 게시하면 그런 다음 모델 및 모델에 실시간 프로세스 변수를 보낼 수 있습니다 불순물 비율의 예측에 응답하고 예측에 대해 얼마나 확실한지 백분율로 보내십시오

여기에 웹 서비스 입력을 점수 모델에 연결 한 다음 모델이 실리카 농축 비율을 예측하는 법을 배워서 열에서 제거하십시오 알았 으면 저장하고 실행하겠습니다 그런 다음 웹 서비스를 배포하십시오 자, 이것이 내가 사용할 인터페이스입니다 모든 장치, 컴퓨터 또는 컴퓨터에서 기계 학습 모델과 통신 소프트웨어 조각 따라서이 인터페이스를 사용하여 모델을 수동으로 테스트 할 수 있습니다 공정 변수에 대한 데이터를 입력합니다

요청 / 응답으로 이동하면 여기에서이 인터페이스를 사용하면 플랜트의 PLC 또는 HTTP를 사용하는 에지 게이트웨이의 머신 러닝 모델 실험 계획안 게시 요청을 보낼 수 있습니다 여기 내려 가면 샘플 코드가 있습니다 C #, Python 및 R의 경우 올바르게 사용할 수 있습니다 클라우드에서 머신 러닝 모델과 대화 할 수 있습니다

당신의 의견을 듣고 싶습니다 시청 해 주셔서 감사합니다 아래 댓글 섹션에 대한 의견

Coding Challenge #147: Chrome Dinosaur Game (with Speech Commands machine learning model!)

(낙관적 인 피아노 음악) – 아! 자, 안녕하세요 코딩상의 문제에 오신 것을 환영합니다

구글 크롬 공룡 게임 에디션 불행히도 나는 기차 열차에 휘파람을 불지 않는다 나는 오늘 나와 함께 가져 오지 않았다 그래서 이것은 확실히 잘되지 않을 것입니다 코딩상의 어려움이 잘 풀리지는 않지만, 하지만 이걸 시험해 볼거야

나는 빨리 프로그램하려고 노력할거야 구글 크롬 공룡 게임 나는 내 자신의 이미지와 물건을 사용할거야 물론 유니콘 게임이 될 것입니다 나는 p5

js, JavaScript 라이브러리 p5js, 나는 그것과 독특한 방식으로 상호 작용할 것입니다 당신은 비디오의 마지막을 고수해야합니다 내가 지금 너에게 말할거야 내 목소리로 제어하려고 노력할거야

(웃음) 좋아요, 끝까지 건너 뜁니다 아마 내가 거기에서 할거예요 좋아, 이제 시작하겠습니다 시작하겠습니다 그래서, 내가 무엇을해야합니까? 그래서, 먼저 내가 만들거야, 내가 추가 할거야, 나는 p5 웹 편집기에서 파일을 추가 할 것입니다

내가 dino라고 부를거야 js, 비록 그렇지는 않지만, 아니, 유니콘이라고 부르 자 유니콘 js 그게 내 유니콘이 될거야

그리고 내가 무엇을 필요로합니까? 나는 또한 가지고있을 필요가있다, 그들은 선인장 thingies 같이이다, 그 사람들이 기차가 될거에요 trainjs, 파일 추가 먼저 Unicorn 클래스 인 유니콘을 작성해 봅시다 그래서 저는 객체 지향 프로그래밍을 사용할 것입니다

왜냐하면, 너도 알다시피, 나는 그런데, 나는 Flappy Bird와 똑같습니다 그래서 저는 정말로하고 있습니다 다시 똑같은 일이 벌어 지지만, 뭐든간에 이것은 초보자에게 좋은 친절한 도전입니다 어쩌면 객체 지향 프로그래밍을 사용하여 조금 지나치다

하지만 유니콘을 줄자 50 및 ay 위치의 x 위치, 그것은 높이가 될 것입니다 왜냐하면 앉아 있기 때문입니다 창문 맨 아래에 있지만 어쩌면 내가 말할거야, 신장에서 마이너스 50, 그런 다음 show라는 함수를 만들겠습니다 그리고 그걸 그릴거야

나는 그걸 그릴거야 바로 thisx에서 thisy라는 직사각형으로, 나는 그것을 50, 50으로 만들 것이다 그래서 이것은 유니콘 클래스입니다

Unicorn 객체는 x와 ay를 가지며, 그리고 그것을 그리면 직사각형입니다 x와 y의 높이가 50이고, 그것들은 결국 변수가 될 필요가 있습니다 그래서 유니콘이라는 변수를 만들어 보겠습니다 유니콘이 새로운 유니콘이라고 말할거야 내가 여기서 말할거야, 유니콘

쇼 그리고 이걸 실행 해 봅시다 오, 알았어 그래서 물론, 나는 항상 잊어 버린 것을 잊어 버렸습니다 그것은 새로운 JavaScript 파일을 추가 한 것입니다

HTML로 그들을 참조해야합니다 유니콘, 다른 건 뭐라고 했지? 기차 알았어, 그건 유니콘이야 내가 원하는 건, 잠깐, 그 게임을 다시하게 해줘 어떻게 작동합니까? 그냥 앉아 있기 때문에 매번 스페이스 바를 누르면 점프합니다

자, 먼저 해보 죠 먼저 해보자 좋아, 그래서 뛰어 내려면 무엇이 필요한거야? 그것은 속도, y 축을 따라 속도, 그래서 이것을 vy라고 부르 자 그리고 그것이 0이라고 말할 것이다 그리고 점프 (jump)라는 함수를 작성합니다

우리는 일종의 즉각적인 힘을 줄 것입니다 그래서 우리는 그것을 밀어 올릴거야 그래서 저는 이것을 말할 것입니다 동등 함, 음수 5라고합시다 그것은 그것을 움직이고 있습니다

그리고 나서 move라는 함수를 작성하려고합니다 이걸 말하네 y + = thisvy 이제 우리가보아야 할 것은, 내가 unicorn

move라고 말하면, 내가 추가하면 function keyPressed를 호출하고 키가 스페이스 바인지, 유니콘 Jump, 이건 기본적으로 지금까지 Flappy Bird와 동일하지만, 그러면 우리는 그 속도가 시작되는 것을보아야합니다 그래서 저는 항상 그것을 움직이고 있습니다 그 속도가 무엇이든, 속도가 0이면 속도는 0입니다 그러나 내가 점프를하자마자, 그것은 속도를 설정한다

마이너스 5가되면 우리는 그것이 위로 움직이는 것을보아야한다 좋아, 여기에 우리가 간다 여기를 따라 가면, 나는 우주 공간을 누를거야 우리가 간다 아! 안녕, 유니콘, 나중에 보자! 좋아, 그래서 우리는 중력이 필요해

그래서 우리는 어떤 형태의 중력이 필요합니다 이것은 아마도 전역 변수로서 의미가 있습니다 하지만 중력 때문에 정말 유니콘에만 영향을 미칠거야 나는 그것을 여기 넣을거야 0

5라고 가정 해 봅시다 그래서 중력은 어떤면에서는 중립적 인 힘입니다 그래서 그것이 무엇을 하든지 관계없이 중력은 항상 있습니다 유니콘의 속도 조절, 기본적으로 가속 그래서 내가 지금 할 수있는 것, 움직이는 것, 그렇습니다

vy + = thisgravity, 그러나, 나는 이제 떠나고 싶지 않다 왜냐하면 이제는 사라져 버렸기 때문이다 나는 유니콘을 못 가게하고 싶다 바닥에서 떨어진다

기본적으로 바닥 수준이 있어야합니다 그래서, 나는 그것을 할거야, 말하자 그래서 이것을 50 사이즈로합시다 r = 50이라고 가정 해 봅시다 그래서 우리는 다음과 같은 용도로 사용할 것입니다

우리가 그린 모든 부분에 대해 그리고 나서 저는 또한 말할 것입니다, 나는 제약이있을거야 그래서 저는 이것을 말할 것입니다 0과 실제 사이의 현재 y 값 바닥에 앉아있는 곳, 높이도 -이 그래서, 거기에 붙어 있고, 지금 내가 누르면, 똥, 언론 공간, 당신은 그것이 점프 볼 수 있습니다

자, 그건 아주 조금씩 점프입니다 우리는 훨씬 더 뛰어 넘을 수 있어야합니다 그래서 이것을 25로 설정하고 어떤 일이 일어나는지 보겠습니다 좋아, 너무 심하다 그냥 10으로 설정합시다

어쩌면 나는 중력을 더 강하게 만들 필요가있다 그래서 이것에 대한 많은 조정이있을 것입니다 하지만 그냥 해보 죠 이것을 25로 설정합시다 죄송합니다

어쩌면 중력을 2로 설정합시다 우리가 간다, 이것은 조금 더 느낀다 공룡 게임처럼 그래서, 이것은 슬프다 우리 유니콘을 조금 더 재미있게 보이게합시다

이미지를로드 해 봅시다 그래서 여기 바탕 화면에 이미지가 있습니다 나는 배경을 가지고있을 것이다 게임의 배경 나는 유니콘을 가지고있다

이것은 약간의 캐릭터가 될 것입니다 화가 등호에 앉아 그리고 기차가 그 일이 될거야 그것은 뛰어 넘어야한다 그럼, 여기, 내가 뭘 할거야

나는이 파일들을 추가 할거야 내가 파일을 추가 할거야 웹 에디터로 끌어다 놓을 것입니다 그것은 그들 모두를 업로드했습니다 그리고 나서, 여기에 미리 하중을 추가 할 것입니다

그리고 나는 세상에 내버려 둬야 겠어 세상에, 내버려둬 그리고, 그리고 그것들 모두를로드합시다 uImg = loadImage unicornpng, 우리는 똑같이 할 것입니다

학생과 학생의 경우 이것은 기차이며 이것은 배경입니다 배경을 바꿔 보겠습니다 오, 내가 뭘 잘못 생각하니? 배경은 실제로 jpg입니다 자, 이제 배경 지식을 갖자고하자

우리가 간다 유니콘을 갖자 어디 있니? 나는 이미지를 말할거야, 세상에, 우리가 간다 오, 너무 작아! 그리고 그것은 모두 pixelated, 너무 슬픈! 이것을 150으로 바꾸자 그것의 x 값은 없어야합니다, 여기 있어야합니다

우리는 점프 유니콘을 가지고 있습니다 이것은 작업 할 많은 스크린 공간이 아니며, 그래서 실제로 배경 이미지를로드하게하겠습니다 800 픽셀 너비입니다 조금 더 생각할 것입니다 나는 600보다 조금 나아질 것이라고 생각한다

알았어, 유니콘이 뛰어 내릴거야 배경을 좀 더 넓게 만들었습니다 그것은 지금 나는 뛰어 넘기 위해 장애물이 필요하다는 것을 의미한다 그것들은 거의 기차가없는 것들이 될 것입니다 그래서 나는 다른 반을 만들어서 기차라고 부를거야

추추 그에게 생성자를 줄거야 이것들은 x와 y도 가질 것입니다 그래서 x가 될 것입니다, 그것은 가장자리에서 시작할 것입니다, 그리고 y는 사실 하단에도 있습니다 그래서, 높이 마이너스, 나는 그것을 줄 것이다

그리고이 r는 100이 될 것이고, 이제는 쇼 기능이 필요합니다 그리고, 나는 이미지로 그릴거야 (웃음) 내 손가락이 엉뚱한 곳에있다 x와 y에서 열차 이미지, this

r, thisr 그리고 move 함수를 추가하자 우리는 이것을 말할 것입니다 x – =, 그래서, 기차, 그래서 이것은 이상한 일입니다 오,이게 문제가 될거야

(웃음) 고정 된 배경으로 인해 시각적으로 문제가 될 수 있습니다 채팅중인 사람들이 말하고 있습니다 paralaxed 배경, 제발 좋아, 그럼 내가 그걸 알게 될거야 이것은 더 긴 비디오가 될 것입니다

만약 내가 그것을 구현하지만, 정말로, 유니콘이 움직이고있어 유니콘이 움직이고있다 그러나 x는 고정 된 상태로 유지됩니다 기차는, 음, 기차가 움직일 수 있습니다 그들이 기차라면 그건 이상 하네 하지만 그들은 선인장, 선인장이되어야합니다

그들은 여전히 ​​서있고 유니콘은 그냥 접근하고 있지만, 우리는 그것을보고 있습니다 유니콘의 관점에서 이봐, 난 이걸 정말로 망 쳤어 하지만 내가 할 일은 그들을 옮기는거야 전체 장면이 3 픽셀 씩 스크롤되고, 우리가 할 수 있다면 우리가 알아낼거야

어쩌면 나중에 배경을 paralax paralax는 무엇을 의미합니까? 배경이 변경되는 것처럼 보이게하려면, 멀리 떨어져있어, 일종의 다른 속도로 움직입니다 하지만 지금은 그냥 해보 죠 기차라는 배열을 만들자 우리는 설정에서, 사실 우리가 뭘할지 알아? 무승부로, 우리는 단지 무작위로 갈거야

우리는 난수를 고를거야 0과 1 사이에서, 우리는 말하자면, 1 %의 시간, 우리는 말할 것입니다 열차 push, 우리는 새로운 기차를 추가 할거야, 그래서 불규칙해질거야 이것은 제가 만든 Flappy Bird와는 다릅니다 내가 생각하기에 파이프가 어쩌면 불규칙한지도 모르겠다

나는 파이프가 일정한 간격을 유지하고 있다고 생각한다 이제 새로운 열차를 추가 할 임의의 기회가 있습니다 그 다음에 존재하는 모든 열차, 우리는 모든 열차에 대해 말할거야, 나는 기차에서 t 만 말할거야 나는 tmove, t

show라고 말할거야 좋아, 어떻게되는지 보자 우리 기차가 있니? 어쩌면 내가 그것을 더 늘리는 것이 좋을지도 모른다 우리가 간다, 오, 저것 좀 봐 좋아, 그들은 움직이고있어

그들은 다소 느립니다 나는 그걸 뛰어 넘을거야, 알았어, 알았어 (웃음) 그들을 조금 더 빨리 움직이자 우리가해야 할 일들이 있습니다 우와, 이거야, 오,이게 좋은 방법이야

오 ~ 유니콘이 날 수있어 그래서 사실을 고쳐야합니다 내 유니콘이 날지 못하게해야 해, 그렇지? 그것은 내가 바닥면 뛰어 내릴 수 있어야합니다 그러니 그걸 수정합시다 그래서, 유니콘에 들어가야합니다

점프 기능에서, 나는 점프하는 것이 허용 되어야만한다 내가 바닥에 앉아 있으면 즉, y가 y이면, 오 잘, 내가 바닥에 있다면, y가 같은 한, 이게 진짜로 효과가 있니? 나는 동등한 수표를 사용하는 것을 좋아하지 않는다 그러나 이것은 정의상 바닥에 앉아 있습니다 그래서 내가 바닥에 앉아있을 때만 나는 뛰어 넘을 수있다

그래서 y가 그 자리와 같다면 그게 효과가 있는지 봅시다 그럼 점프하고, 어서, 뛰어 오이

y 가자, 기차 오, 그래, 내가 바닥에있을 때만 나는 뛰어 내릴 수있어 좋아요, 그렇게 작동합니다 그래서 고쳐졌습니다

나는 꽤 많이 뛰어 올 필요가 있다고 생각한다 35을 시도해 봅시다 슬라이더 같은 것을 사용해야합니다 우리가 간다, 나는 이것이 게임을 만들 것이라고 생각한다 더이기는 것이 가능하다

기차가 너무 많아 기차가 너무 많아! 나를 괴롭히는 한가지는 기차가 유니콘 앞에서 가고 있어요 나는 그것이 정말로 그렇게 중요하지 않다는 것을 안다 그것은 중요하지 않습니다 그러나 나는 그들보다 뒤에있는 것을 선호한다 그래서 여기서 옮길거야

나는 또한 게임을 좀 더 쉽게 연주 할 것입니다 전 열차 수를 ​​줄 이겠습니다 그래서 확률이 훨씬 낮아질거야 거기에 기차가있다 내가이 게임을 실제로 할 수 있는지 보자

다소 성공적으로, 비록 내가하고 있지는 않지만 아직 충돌 검사 (웃음) 아니! 기차가 더 빨리 움직인다면, 그것은 실제로 그것을 더 쉽게 만들 것이고, 실제로 기차의 속도를 두 배로하십시오 좋아,이게이 게임 같아 이제 재생할 수 있습니다 하지만 충돌 감지 기능을 추가해야합니다

그래서 전에 해봤 어 다른 코딩 과제도 많이 있습니다 꽤 간단한 알고리즘이 있습니다 두 개의 사각형이 있는지 확인하기 서로 교차하거나 교차하지 않습니다

나는 그들의 x와 y를 검사 할 수있다 기본적으로 모든 가장자리, 왼쪽, 오른쪽, 서로에 대항하여 상부, 하부, 그러나 이것은 좋은 기회이다 내가 도서관을 탐험하기 위해서 그게 세상에있어 이 라이브러리는 p5collide2D라고하며, 실제로 그 안에 기능이 있습니다

collideRectRect라고 불리며 나에게 줄거야 내가 그것을 주면 부울 변수 1 개의 구형의 x, y, 폭, 높이 및 다른 직사각형의 x, y, 폭, 높이 실제로이 라이브러리를 사용합시다 이것은 나에게 당신을 보여주기위한 좋은 변명이기도합니다 그 GitHub가 이제 통합되었습니다

jsDelivr이라는 것이 있습니다 이것은 오픈 소스 콘텐츠 전달 네트워크입니다 즉, JavaScript 파일이 GitHub에서 호스팅되는 경우, 나는 그 파일을 다운로드 할 필요가 없다 그런 다음 내 프로젝트에 추가하십시오 나는 단지 그것에 링크 할 수있다

그래서 나는 여기 GitHub로 갈거야 여기에는 여러 가지 방법이 있습니다 GitHub에서 파일을 참조 할 수 있습니다 나는 지금 내가하고있는 일을위한 가장 쉬운 방법이라고 생각한다 그냥 경로를 참조하는 것입니다

여기에 예제 경로가 있습니다 그래서 저는 여기에 indexhtml로 갈 것입니다 다른 스크립트 태그를 추가 할 것입니다 스크립트 src가 같다고 말하고, 나는 그걸 붙여 넣을거야, 가까운 대본, 그러나 이것은 내가 원하는 길이 아닙니다

나는 BMOREN 인 사용자 이름을 원한다 그리고 나는 그 길을 원한다 라이브러리의 축소판을 가져와 봅시다 그리고 그것은 바로 이것 일 것입니다 바로 루트 디렉토리에 있습니다

이제는 그 파일을 참조하고 있습니다 그게 효과가 있는지 봅시다 실제로는 올바르지 않습니다 나는 cdn URL, 사용자 이름, 그러나 나는 또한 repo 이름을 필요로한다 그래서 그 p5

collide2D 슬래시해야합니다, 이제는 잘 될거야, 알았어 나는 충돌 함수를 사용할 수 있어야한다 그래서 나는이 collideRectRect를 사용할 것입니다 내가 이걸 무승부로 불러서 그게 효과가 있는지 알아 보자 우리에게 오류를주지 않습니다

좋아요, 오류가 없습니다 그리고 이제는 확인할 수 있습니다 모든 기차는 유니콘이 t를 치면, consolelog 게임 끝났어, 알았어 그래서, console

log 게임은 끝났어 실제로 루프가 없다고 말할거야 그래서 나는 스케치를 실제로 막을거야 스케치를 완전히 닫고, 정말 사려 깊지 않은 사용자 경험 디자인 선택, 하지만 지금 당장해야 할 일이야 그리고 나서 여기에 함수를 추가하면됩니다

히트 (히트)라고 불리며, 열차를 받는다 나는이 기능을 사용할 수 있다고 말할 수있다 내가 필요한 thisx, thisy, this

r, thisr, 그리고 나서 나는 똑같은 것을 필요로한다 그러나 그 특별한 기차로 그래서, 대신이 직사각형을 검사하고 있습니다 이 열차의 직사각형으로, 이것을 collide라는 변수에 넣을 것입니다

내가 그걸 돌려 주겠다고 말할거야 실은, 너, 내가 이걸 돌려 줄 뿐이야 그것을 반환하므로 true 또는 false 결과를 반환하십시오 이 라이브러리의 충돌 함수를 이제 게임을 실행 해 봅시다 우리는 첫 열차를 기다릴 것입니다

게임 끝! 내가 지금 그것을 할 수 있는지 보자 오, 옛날에는 너무 많은 열차가있었습니다 오, 쏴! 기차를 조금 더 작게 만들어 봅시다 그리고 실제로, 유니콘을 더 작게 만들어 봅시다 잘하면이 도움이됩니다

(웃음) 좋아, 그려 보자, 조금만 디버그하자 상자를 아주 미묘하게 그려서 그래서 아주 작은 사각형을 그려 봅시다 이것이 우리가 실제로 확인하는 것입니다 우리가 간다, 우 – 후! 전체 상자를 보는 데 도움이됩니다

가자, 기차 마우스 클릭으로 열차를 산란하는 것이 좋습니다 좋아, 우리는 길을 잃었다 좋아, 그럼 분명히있어 많은 게임 플레이 개선 여기서 일어날 필요가 있습니다

하나는 내가 더 사려 깊을 수있다 여기 어떻게 낭비되는 공간이 있는지 볼 수 있습니다 이미지와 실제 직사각형을 자르겠습니다 조금 작아 나는 원을 사용할 것을 고려할 수 있었다

더 복잡한 모양을 사용할 수 있습니다 그러나 이것은 지금 당장은 충분합니다 실제로 해보자 알다시피, 마우스를 클릭해도됩니다 기차를 시작하기 위해, 실제로 도움이 될지도 모릅니다

그러나 나는 이것을 논평하게한다 그리고 나가하고 싶은 것은, 나가 가기 바로 전에, 내가 끝내기 전에 네가 할거야 점수가있는이 버전 모든 종류의 더 좋은 것들과 소리들, 그러나 나는 이것을 끝내야한다, 나는이 비디오를 끝내야한다 나는 내 목소리로 기차를 제어하고 싶다 그래서 그렇게하기 위해 ml5

js를 할 것입니다 음성 명령 기계 학습 모델을 갖는 이 JavaScript 라이브러리에 내장되어 있습니다 그래서, 나는 완전히 별개의 비디오를 만들었다 이 특별한 예비 전차 모델과 그것이 작동하는 방법에 대해, 그래서 저는이 비디오에 꽤 빨리 추가 할 것입니다 자세한 내용은 다른 하나를 시청할 수 있습니다

그러나 당신이 문서를 찾고 있다면, 내가 reference를 클릭하고 soundClassifier로 간다면, 이것이 제가하고있는 일입니다 그래서, 내가하고있는 모든 일, 내가해야 할 일은, 음, 사실, 내가해야 할 한가지 나는 시작하기 위해 갈 필요가있다 스크립트 태그를 가져와야합니다 라이브러리를 참조 할 수 있어야합니다 그래서 ml5 라이브러리를 추가하고 싶습니다

그래서 이것을 복사하고 있습니다 여기에 indexhtml로 갈거야 p5collide2D 외에도 ml5를 추가하고 있습니다

그리고 나는 여기로 갈거야 그리고 나는 예감하면서, 나는 소리를 들려 줄거야 정리 자, 나는 변수를 만들거야 예고없이, 나는 soundClassifier라고 말할거야 ml5

soundClassifier와 동일합니다 내가로드하는 모델을 SpeechCommands18w라고합니다 이 모델은 훈련 된 모델이기 때문에 18 개의 특정 단어를 인식하려면, 0에서 9까지의 숫자, 위, 아래, 왼쪽, 오른쪽, 그리고 몇 가지 다른 것들 이 ml5 웹 페이지에 문서화되어 있습니다 그걸 진짜 빨리 보자 그래서, 내가 soundClassifier로 돌아 가면, up, down, left, right, go, stop, 예, 아니오

그래서, 그것들은 인식 할 수있는 훈련을받은 단어입니다 그리고 나는 실제로 또한 얻고 싶다 이게 아마 임계점 이니까, 여기에 이걸 더할거야 왜냐하면 나는 그것이 내가 점프를 말하고 있다는 것을 정말로 확신하기를 원하기 때문에, 그래서 나는 이것을 만들거야 95 이것은 95 % 확실하다는 것을 의미합니다

오는 신뢰도 그 특정 모델로부터 어떻게 그 모델이 훈련되었는지, 당신이 읽을 수있는 종이가 있습니다 다른 비디오에서는 더 많이 이야기합니다 좋아, 이제 내가 그걸 가지고있다 설정에서 soundClassifierclassify라고 말할 수 있습니다

그런 다음 기능을 얻을 수 있습니다 나는 단지 그것을 워드라고 부르겠다 그래서 단어가있다 gotCommand, gotCommand라고 부르 자 콜백 함수입니다

그것은 명령을받을 때마다 트리거 할 것입니다 먼저 오류가 발생하고 오류 콜백이 발생하고, 그 다음 결과 그래서, 오류, 콘솔, 나 콘솔 만 할거야 오류를보고해라 그렇지 않으면 결과 색인이 0 일 것입니다

따라서 결과는 라벨과 신뢰도 점수가있는 배열이며, 라벨은 단어이고, 그리고 내가 찾고있는 단어는 위로이다 해당 레이블이 있으면 unicornjump 그래서 이것은 정말 빠른 방법입니다 특정 키워드를 찾는 저의 그 도서관에서 나는 또한 콘솔 만 할거야

로그 결과 [0] 라벨, 나는 다른 단어들도 또한 얻고 있는지를보기 위해서입니다 그리고 신뢰 지수를 기록 할 수도 있습니다 우리는 그것을 볼 수 있습니다 디버깅에도 좋을 것입니다

이제 나는이 두 가지를 기록했습니다 이 스케치를 실행할거야 쪽으로! (웃음) 쪽으로! 쪽으로! (웃음) 사격! 그러나 당신은 볼 수있다, 그것은 95 %를 얻었다 마우스를 클릭하는 부분을 추가 할 것입니다 나는 나 자신에게 기차를 줄 수있다

그리고 사실, 무작위 열차를 주석 처리해 봅시다 또한, 나는 정말로 더 사려 깊어야한다 기차가 오면 내가 어떻게 골라야하는지 아마 그들 사이의 최소 거리가있을 것입니다 방금 방을 추가했다면 더 긴 기차를 쓸 수 있습니까? 다른 열차와도? 나는 여기서 무슨 일이 일어나는지 모른다

내러티브 결함이 많습니다 여기에 무슨 일이 일어나고 있는지, 하지만 나 혼자 하나 추가 할거야 쪽으로! (웃음) 쪽으로! 사격 좋아, 모두가 채팅에서 제안하고있다 나는 그것을 원으로 바꿔야한다고, 그래서 그것은 실제로 다소 둥근 것처럼 보일 것입니다, 가장자리를 따라 조금 흔들리는 방을 줄거야

교차로가 좀 더 자주 일어나지 않도록하십시오 실제로 그렇게하겠습니다 그래서, 나는 들어갈거야, 유일한 곳은 어디지? 이 충돌 탐지를하는 곳은 어디입니까? 안타 unicorn 있음 그래서 이것을 collideCircleCircle로 바꿀 것입니다 collideCircleCircle 및 원을 원으로 타원 모드 중심을 가정하고, 내가 원을 생각해야 겠어

물체의 중심점으로, 그것은 큰 문제가 아닙니다 그래서, 내가 그렇게 할 수있는 방법, 별도의 변수를 만들어 보겠습니다 x1 = thisx + thisr * 0

5라고 가정 해 봅시다 그래서, 이것은 중간이 될 것입니다 이것은 가운데, 그리고 r 원의 직경입니다 그래서 괜찮습니다 그리고 이것은 y입니다

그리고 x2, y2가 열차입니다 Trainx, trainy, trainr, train

r 그리고 지금은 collideCircleCircle, x1, y1, 그리고 나서 x2, y2 문제는 실제로 r이 반지름인가? 아니면 직경입니까? 그것은 말하는가? CircleDiameter, circleDiameter, 그래서 나는 좋다 좋아, 그럼 이걸 시험해 보자 그리고 이것은 정말로 있어야합니다, 아, 이건 불행한 일이야

이것은 이제 타원이어야합니다 오, 내가 뭘 할 수 있는지 아니? 나는 ellipseMode CORNER라고 말할 수 있습니다 완벽 해, 그래서이 히트 서클을 그려 보자 기차 밑에서 같은 일을 해봅시다 타원이라고 말하면됩니다

이제 우리가보아야 할 것이고 여기에 우리가 가야합니다 그게 그럴거야 좋아, 여기에 우리가 간다! 아, 클릭해야합니다 오, 무슨 일이야? (딩기) 좋아, 나는 r을 두 번 통과 시켰어 이것은 매우 불필요합니다

당신은 반지름이 아닌 지름을 주면됩니다 나는 한 번 r에 전화하고있다 그리고 무슨 일이 일어나는지 보자 알았어 여기

우리가 간다 도약! 잠깐, 왜 내 브라우저가 정말 놀라 울까? 디버깅을 주석 처리합시다 우리는 지금 그걸 갈거야 우리는이 게임을 할거야 이 탭을 닫으십시오

Chrome을 종료합니다 우리는이 게임을하려고합니다! 오, 올라간다, 나는 뛰어 내리고있다 (웃음) 오, 일어나, 우리가 간다! 쪽으로! 쪽으로! 좋아, 준비 됐니? (낙관적 인 피아노 음악) 쪽으로! (웃음) 쪽으로! 어쩌면 음악을 사용할 수없는 것 같아 쪽으로! 쪽으로! 쪽으로! (웃음) 오! 좋아, 모두, 그래서이 코딩 도전을 끝내 이것에 추가해야 할 것들이 너무 많습니다

첫째로, 서사는 단지 의미가 없습니다 이 유니콘이 왜 아직도 서있는거야? 애니메이션이 없다면? 기차가오고 있어요 배경은 일종의 팔라 랙스 이동이어야합니다 그래서 아마도 그것은 뛰어 넘어야 할 것입니다 선인장을 써야 했어

그건 선인장의 복수예요, 그렇죠? 점수가 없으며 새들이 날아 다니지 않습니다 비행 별표를 추가 할 수 있습니다 내가 업로드 할 때, 나는이 비디오가 출판 될 때, 코드로, 나는 많은 것을 포함 할 것이다 코딩 기차 문자, Jason Heglund, Jason Heglund가 일러스트하고 디자인 한, 그래서 나는 그것들을 전부 포함 할거야 사람들이이 게임의 버전을 만들고 싶다면 우리 모두는 음성 명령으로 온라인으로 게임을 즐길 수 있습니다

내가 이것을 시도하자 이것 좀더 시험해보고 작별 인사를 할거야 네, Alka가 지적하고 있습니다 브라우저의 음성 인식 API 대기 시간이 더 짧지 만 한번 더 시도해보십시오 쪽으로! 쪽으로! 쪽으로! 쪽으로! 쪽으로! 쪽으로! 쪽으로! 오, 좋아, 안녕히 계세요! 고맙습니다

나중에 보게됩니다 미래의 코딩 도전에 (딩기) (낙관적 인 테크노 음악) (딩기)

Live Coding A Machine Learning Model from Scratch (Google I/O'19)

[음악 재생] SARA ROBINSON : 안녕하세요 컴퓨터 학습 모델 인 Live Coding에 오신 것을 환영합니다

기스로부터 내 이름은 사라 로빈슨이야 저는 Cloud Platform 팀에 대한 개발자 옹호자입니다 기계 학습에 중점을 둡니다 트위터 @SRobTweets에서 나를 찾을 수 있습니다

그리고 가장 최근에 SaraRobinsondev에서 내 블로그를 찾을 수 있습니다 그래서 우리가 오늘 다루어야 할 것들로 바로 들어가 봅시다 무엇에 대한 간단한 개요부터 시작하겠습니다 기계 학습은

그러면 우리가 만들 모델에 대해 이야기하겠습니다 마지막으로 라이브 코딩을 시작하겠습니다 그래서 높은 수준에서 기계 학습이란 무엇입니까? 나는이 정의를 정말로 좋아합니다 데이터를 사용하여 질문에 답합니다 여기서 아이디어는 점점 더 많은 데이터를 제공함에 따라 우리의 기계 학습 시스템에 예제를 개선하고 일반화 할 수 있어야한다

이전에 보지 못했던 그래서 우리는 거의 모든 감독 학습을 생각할 수 있습니다 문제 우리는 라벨 교육 훈련 자료를 가지고 있습니다 우리는 그것들을 우리의 모델에 넣고 우리의 모델은 예측을 출력합니다 자,이 훈련 입력은 실제로 아무것도 될 수 있습니다

그것은 영화 리뷰의 텍스트 일 ​​수 있습니다 우리의 모델은 정서 분석을 통해 우리에게 말해 줄 수 있습니다 이것은 긍정적 인 리뷰라는 것입니다 수치 적 또는 범주 적 적합성 데이터 일 수 있으며, 어쩌면 우리 모델이 수면의 질을 예측할 수도 있습니다 우리가 얻을거야

그것은 이미지 데이터 일 수 있습니다 따라서이 예에서 우리 모델은 예측하고 있습니다 이것이 고양이의 이미지라는 것 그래서이 모델 컨셉은 정말 마술처럼 보일 수 있습니다 하지만 실제로는 마술이 아닙니다

후드 아래에서 행렬 곱셈에 이르기까지 모두 종결됩니다 그래서 여러분 중 누군가가 y equals를 기억한다면 대수학 수업에서 mx plus b, 이것은 익숙하게 보일 것입니다 여기서 아이디어는 매트릭스로 기능을 사용한다는 것입니다 그것들은 당신의 의견입니다 네가 예측하려고하는 것을 가지고있어

그리고 여러분은이 무게와 편향 행렬을가집니다 그리고 이것들이 초기화되면 임의의 값으로 초기화됩니다 따라서 여기에있는 아이디어는 모델을 훈련 할 때, 이 무게와 편견에 대한 최적의 값을 찾을 수 있습니다 행렬을 사용하여 고정밀 도로 예측할 수 있습니다 그렇게 좋은 소리지만, 내가 보여준 모범을 생각해 보라

이전 슬라이드에서 – 아무도 매트릭스가 없었습니다 글쎄, 당신이 꽤 많이 표현할 수 있다는 것이 밝혀졌습니다 모든 유형의 데이터를 매트릭스로 사용합니다 이 이미지를 예로 들어 보겠습니다 모든 이미지는 실제로 픽셀 수입니다

그리고 이것은 컬러 이미지입니다 따라서 각 픽셀에는 빨강, 녹색 및 파랑 값이 있거나 RGB 값 이 이미지는 RGB 값의 세 행렬이됩니다 각 픽셀에 대해 카테고리 데이터가 있다고 가정 해 보겠습니다 따라서 데이터 세트의 특정 열에 대해서는, 그것은 사람이 일하는 산업을 묘사합니다

세 가지 가능한 값이 있습니다 카테고리 데이터를 인코딩하는 방법은 하나의 핫 인코딩이라고합니다 이렇게하려면 배열을 만듭니다 요소 수와 일치 당신이 가지고있는 카테고리의 수에 따라 -이 경우에는 3입니다 그리고 모든 값은 단일 1을 제외하고는 0입니다

그리고 그 1의 인덱스는 값과 일치합니다 그 범주의 그래서 어쩌면 너는 생각하고 있겠지, 그렇지 않니? 우리가 수치 적으로 이러한 건강 관리를 암호화한다면 더 쉬워 질 것입니다 1, 금융 2, 소매 3? 우리는 그 일을 할 수 있었지만, 우리의 모델 이것들을 연속적인 수치로 해석 할 것이다 따라서 소매업에 더 높은 비중을 부여 할 것입니다

소매업은 금융보다 큽니다 건강 관리보다 큽니다 그리고 우리 모델은 이러한 모든 입력을 똑같이 다루기를 바랍니다 이것이 우리가 핫 인코딩하는 이유입니다 그래서 우리가 어떻게 변형시킬 수 있는지 보여주었습니다

우리의 기계 학습 모델에 대한 우리의 데이터 이 이야기에서 나는 너와 나누고 싶다 ML 모델을 구축하는 데 도움이되는 Google 클라우드의 일부 도구 그리고 이것을 이것을 피라미드로 시각화하고 싶습니다 당신의 추상화 수준 행렬의 세부 사항으로 들어가고 싶다면 곱셈 및 모든 레이어 구축 우리가 오늘 할 일부터 당신의 모델을 처음부터, 너는 그걸 할 수있어

그러나 ML 전문가가 필요하지 않습니다 그래서 피라미드의 바닥에있는 도구들 데이터 과학자 및 ML 엔지니어를 대상으로합니다 그리고 우리가 맨 위로 이동하면 가지고 있지 않은 응용 프로그램 개발자를 목표로합니다 기계 학습 전문 기술 그래서이 이야기에서 우리는 건물을 짓게 될 것입니다

TensorFlow가있는 모델입니다 Cloud AI 플랫폼에 배포 할 예정입니다 여기에있는 아이디어는 모두 데이터 과학자와 ML로 전환시키는 것입니다 엔지니어 그래서 모델의 유형을 생각할 때 이것을 위해 빌드하고 싶었어

개발자들과 공감할만한 것을 선택하십시오 개발자로서 한 가지 도구가 있습니다 나는 내가 매일 사용한다고 생각할 수있다 스택 오버플로입니다 그래서 나는 텍스트 분류 모델을 만들고 싶었다

스택 오버플로의 태그를 예측할 수 있는지 확인합니다 의문 이를 위해서는 많은 데이터가 필요합니다 그리고 운 좋게도 공개 데이터 세트를 사용할 수 있습니다 Google의 빅 데이터 애널리틱스 인 Google Cloud BigQuery Google Cloud Platform의 창고 BigQuery에는 많은 흥미로운 대중 데이터가 있습니다

당신이 탐험하고 놀 수 있도록 설정합니다 그리고 그들은 Stack Overflow 질문 중 하나를 가지고 있으며, 스택 오버플로에 관한 몇 가지 질문은 없습니다 그것은 26 기가 바이트 이상 1700 만 행을 가지고 질문들 그래서 이것은 시작하기에 좋은 곳입니다 우리에게는 엄청난 시간이 없기 때문에, 나는 문제 공간을 단순화하고 싶었다

이 예에서 우리는 이 5 개의 태그가 관련된 질문을 분류하는 것 데이터 과학 및 기계 학습 그래서이 특별한 질문을 위해, 우리 모델 판다 (Pandas)로 분류해야합니다 데이터 과학을위한 파이썬 라이브러리입니다 첫 번째 단계는 BigQuery에서 데이터를 가져 오는 것입니다 BigQuery에는 멋진 웹 UI가있어 SQL을 직접 작성할 수 있습니다 브라우저에서 데이터를 가져온 다음 CSV로 다운로드하십시오

그것은 내가 한 일입니다 그래서 저는 제목과 제목을 추출합니다 그것들을 하나의 필드로 연결하고, 쉼표로 구분 된 태그 문자열을 얻습니다 그리고 나서이 다섯 개의 태그로만 질문을합니다 그래서이 쿼리를 실행했고 결과를 보았습니다

나는 뭔가를 알아 차렸다 많은 질문, 질문 포스터는 어떤 프레임 워크의 이름을 붙이기 편리합니다 그들은 매우 도움이되는 질문에서 사용하고 있습니다 하지만 그건 내 생각에 우리가 실제로 이것을 위해 기계 학습이 필요합니까? 우리는 전체 ML 시스템을 if 문으로 대체 할 수 있습니까? TensorFlow가 문제가된다면, 태그는 TensorFlow와 같습니다 대답은 '아니오

많은 질문 포스터가 이것을하기 때문에, 실제로 많은 질문을 게시하는 사람들이 있습니다 좋은 질문이지만 코드에 바로 들어가기 만하면됩니다 그리고 그들은 프레임 워크 나 태그 이름을 언급하지 않을 수도 있습니다 그래서 우리는이 질문들도 포착하고 싶습니다 그리고 우리 모델이 그 신호를 받아들이 길 원치 않습니다

단어만으로 질문을 식별 할 수 있습니다 TensorFlow라는 단어가 TensorFlow라는 단어와 함께 나타납니다 우리는 패턴을 찾기 위해 일반화 할 수 있기를 원했습니다 이 태그들 중에서 그래서 내가 훈련을 사전 처리 할 때 데이터, 내가하고 싶었던 것은 꺼내는 것이었다

이 명백한 키워드 그래서 저는 그것들을 공통 단어로 대체 할 수 있다고 생각했습니다 그리고 모두가 아보카도를 사랑하기 때문에, 나는이 모든 단어를 대체했다 프레임 워크의 약어, 단어 아보카도와 따라서 BigQuery의 결과는 다음과 같습니다

우리는 우리의 질문이 있습니다 우리는 아보카도 예측 모델을 가지고 있습니다 우리는 아보카도 데이터 세트를 가지고 있습니다 사방에 많은 아보카도가 있습니다 그래서 내가 전에 말하지 않은 것은 자유 형식의 텍스트 데이터를 매트릭스로 인코딩하는 방법이었습니다

이렇게하기위한 두 가지 접근 방식이 있습니다 저는 단어 모음이라고 불리는 것을 사용하려고합니다 이것은 시작하기에 정말 간단합니다 따라서 모델에 대한 각 입력을 생각할 수 있습니다 스크래 블 타일의 가방으로 단어의 가방에, 반면에 각 타일에있는 편지 대신에, 너는 각 타일에 한 마디있다

따라서이 유형의 모델은 단어의 순서를 감지 할 수 없습니다 문장에서,하지만 그것은 존재 또는 부재를 감지 할 수있다 특정 단어들 이게 어떻게 작동하는지 보여주기 위해, 나는 너에게 보여주고 싶다 정말 간단한 예입니다

따라서이 예에서는 문제 공간을 더욱 제한 할 것입니다 to say 우리는 단지 질문에 태그를 달고 있습니다 세 가지 유형의 태그가 있습니다 그리고 단어 모델의 가방에는 어휘 (vocabulary)라는 개념이 있습니다 그래서 잠시 동안 척해라

처음으로 영어를 배우고, 당신은이 10 단어 만 알고 있습니다 그것이 우리 모델이 문제를 보는 방법입니다 재미있는 대화로 이어질 수도 있습니다 우리는이 10 단어 만 알고있는 척합니다 그래서 우리가이 입력 질문을 할 때, 데이터 프레임 막대 그래프, 우리는 우리의 어휘를보고, 우리는 말할 것입니다, 좋습니다

나는이 세 단어를 알아 낸다 그 질문의 나머지 단어들 모델에 횡설수설 할 것입니다 그리고 우리가 우리의 모든 질문을 모델에 적용 할 때, 우리는 그들을 매트릭스로 먹이고 싶다 같은 크기입니다 그래서 우리가하는 일은 우리의 질문이 배열이되는 것입니다

1과 0을 사용하는 어휘의 크기 우리 어휘의 어떤 단어가 있는지 나타냅니다 따라서 데이터 프레임이 어휘의 첫 번째 색인이기 때문에, 우리 배열의 첫번째 원소는 1이되고, 데이터 프레임이 우리 질문에서 첫 번째 단어가 아니더라도 그래프와 플롯도 마찬가지입니다 요약하면, 우리의 질문은 1과 0의 어휘 크기의 배열 멀티 핫 인코딩이라고합니다

그리고 우리의 예측은 -이 특별한 모델 때문에, 우리 모델은 다음과 같은 질문을 식별 할 수 있습니다 하나가 아닌 여러 태그 그래서 이것은 또한 멀티 핫 어레이가 될 것입니다 이제 우리 모델에 대한 텍스트 데이터를 인코딩하는 방법을 알았습니다 우리 모델은 실제로 어떻게 생겼습니까? 우리 모델의 입력 데이터는 그 어휘 크기의 단어 가방이 될거야

매트릭스 그런 다음 숨겨진 레이어라고 불리는 것에 피드를 공급합니다 그래서 이것은 깊은 신경 네트워크가 될 것입니다 입력 사이에 레이어가 있음을 의미합니다 및 출력 레이어

그래서이 어휘 크기의 배열을 사용할 것입니다 어떤 크기로든 크기를 조정할 수 있습니다 두 번째 레이어와 세 번째 레이어를 선택하십시오 이제 숨겨진 레이어의 출력 우리에게 너무 많은 것을 의미하지는 않습니다 우리 모델은 그것을 표현하기 위해 사용하고 있습니다

복잡한 관계지만, 우리가 정말로 신경 쓰는 것 최종 레이어의 출력입니다 계산 방법에 대한 많은 옵션이 있습니다 이 층의 출력 우리는 시그 모이 드 (Sigmoid)라는 것을 고를 것입니다 그리고 이것이 할 것은 0과 1 사이의 값을 반환 할 것입니다 확률에 해당하는 각 태그에 대해 해당 태그가이 질문과 관련되어 있음을 나타냅니다

그래서이 특별한 예를 들어, 질문이있는 것처럼 높은 확률을 보인다 Keras 또는 TensorFlow에 관한 정보 그렇다면이 도구를 만들기 위해 우리가 사용할 도구는 무엇입니까? BigQuery를 사용하여 데이터를 수집하는 방법을 이미 보여 줬습니다 CSV를 다운로드했습니다 우리는 세 가지 오픈 소스 프레임 워크를 사용할 것입니다

사전 처리 및 일부 변환 작업 수행 데이터를 올바른 형식으로 가져 오기 위해 우리는 Pandas, Scikit-learn 및 Keras를 사용할 것입니다 TensorFlow를 사용하여 모델을 구축하고, 특히 tfkeras 우리는 Colab에서 교육 및 평가를 실시 할 것입니다 Colab은 클라우드 호스팅 된 Python 노트북이며, 브라우저에서 실행할 수 있습니다

누구나 사용할 수있는 것은 전적으로 무료입니다 마지막으로 Cloud AI Platform에 모델을 배포합니다 제목에 라이브 코딩이 나와 있습니다 데모로 넘어 갑시다 데모로 전환 할 수 있습니까? 굉장해

여기 Colab 노트북이 있습니다 연결 됐어 다시 말하지만, 누구나 브라우저에서 Colab에 액세스 할 수 있습니다 Colabresearch

googlecom 보시다시피, 여기에는 코드가 없습니다 무엇이 잘못 될 수 있습니까? 그냥 한마디의 코멘트 그래서 나는 몇 가지 코드를 작성하기 시작할 것입니다

이 셀을 셀 단위로 실행합니다 그래서 제가 사용하려고하는 것은 Colab입니다 이 편리한 스 니펫 도구가 있습니다 그래서 저는이 노트북에 대한 두 조각을 저장했습니다 내가 여기서 내려올거야

그래서 첫 번째 것은 어쨌든 이것을 실행할 것입니다 런타임을 재설정해야했고 이제는 연결되었습니다 그래서 우리의 첫 번째 셀은 가져 오는 것입니다 우리가 사용할 모든 라이브러리 우리는 TensorFlow, Pandas, NumPy, 몇 가지 Scikit 학습 유틸리티 함수, Keras를 사용하여 모델을 구축했습니다

그래서 우리는 모든 수입품을 가지고 있습니다 실제로 저를 조금 더 크게 만들자 그래서 당신은 모두 볼 수 있습니다 다음으로 우리가하고 싶은 일은 인증입니다 자 간다

따라서 Colab에는 편리한 인증 기능이 있습니다 우리가 달릴 수있는 곳 그러면 URL이 팝업됩니다 클라우드 계정에 인증 할 수 있습니다 따라서 액세스를 허용하고이 코드를 복사 한 다음 붙여 넣습니다

이제 인증을 받았습니다 그리고 지금, 우리는 재미있는 것들을 얻을 것입니다 먼저 CSV를 다운로드하고 싶습니다 이제 인증을 받았으므로 이 모든 데이터를 Google Cloud Storage의 CSV에 저장했습니다 이것이 Google Cloud Platform의 객체 저장 도구입니다

그래서 CSV를 내 Colab 인스턴스에 다운로드 할 것입니다 그리고 나서 내가 할 일은 내가 이 CSV를 읽기 위해 팬더를 사용하려고합니다 그럼 여기서 읽어 보도록하겠습니다 그리고 이것은 우리의 데이터를 팬더 데이터 프레임 (Pandas Dataframe)이라고 불리는이 프레임 워크는 잠시 후에 볼 수 있습니다 우리가 할 다음 일은 우리는 데이터를 섞을 것입니다

그리고 이것은 기계 학습에서 정말로 중요한 개념입니다 귀하의 데이터가 어떤 순서로든 전에, 당신은 당신이 그것을 뒤섞 었는지 확인하기를 원합니다 그리고 Scikit-learn 셔플 기능을 사용하고 있습니다 Datahead를 통해 데이터를 미리 볼 수 있습니다

이것이 우리의 데이터가 어떻게 생겼는지입니다 우리는 쉼표로 구분 된 문자열로 태그를 가지고 있습니다 우리는 아보카도가 많은 질문 문안을 가지고 있습니다 이제, 우리는 현재의 형태로 이것을 우리 모델에 먹일 수 없습니다 그래서 우리는 인코딩을해야 할 것입니다

먼저 태그를 처리합니다 그래서 우리가하고 싶은 첫 번째 일은이 태그를 인코딩하는 것입니다 우리가 슬라이드에서 보았던 것처럼, 멀티 핫 다섯 요소 배열, 5 개의 가능한 태그가 있기 때문입니다 첫 번째 줄에서 내가 뭘하는지 나는 각 태그를 문자열 배열로 분할하고있다

그리고이 Scikit-learn 멀티 라벨을 사용하고 있습니다 이진화 함수 문자열의 모든 배열을 변환합니다 멀티 핫 어레이로 이것이 첫 번째 질문입니다 우리는 그것이 TensorFlow와 Keras에 관한 것이라는 것을 알 수 있습니다

Scikit에서 배울 수있는 참조 배열은 다음과 같습니다 우리를 위해 창조했습니다 그래서 우리의 의견은 이것이됩니다 우리는 레이블을 암호화했으며, 우리는 계속 나아갈 준비가되어 있습니다 질문에

그렇게하기 전에 데이터를 분할해야합니다 기계 학습의 또 다른 중요한 개념 기차 / 테스트 스플릿입니다 그래서 우리는 대부분의 데이터를 취합니다 우리는 모델을 훈련하는 데이 모델을 사용할 것입니다 이 경우 우리는 80 %를 할 것입니다

우리는 우리의 데이터 중 적은 부분을 우리가 할 수 있도록 테스트에 사용 결코 우리 모델이 어떻게 데이터를 처리하는지보십시오 전에 본 이 경우, 우리는 우리의 훈련 세트에 15 만 질문을 가지고 있습니다 우리의 테스트 세트에서는 37,000입니다 이제 레이블을 교육 및 테스트 세트로 분리 할 것입니다

테스트 태그와 인코딩 된 태그가 같다고 가정 해 보겠습니다 우리가 그걸 실행할거야 그래서 우리는 준비가되어있는 라벨을 준비했습니다 그리고 우리가하고 싶은 다음 일은 – 우리의 라벨 데이터는 바로 사용할 준비가되었습니다 이제 질문 데이터를 인코딩해야합니다

단어 행렬의 가방에 넣는다 그래서 저는 이것을하기 위해 수업을 작성했습니다 그걸 여기에 붙여 넣을거야 많이 진행되는 것처럼 보이지만 설명하겠습니다 여기서 일어나는 일은 우리가이 Keras를 사용하고 있다는 것입니다

Tokenizer 유틸리티 운 좋게도, 우리는 모든 코드를 할 필요가 없습니다 우리의 자유형 텍스트를 손으로 단어의 가방으로 변환하는 것 Keras는 우리를 위해이 유틸리티를 제공합니다 우리가하는 일은 우리의 어휘 크기에 합격하는 것입니다

그래서 내가 전에 보여 줬던 아주 간단한 예제에서, 우리는 어휘 크기가 10이었습니다 그러면 데이터 세트에서 상위 10 개 단어가 표시됩니다 이 데이터 세트가 훨씬 크기 때문에, 400의 vocab 크기를 선택했습니다 그래서 뭔가를 선택하고 싶습니다 너무 작아서 일반적인 단어 만 식별합니다

모든 질문에 대해 하지만 너는 또한 선택하기를 원하지 않는다 너의 단어 가방이 너무 커서 배열은 모두 1이됩니다 그래서 우리는 이것을 실행할 것입니다 그리고 이제 우리는 실제로 그 클래스를 사용할 것입니다 그래서 우리는 그것을 수입 할 것이고, 우리는 우리의 질문을 갈라 놓을 것입니다

기차와 시험 세트에 그래서 그렇게하겠습니다 지금은 아직 문자열이 있습니다 아직 인코딩하지 않았습니다 다음 단계는 vocab 크기를 인스턴스화하는 것입니다

변수는 400이 될 것입니다 이제는 실제로 텍스트를 토큰 화합니다 그래서 우리는 프로세서라는 변수를 생성 할 것입니다 그 텍스트 전처리 또는 클래스를 인스턴스화하고, 우리의 vocab 크기를 전달합니다 이제는 processor

create_tokenizer를 호출 할 수 있습니다 그것을 우리 기차 질문에 전달하십시오 바로이 방법입니다 그리고 마지막으로 마지막 부분은 실제로 단어 행렬의 가방 그래서 이것은 processor

transform_text와 같을 것이고, 그 방법 바로 거기 그리고 우리는 기차 질문을 전달할 것입니다 그런 다음 테스트 세트는 동일하게됩니다 우리가 여기서 정의한 테스트 문제를 가지고 그래서 나는 그것을 실행할 것입니다 실행하는 데 약간의 시간이 걸릴 것입니다

180,000 개의 질문을 모두 바꾸고 있습니다 텍스트에서 단어 모음 실행되는 동안 다른 셀을 계속 쓸 수 있습니다 이 작업이 완료되면 실행됩니다 그래서 제가하고 싶은 것은 길이 인쇄입니다

첫 번째 인스턴스의 그것은 400이어야합니다 그리고 나서 우리는 그 단어 행렬의 봉지를 기록 할 것입니다 당신이 그것을 볼 수 있도록 그리고 이제 우리는 모델을 구축하게됩니다 실행이 끝나면 다시 돌아올 것입니다

그래서 우리가하고 싶은 다음 일은 우리가 만든 그 토크 나이저를 저장하고 있습니다 모델을 배포 할 때 필요할 것이기 때문입니다 우리는 파이썬 유틸리티를 사용하고 있습니다 Pickle은 tokenizer 오브젝트를 파일에 저장합니다 이제 우리 모델을 만들 차례입니다

우리는 데이터를 변형 시켰습니다 Tokenizer를 저장했습니다 이제 코드를 작성하려고합니다 Keras를 사용하여 우리 모델에 나는 이것을 방법으로 포장 할 것이다

우리는 create_model이라고 부를 것이고, 우리의 어휘를 취할 것입니다 크기 및 태그 수 Keras 순차 모델 API를 사용하여 그 위의 내가 수입 이것은 모델을 구축하기위한 가장 좋은 API입니다 기본적으로 모델을 정의 할 수 있기 때문에 레이어의 스택으로 따라서 우리가 작성하려고하는 코드가 그 모델 다이어그램에 정말 잘 어울릴 것입니다 내가 방금 보여준 것

그래서이 셀이 달리는 것처럼 보입니다 그래서 우리는 이것이 단어 입력의 첫번째 봉지라는 것을 알 수 있습니다 첫 번째 질문 인이 1의 배열과 같습니다 및 0이다 그럼 우리 모델을 계속 만들어 보겠습니다

따라서 우리 모델의 첫 번째 레이어는 밀도가 높고 완전히 연결된 레이어가 될 것입니다 즉, 입력 레이어의 모든 뉴런 출력 레이어의 모든 뉴런에 연결됩니다 첫 번째 레이어에 무엇을 입력 모양이 될 것입니다 이 경우, 그것은 우리의 vocab 크기의 입력이 될 것입니다 400입니다

그리고 마침내, 우리는 Keras에게 말할 필요가 있습니다 이 레이어의 출력을 계산하는 방법 Keras의 가장 큰 장점은 이 정품 인증 기능이 어떻게 작동하는지 정확하게 알 필요가 없습니다 후드 우리는 사용할 올바른 정품 인증 기능을 알아야합니다

그래서이 경우 relu가 우리가 사용하게 될 것입니다 우리는 relu 활성화와 함께 하나 이상의 숨겨진 레이어를 추가 할 것입니다 기능 여기에 입력 모양이 필요하지 않습니다 왜냐하면 입력 모양을 추론 할 것이기 때문입니다

이전 레이어에서 지금까지, 이들은 우리의 숨겨진 계층입니다 따라서 우리는 이러한 레이어의 출력에 대해별로 신경 쓰지 않습니다 그러나 우리가 신경 쓰는 것은 최종 레이어의 출력입니다 그리고 그 층은 다섯 개의 뉴런을 가질 것입니다

5 요소 배열이 될 것입니다 데이터 세트에 5 개의 태그가 있습니다 그리고 여기서 활성화 기능은 시그 모이 드가 될 것입니다 그래서 이것이 우리 모델의 모든 코드입니다 단지 4 줄의 코드로 Keras에서 모델을 정의했습니다

modelcompile을 실행하여 실제로 이 모델을 훈련하고 평가하십시오 그리고 이것을하기 위해서, 우리는 그것에게 몇 가지 것을 말할 필요가 있습니다 그래서 우리는 우리의 손실 함수를 말할 필요가 있습니다 Keras가 우리 모델의 오류를 계산하는 방법입니다

따라서 교육을받을 때마다 이 함수를 사용하여 OK, 모델이 예측 한 것의 오류는 무엇 이었습니까? 그리고 지상 진실 – 그것은 무엇을 예측 했어야 하는가? 다시 말하지만, 우리는 정확히 알 필요가 없습니다 이 특정 손실 기능이 두건에서 어떻게 작동하는지 이것은이 유형의 모델에 사용하기에 가장 적합한 모델입니다 또한 내 최적화 프로그램에 알려야합니다 최적화 도구는 모델이 데이터 세트를 거친 후 가중치를 업데이트하십시오

그리고 마지막으로, 나는 그것을 말하고 싶다 내 모델을 교육으로 평가하는 방법 여기서 정확도를 측정 항목으로 사용하려고합니다 그래서 저는 제 모델을 돌려 드리겠습니다 실제로 우리 모델을 만듭니다

create_model을 호출합니다 우리는 우리의 vocab 크기와 num 태그를 전달할 것입니다 그리고 나서이 모델을 사용할 수 있습니다 summary 메서드 우리 모델이 어떤 모습인지 레이어별로 볼 수 있습니다 그래서 우리는 그것을 실행할 수 있습니다

우리는 우리 모델을 갈 준비가되어 있습니다 우리는 아직 그것을 훈련하지 않았다 그래서 우리가 할 다음 것은 우리 모델을 훈련시킬 것입니다 그리고 우리는 하나의 메소드 호출만으로 modelfit을 호출 할 수 있습니다

우리는 그것을 두 가지로 전달합니다 우리는 단어 배열의 가방을 전달합니다 그것이 우리의 의견이며 우리의 특징입니다 우리는 그것의 레이블을 전달합니다 그것들은 우리가 인코딩 한 태그입니다

우리는 훈련을하기 위해 얼마나 많은 신기원을 가져야하는지 말해야합니다 이것이 의미하는 바는 이것이 우리 모델이 몇 번이나 전체 데이터 세트를 반복합니다 따라서 전체 데이터 세트를 세 번 처리해 보겠습니다 일괄 처리 크기는 우리 모델이 한 번에 볼 수있는 요소의 수입니다 그것이 가중치를 업데이트하기 전에

이 경우 128을 사용합니다 그런 다음 선택적 매개 변수를 전달하려고합니다 이 검증 분할은 교육 자료의 10 %를 가져 와서 평가하십시오 우리 모델은 훈련이기 때문에 그래서 우리는 훈련을 할 것이고, 꽤 빨리 훈련해야합니다

그리고 여기서 우리가 이상적으로 보는 것은 우리의 검증 우리의 훈련 손실은 감소하고 있습니다 그래서 그것은 좋은 징조입니다 우리는 검증과 훈련 손실이 줄어들고 있습니다 교육 과정에서 검증 손실이 증가하는 경우 손실은 감소하고있다 귀하의 모델이 훈련 데이터를 너무 가깝게 학습하고 있음을 나타냅니다

우리의 정확도가 96 %라는 것을 알 수 있습니다 이것은 꽤 좋습니다 그래서 다음 단계는 우리 모델을 평가하는 것입니다 그래서 우리가 따로 설정 한 질문의 20 % 우리는 이제 우리 모델이 어떻게 그 데이터에 대해 수행되는지 살펴볼 것입니다 그래서 우리는 model

evalute를 호출합니다 우리는 단어의 테스트 백, 테스트 태그, 우리는 배치 크기를 알려줍니다 우리의 평가 정확도는 우리 교육에 매우 가깝습니다 정확성은 좋은 징조입니다 그리고 나서 우리가하고 싶은 마지막 일 우리 모델을 파일로 저장하는 것입니다

Keras는 H5 파일 형식을 사용합니다 그래서 우리는 우리 모델을 살릴 것입니다 이제는 로컬에서 테스트 해 보겠습니다 그래서 우리는 내가 작성한 커스텀 예측 클래스를 가지고 있습니다 이 모든 일은 데이터를 사전 처리하는 것입니다

그러면 파일에서 SavedModel을 인스턴스화합니다 Tokenizer를 인스턴스화합니다 질문은 텍스트로, 변형 시키거나, 그런 다음 시그 모이 드 확률 배열을 예측합니다 그럼 예측할 몇 가지 질문을 저장해 봅시다 이것은 단지 두 가지 샘플 질문의 배열입니다

그리고 나서 우리는 우리 지역 모델에 대한 예측을 할 것입니다 그래서 이것은 돌아와야합니다 시원한 첫 번째 질문에 대해서는 Keras는 정확합니다 두 번째 사람은 팬더를 예측했다

그래서 우리 모델은 로컬에서 작동합니다 정확도는 96 %입니다 다음으로해야 할 일은 패키지로 만들고 배포하는 것입니다 AI 플랫폼에 그래서 이것을하기위한 코드를 작성했습니다

우리가 가지고있는 기능 중 하나 Cloud AI 플랫폼의 새로운 기능을 활용할 것입니다 맞춤 코드입니다 예측 시간에 실행되는 사용자 정의 서버 측 Python 코드 이제는 매우 유용합니다 우리 고객을 매우 간단하게 유지합시다

그래서 우리 고객은 텍스트를 우리 모델에 전달할 것입니다 우리는 클라이언트에서 어떤 변환 작업도하고 싶지 않습니다 텍스트를 모델에 전달합니다 그리고 서버에서 우리는 그 텍스트를 변형 할 것입니다 단어를 담은 다음 올바른 태그를 반환합니다

이렇게하려면 일부 파일을 Google Cloud로 복사해야합니다 Cloud AI 플랫폼에서 찾을 수 있도록 스토리지 우리 모델과 토크 나이저 Google Cloud CLI G를 사용합니다 내 현재 프로젝트를 설정 한 클라우드 이 데모 용으로 구성되었습니다 마지막으로 AI 플랫폼에 배포하고 싶습니다

여기에 우리가 실행할 배포 명령이 있습니다 최소 노드를 1로 설정하여 모델을 모델링합니다 0으로 스케일되지 않습니다 그리고 io19라는 새로운 버전을 만들 예정입니다 그리고 우리는 그것을 배치 할 것입니다

실행하려면 몇 분이 걸릴 것입니다 그러나 클라우드 AI 플랫폼 모델 UI에서 여기를 살펴보면, 우리는 내 모델이 배포되고 있음을 볼 수 있습니다 그것은 꽤 시원하다 배포하는 동안 슬라이드로 돌아가 봅시다 그래서 우리는 꽤 잘 보이는 것을 만들었습니다

우리는 데이터를 사전 처리하기위한 코드를 작성했습니다 우리는 꽤 높은 정확도로 모델을 훈련 시켰습니다 하지만 우리가 잘 할 수 있을까요? 바로 지금, 우리 모델은 꽤 많은 블랙 박스입니다 우리는 예측이 어떻게 이루어지는 지 알지 못합니다 우리는 예측이 정확하다는 것을 알고 있습니다

그러나 우리는 그 결론을 내리는 것이 무엇인지 알지 못합니다 따라서 Sundar가 기조 연설에서 언급 한 것처럼, 우리는 우리 모델이 데이터를 사용하고 있는지 확인하려고합니다 그런 식으로 예측을 내린다 모든 모델 사용자에게 공평합니다 그렇게하려면 블랙 박스를 찾아야합니다

그리고 모델 제작자로서 우리는 우리가 생성 한 예측을 책임지고 있음 우리 모델에 의해 이것은 분명히 들릴지 모르겠지만 우리는 확신을함으로써 편견을 피하기위한 조치를 취할 필요가있다 우리의 훈련 데이터가 대표적이라는 것 우리 모델을 사용하고있는 사람들의 운 좋게도이 작업을 수행하는 데 도움이되는 유용한 도구가 많이 있습니다 SHAP이라는 하나의 오픈 소스 도구를 살펴볼 것입니다 그리고 SHAP이 우리에게 할 일은 출력을 해석하는 것입니다

어떤 기계 학습 모델의 그래서 우리는 여기 tfkeras 모델을 위해 이것을 사용할 것이고, 그러나 우리는 어떤 유형의 모델을 위해 그것을 사용할 수 있습니다 셰이프 작동 방식은 우리 모델에서 전달하는, 설명자 객체 라 불리는 것 그리고 우리의 훈련 데이터의 일부분 그런 다음 SHAP은 이러한 속성 값을 반환합니다

따라서 기여도 값은 무엇입니까? 양수 및 음수 값은 특정 기능에 얼마나 많은 영향을 주 었는지 우리 모델의 예측 그래서 우리는 세 가지 특징을 가진 모델을 가지고 있다고 가정 해 봅시다 3 요소의 속성 값 배열을 되 찾을 수 있습니다 높은 양수 값은 특정 기능 우리의 예측을 밀어 올렸다 음수 값은 예측치가 낮아질 수 있음을 의미합니다

글쎄,이 단어 모델의 가방을 어떻게 작동합니까? 그래서 SHAP을 구성한 것은 나는 400 개의 요소 어휘를 다뤄야했다 400 개의 기능으로 배열 그래서 400 가지 귀속 점수를 얻었습니다 우리는 그 중에서 가장 높은 가치를 취할 수 있습니다 어떤 단어가 우리 모델에 가장 큰 영향을 주 었는지 확인하십시오

그래서 저는 이것을하기 위해 약간의 코드를 작성했습니다 색상이 잘 보이는지 모르겠습니다 그러나 이것이 무엇인지는 내가 상위 5 위를 차지했다 가장 낮은 기여 점수가 우리 모델이 예측을 위해 사용했던 단어를 볼 수있었습니다 그래서이 특별한 질문은 판다에 관한 것입니다

그리고 그것은 단어 컬럼, 데이터 프레임, df, 시리즈, 그것은 좋은 단어입니다 팬더에만 해당됩니다 가장 적은 공헌을 한 단어는 각자, 그리고 너는 상당히 일반적이다 스택 오버플로 질문에서 찾을 수있는 단어 따라서 이것이 우리 모델이 올바르게 작동하는 좋은 징후입니다

이제 데모로 돌아가 SHAP을 살펴 보겠습니다 따라서 우리 모델은 배포가 완료된 것처럼 보입니다 계속 진행하여 기본 버전으로 설정하겠습니다 그리고 SHAP에 들어가기 전에 우리는 몇 가지 예측을 생성 할 것입니다 우리의 배치 된 모델에

그래서 몇 가지 테스트 예측으로 파일을 작성하겠습니다 이제 Google Cloud를 사용하게 될 것입니다 CLI를 사용하여 숙련 된 모델을 예측할 수 있습니다 그래서 우리는 gcloud AI 플랫폼을 예측합니다 stacko_model이라는 모델 이름을 전달합니다

그리고 우리는 텍스트 인스턴스를 전달합니다 이 파일은 방금 저장 한 predicttxt 파일입니다 그리고 우리는 그것을 실행할 것입니다 이제 우리는 배포 된 모델 예측을 인쇄 할 것입니다

그래서 그것은 좋아 보인다 우리는 AI 플랫폼에 배치 된 모델을 호출하고 있습니다 Keras를 성공적으로 예측했습니다 첫 번째 질문은 팬더이고 두 번째 질문은 팬다 이제 SHAP을 사용하여 모델을 설명합시다

따라서 SHAP은 Colab에 사전 설치되어 있지 않습니다 그래서 우리는 PIP를 통해 그것을 설치할 것입니다 그리고이 모듈을 설치합니다 다른 단어를 색칠하는 데 사용되는 Colored라는 텍스트의 일단 설치가 완료되면 SHAP를 가져오고, 우리는 설명자를 만들 수 있습니다 그래서 우리는 깊은 설명자를 창조 할 것입니다

SHAP에는 많은 다른 유형의 설명자가 있습니다 우리는 깊은 설명자를 사용할 것입니다 우리는 그것을 우리의 훈련 데이터의 부분 집합으로 전달할 것입니다 그런 다음 저작자 표시 값 배열을 만듭니다 그래서 우리는 explainer

shap_values를 호출 할 수 있습니다 그리고 테스트 데이터의 일부를 전달합니다 이 경우 처음 25 개를 가져옵니다 테스트 세트의 예제 따라서 우리는 귀속 값을 얻었습니다

다음으로하고 싶은 것은 좋은 방법으로 인쇄하는 것입니다 먼저, 그렇게하기 위해 우리는 Keras에서 만든 토크 나이저를 가져 오려면 사전이고, 배열로 변환 할 것입니다 SHAP에서 속성 값을 가져올 수 있습니다 그것들이 어느 단어에 해당하는지 보아라 따라서 우리는 토크 나이저를 단어 목록으로 변환 할 것입니다

그리고 여기에서 우리는 가장 자주 발생하는 가장 높은 단어를 볼 수 있습니다 우리의 모델 어휘가 사용하고 있습니다 그리고 우리가하고 싶은 첫 번째 일 우리가 SHAP에서 가지고있는 방법 인 요약 플롯을 출력한다 그 단어들의 요약을보기 위해 우리 모델의 예측에 가장 큰 영향을줍니다 SHAP 값을 전달합니다

또한 기능 이름을 전달해야합니다 방금 만든 단어 목록입니다 우리의 클래스 이름들과 함께 태그 인코더로 그래서 내가 올바르게 작성한다면, 우리는이 멋진 줄거리를 얻어야합니다 이리

그리고 이것이 우리에게 말하는 것은 가장 큰 어휘들입니다 우리 모델이보고있는 것입니다 그래서 dataframe이 단어 인 것처럼 보입니다 우리 모델이 예측을 위해 가장 많이 사용했던 것, 아마 가장 팬더가 있었기 때문에 아마 우리 모델의 질문 데이터 프레임이 팬더에게 가장 큰 영향을 미쳤습니다 그것은 또한 다른 도서관을위한 신호 어 였을 것입니다

부정적인 신호 단어 그리고 여기서 우리는 영향력있는 다른 단어들을 볼 수 있습니다 Matplotlib 예측에서 음모가 가장 중요했습니다 그건 맞는 말이야 그리고 우리는이 모든 다른 단어들을 목록에서 볼 수 있습니다

그래서 우리에게 좋은 결과를줍니다 우리 모델이 예측을 내리는 방식에 대한 견해 이 특정 데이터 세트 그리고 지금, 우리가 개별 단어를 강조하고 싶다면, 나는 우리가 볼 수 있도록 그렇게하기위한 코드를 작성했다 특정 질문, 어떤 단어 신호 예측입니다 여기 팬더 (Pandas) 질문의 예가 ​​있습니다

단어 열, 많은 팬더 데이터 프레임 값이없는 열이 있습니다 그런 다음 사용과 같은 일반적인 단어를 봅니다 우리 모델에 의해 사용되지 않습니다 예측을하기 TensorFlow를 위해 우리는 그것을 찾았습니다

session, sesh, ops, tensor와 같은 단어들 다음은 Keras 예제입니다 가장 일반적인 단어 인 것 같습니다 LSTM, 레이어, 밀도 등 이제 우리는 우리가 어떻게 사용할 수 있는지를 알 수 있습니다

SHAP을 사용하여 모델이 올바르게 작동하는지 확인하십시오 공정성의 예에서 이것을 사용할 수있는 한 가지 방법 감정적 인 분석을하는 모델을 가지고 있다면, 올바른 특성을 사용하는지 확인하고 싶습니다 텍스트 유형에 관계없이 긍정적 인 것과 부정적인 것을 예측할 수 있습니다 당신이 사용하고 있습니다 그래서 우리가 할 수 있다면, 슬라이드로 돌아가

포장하려면이 모든 것을 함께 넣을 것입니다 웹 응용 프로그램에서 우리 모델의 예측을 얻을 수 있습니다 우리가 할 수 있다면 정말 유용 할거야 우리가 Stack Overflow 질문을 타이프하고있을 때, 태그가 연결되어 있는지 확인하십시오 제 팀원 인 Jennifer Person의 도움으로 당신은 트위터에서 그녀를 따라야합니다 – Chrome 확장 프로그램을 만들었습니다

Chrome 확장 프로그램의 기능 Stack Overflow 질문의 HTML을 취하는 것입니까? 그것을 클라우드 기능으로 전달합니다 Cloud Functions Python 런타임을 사용하여 작성했습니다 이 함수는 AI 플랫폼 API를 사용하여 우리 모델에 대한 예측 그리고 나서 우리의 기능에서 우리는 돌아올 것입니다 신뢰할 수있는 태그의 이름 만 Chrome 확장 프로그램으로 돌아갑니다

그럼 행동에서 보자 우 데모로 돌아 가자 자 간다 그래서 여기에 판다 스의 Matplotlib에 대한 예제가 있습니다

방금 Chrome 확장 프로그램을 로컬에로드했습니다 지금은 작동하지 않는 것 같습니다 잠깐 만요 라이브 데모, 당신은 모릅니다 다시 한 번 사용해 보도록하겠습니다

뭔가가 일어나고있어 질문 초안을 시험해 보겠습니다 운좋게도 작동하지 않지만 운좋게도 비디오가 있습니다 그것이하기로되어 있었던 것의 안에서 미안해, 모두들

항상 백업을하십시오 그래서 이것이해야 할 일입니다 라이브 데모, 당신은 모릅니다 그래서 그것은 판다 스에서 Matplotlib을 예측하기로되어 있습니다 이 질문에

그런 다음 코드를 기반으로 초안을 작성했습니다 나는 그것을 썼다 그리고 그것은 그 것에 대한 Keras를 예측했습니다 데모가 작동하지 않아 죄송합니다 한번 더 해보 죠

작동하지 않는 것 같습니다 어쨌든 데모가해야 할 일입니다 가능한 경우 슬라이드로 돌아가십시오 그래서 저는 오늘날 많은 다른 도구들을 다루었습니다 나는 우리가 만든 모든 것을 요약하고 싶었다

맞춤 텍스트 분류 모델을 만들었습니다 tfkeras를 사용합니다 Cloud AI 플랫폼에 모델을 배포했습니다 나는 또한 내가 가질 수 있다고 언급해야한다

커스텀 코드를 사용하여 AI 플랫폼에 SHAP 코드 배치 특색 하지만이 경우에는 간단하게 유지하기로했습니다 그 부분을 별도로하십시오 모델 출력에 대해 우리 모델이 그 길에서 행동하고 있는지 확인하기 위해 SHAP하세요 우리가 기대했던 것

그리고 우리는 클라우드 기능이있는 인공 지능 플랫폼이라고 불립니다 당신은해야 할 일에 대한 비디오를 보았습니다 이것들은 내가 오늘 보여준 모든 코드에 대한 링크입니다 그리고 모든 다른 제품들 첫 번째 링크는 GitHub 저장소로 이동합니다

내가 보여준 모든 것에 대한 코드가 있습니다 다른 링크는 내가 다룬 다양한 제품에 대한 링크입니다 그리고 마지막으로 우리는 모델 해석 가능성 지원을 위해 노력하고 있습니다 Cloud AI 플랫폼에서 그래서 유스 케이스가 있다면, 루프에 머물러 있고 그것에 대해 더 많이 듣고 싶다면, 우리는 당신에게서 소식을 듣고 싶습니다 따라서이 양식을 하단의 Bit

ly 링크에 기입하십시오 마지막으로이 대화에 대한 의견을 남겨주세요 I / O 응용 프로그램에서 나는 다음 번에 그 이야기를 더 잘하기 위해 많이 사용한다 고마워, 모두들 [음악 재생]

Keynote Talk: Model Based Machine Learning

>> 크리스 비숍을 소개하는 것이 절대적으로 기쁩니다 Chris Bishop은 Microsoft Technical Fellow입니다

그는 또한 전무 이사입니다 우리 케임브리지 연구소 그는 또한 컴퓨터 과학 교수입니다 에딘버러 대학교 다윈 대학 캠브리지 연구원 2014 년에 그는 선출되었습니다 로얄 아카데미 공학 연구원

2007 년에 그는 선출되었습니다 에딘버러 왕립 학회 연구원 그리고 2017 년 그는 왕립 학회 회원으로 선출되었습니다 성취와 인정의 긴 목록입니다 계속 얘기 할 수있어

오히려 늦은 시간에 크리스의 대화가 그 이야기를 할 것입니다 나는 그가 실망하지 않을 것이라고 확신한다 그래서, 훨씬 더 고집하지 않고, 크리스, 모든 것 >> 고맙습니다 초대장을 가져 주셔서 감사합니다

마지막 연사가되는 것은 큰 특권입니다 나는이 이야기를 위해 내가 한 일을 생각했다 얘기하기보다는 임의의 특정 애플리케이션 또는 특정 알고리즘, 50,000 피트까지 곧장 나아가는 것입니다 나는 기계 학습에 대해 생각한다 그리고 그것은 무엇에 관한 것입니까? 우리가 달성하고자하는 것은 무엇입니까? 그리고 특히, 당신에게 원근법을주기 내가 말하는 기계 학습에 모델 기반 기계 학습, 당신은 나침반으로 생각할 수 있습니다

이 매우 복잡한 세계를 안내합니다 따라서 기계 학습은 매우 위협적 일 수 있습니다 많은 알고리즘이 있습니다 다음은 몇 가지 예입니다 매년, 앞으로 수 백 부가 더 게시됩니다

오늘 많은 소식을 들었습니다 특히 현장에 새로 온 사람이라면 그것은 어리둥절 친다 협박한다 어느 것에 대해 배울 필요가 있습니까? 신청서에 어떤 것을 사용해야합니까? 그것은 정말로 도전적 일 수 있습니다 따라서 모델 기반 기계 학습은 내가 바라는 바로 그 시각 기계 학습을 통한 여정, 당신이 새로운 일을하고 있는지 여부 알고리즘 또는 특히, 실제 응용 프로그램에서 작업하는지 여부 따라서, 이러한 모든 알고리즘으로 돌아가서, 너는 조금 좌절감을 느낄지도 모른다

"나는 왜 배워야 만 하는가? 수백 또는 수천 개의 서로 다른 알고리즘? 왜 사람들은이 기계 학습을 못할까요? 범용 알고리즘 하나? 사실, 아마 그들은 아마도 가파른 신경망을 가지고 있을지 모릅니다 "가파른 신경망 인류의 모든 문제를 해결하십시오 나는 나머지에 대해 배울 필요가 없다 " 음, 수학적 정리가 있습니다 입증되었습니다

따라서 언제든지 철회 될 것 같지 않습니다 그리고 그것은 'No Free Lunch'정리라고합니다 그리고 Daniel Wolpert가 1996 년에 돌아 왔습니다 이것은 평균 전체적으로 가능한 데이터 생성 분포 당신은 전체적으로 평균이없는 것으로 생각할 수 있습니다

당신이 해결하고 싶을 수있는 가능한 문제들 모든 분류 알고리즘에는 동일한 오류율 이전에 관찰되지 않은 점들을 분류 알고리즘이 특히 한 가지 문제가 낫다 그것은 다른 문제에서 특히 나쁠 것입니다 다른 말로하면, 그런 것은 없습니다

범용 기계 학습 알고리즘으로서 그것은 내 개인적인 의견이 아닙니다 그것은 수학적 정리입니다 글쎄, 다른 말로하면, 목표는 기계 학습의 존재하지 않기 때문에 범용 알고리즘을 찾으십시오 그러나 대신,에있는 알고리즘을 찾으려면 어떤 감각과 잘 어울린다 당신이 해결하려고하는 특정 문제

좋습니다, 이것은 매우 근본적입니다 기계 학습의 장바구니 따라서 기계 학습은 데이터에 달려 있습니다 그러나 우리는 단지 데이터로부터 배울 수는 없습니다 데이터를 모델과 결합해야합니다

또는 우리는 이것을 다음과 같이 생각할 수 있습니다 제약 조건이나 사전 지식으로 생각할 수 있습니다 사전 지식이라는 용어를 사용하겠습니다 그러나 사람들은 그것을 다른 것들로 많이 부릅니다 데이터만으로는 배울 수 없습니다

그렇지 않으면 우리는 일종의 범용 알고리즘을 갖게 될 것입니다 그래서 우리는 다음과 같이 데이터를 결합해야합니다 이 사전 지식은 어떤 진보를 만들기 위해 자, 우리도 알고 있습니다 최근의 더 많은 데이터를 보유할수록 더 효과적입니다

그리고 어떤 의미에서, 많은 양의 데이터가있는 경우, 당신은 약간의 사전 지식으로 벗어날 수 있습니다 반대로, 만약에 매우 제한된 데이터가있는 세계, 그럼 당신은 보완해야합니다 많은 사전 지식으로, 아주 강한 가정에 대해서 당신이 풀려고하는 문제 이제 흥미로운 점은 이 수직축의 의미 많은 데이터가 의미하는 것은 무엇입니까? 그래서, 이것은 정말로 중요한 포인트입니다 큰 데이터에 대해 이야기하고 싶습니다

우리가 의미하는 바는 데이터 세트가 있기 때문에 완전히 다른 두 가지 의미 데이터 세트의 크기에 맞 춥니 다 혼란스러워하지 않는 것이 중요합니다 계산 크기가 있습니다 디스크에서 얼마나 많은 바이트가 차지하는 지 알 수 있습니다 통계적인 크기가 있습니다

정보 내용과 관련이있다 그래서, 우리는 이것을 설명합니다 몇 가지 코너 케이스가 있습니다 그래서, 첫 번째 예제, 금속 조각이 있다고 상상해보십시오 우리는 전압과 전류는 금속 블록을 통해 흐르고, 우리는 얼마나 많은 전류를 측정 할 것인가? 우리가 특정 전압을 적용 할 때 흐른다

그리고 우리는 여기에 일곱 번의 측정을했습니다 우리가 7 가지 다른 전압을 적용 했으므로, 해당 값을 측정했습니다 현재와 ​​우리의 목표는 일반화하는 것입니다 이것은 기계 학습 문제이므로, 우리의 목표는 현재의 새로운 가치를 예측하는 것입니다 우리가 아직 측정을하지 않은 전압

자,이 사건은 어떤 종류의 친근한 물리학자가왔다 옴의 법에 대해서 우리에게 말했습니다 옴의 법칙에 따르면, 전류는 전압에 비례합니다 원점을 통과하는 직선입니다 우리가 배워야 할 유일한 것은 경사입니다

표시된 데이터 포인트에는 측정 오류가 있습니다 이것은 실제 측정 값입니다 그들은 조금 시끄 럽다 그들이 시끄럽지 않다면, 하나의 데이터 포인트 기울기를 정확하게 결정할 것입니다 그러나 데이터 포인트는 시끄럽고 거기에는 유한 한 수가 있습니다

그래서, 우리는 정확하게 기울기를 알지 못합니다 그러나 우리가 일곱 번 측정을한다면, 소음이 너무 높지는 않습니다 우리는 그 경사에 대해 꽤 확신 할 수 있습니다 불확실성은별로 없습니다 이것은 데이터 집합이며 계산적으로 왜냐하면 7 쌍의 부동 소수점이기 때문입니다

그래서, 계산적으로, 그것은 작은 데이터 세트입니다, 통계적으로 보면 매우 큰 데이터 세트입니다 다른 말로하면, 내가 너에게 준다면 전류 및 전압의 또 다른 백만 측정, 사면에서의 불확실성 조금 더 작아 질거야 그러나 그것은 이미 아주 작습니다 그래서 다음 10 억 데이터 포인트 차이를 많이 내지 않을 것입니다 당신은 이미에서 큰 데이터 체제에있어 통계적 관점

다른 구석을 생각해보십시오 상상해보십시오, 우리는 몇 가지 이미지를 가지고 있습니다 나는 이미지에 라벨을 붙일 것이다 포함하는 개체로 이동합니다 비행기, 자동차 등이 될 수 있습니다

그리고이 이미지들은 수백만 개의 점령중인 픽셀 디스크에 각각 메가 바이트가 있습니다 그리고 우리는 각 클래스의 10 억 개의 이미지를 가질 수 있습니다 10 억 개의 비행기 예 자전거의 수십 억 가지 사례가 있습니다 그래서 이것은 엄청난 양의 디스크 공간을 차지하게 될 것입니다 그래서 이것은 데이터 세트입니다

계산 상 매우 큰데, 큰 데이터, 일반적인 의미에서 그러나 통계적으로는 어떨까요? 상상해 봅시다, 저는 순진하고 저는 단지 이 이미지들을 벡터로 다루다 그들을 내 좋아하는, 분류 자로서의 모든 신경망 당신이 비행기에 대해 생각한다면, 비행기는 이미지의 어느 곳에 나있을 수 있습니다 그것은 두 가지 자유입니다

실제로, 거리도 가능합니다 그래서 번역의 자유도는 3 단계입니다 3 자유도의 회전 당신의 비행기는 다른 색깔, 다른 모양, 다른 일루미네이션들,하지만 모두 이러한 자유도는 combinatorically 함께 찍은 그래서, 제가 당신에게 한 이미지를 보여 주면, 그리고 여러분은 모든 이미지가 비행기라는 것에 동의 할 것입니다

내가 이미지가 다 떨어지기까지 얼마나 걸릴까요? 그럼 대답은 멀다 우주의 시대보다 길다 우리 모두가 동의하는 이미지의 수를 의미합니다 항공기는 광대하다 우주의 전자 수에 비례한다 그래서, 만약 당신이 이러한 객체를 분류하는 매우 순진한 접근법, 그럼에도 10 억 개의 각 클래스는 작고 작은 데이터 세트입니다

따라서 계산 상 큰 데이터 통계적으로 작은 집합입니다 나는 단지 이전 그림으로 돌아 가기 위해 잠시 후에 돌아갈 것이다 이것은 데이터의 계산 크기가 아니라, 그러나 통계적인 크기에 그래서 그것은 데이터의 사전 지식 개념입니다 데이터 세트의 크기 개념

그래서, 다음의이 문제로 되돌아옵니다 어떤 알고리즘을 사용할 것인가? 나는 단지 수천의이 문제를 어떻게 해결할 것인가? 수천 가지의 다른 알고리즘? 그래서 저는 여러분을 철학에 소개하고자합니다 원하는 경우 Model-Based Machine Learning을 사용하십시오 그러나 이것은 매우 실용적인 철학입니다 그래서, 이것의 아이디어는 아닙니다

거기에있는 모든 알고리즘을 배워야합니다 시식하지 마라 모든 알고리즘 및 경험적으로 어떤 것이 가장 잘 작동하는지 확인하십시오 모델 기반 기계 학습의 꿈은 적절한 기계를 파생시키다 귀하의 문제에 대한 학습 알고리즘

본질적으로,이 사전 지식을 명백하게함으로써, 나는 그 사실을 잠시 후에 어떻게 보여줄 것인가? 그래서, 전통적으로 우리가 말하길, 어떻게 문제를 맵핑합니까? 표준 알고리즘 중 하나에? 그리고 종종, 그것은 명확하지 않고 그래서 일반적으로, 사람들은 많은 다른 것들을 시도 할 것입니다 그들은 결정 나무와 그물을 시험해 본다 소형 벡터 머신 등이 있습니다 대신, 모델 기반 관점에서, 내 문제를 나타내는 모델은 무엇입니까? 내 사전 지식을 포착하는 모델은 무엇입니까? 그래서, 우리 자신을 강요함으로써 이러한 사전 가정은 명백하고, 우리에게 우리를 안내 할 나침반이 있습니다 올바른 알고리즘 또는 이러한 알고리즘 세트

그래서, 아이디어는 기계 학습 알고리즘입니다 더 이상 일등 시민이 아닙니다 대신, 그것은 모델입니다 그것은 일련의 가정들입니다 다음과 같은 가정들이 있습니다

해결하려는 문제와 관련이 있습니다 그래서, 문제가 있다면, 당신은 하나의 세트를 가질 것입니다 문제의 집합, 가정의 집합, 당신은 다른 가정들을 가질 것입니다 당신은 다른 알고리즘에 도착할 것입니다 그래서 그런 건 없어요

범용 알고리즘 튜닝 된 알고리즘 우리가 시도하고있는 특정 문제에 해결하고 그것은이 영역 지식에 반영됩니다 사전 지식으로서의 이러한 가정 그래서 우리는 모델을 취합니다 사전 지식, 우리는 결합한다

그것은 추론 방법과 함께 추론 방법은 상당히 일반적인 경향이 있습니다 따라서, 그라데이션 강하 같은 것들 그건 당신의 그물에 있어요 그래서, 기대 우리가 그래픽 모델을보고 있다면 전파의

최적화 또는 컴퓨팅을위한 일반적인 기술 매개 변수의 사후 분포 모델과 함께 기계 학습 알고리즘을 정의하십시오 그래서 꿈은 당신입니다 가정을 명시 적으로 적어 두십시오 당신은 적절한 추론 방법을 선택합니다 그런 다음 기계 학습 알고리즘을 유도합니다

그리고 당신이 당신의 문제에 그것을 적용 할 때, 그것은 널리 성공할 것입니다 그래서 그것은 꿈입니다 지금, 우리는 아직 완전히 거기에 있지 않습니다 하지만 몇 가지 좋은 예를 보여 드리겠습니다 조금 얘기하자

모델에 들어가는 가정에 대해 너가 깊은 신경 망을 얻는 경우에, 너는 생각할 것이다, 음, 그들은 아무런 가정도하지 않고 있습니다 그들은 단지 보편적 인 보편적 인 것이다 기계 학습 알고리즘, 당신은 당신이 원하는 데이터를 부어, 마법은 다른 쪽에서 나온다 그렇다면 신경망의 가정은 어디입니까? 좋아, 보자

가장 간단한 신경망 알고리즘 I 로지스틱 회귀를 가정 해 봅시다 이것은 매우 강한 가정을하고 있습니다 이것은 많은 사전 지식입니다 그 사전 지식 히스토그램은 그게 높습니다 이는 매우 좁은 영역으로 제한하기 때문입니다

그것은 매우 강한 가정을하고 있습니다 예측 Y가 몇 가지의 선형 조합 입력은 간단한 모델 비선형 성을 통과했다 이것은 매우 구체적인 모델입니다 동시에 여러 개의 출력이있는 경우, 그 다음 우리는 단층 신경망에 도착합니다 그것은 많은 것을 좋아한다

로지스틱 회귀 현상이 일어나고 동시에 물론 그것은 모델 유형이었습니다 사람들이 흥분했다 신경망의 첫 번째 물결 Perceptron의 시대 등등 흥분의 두 번째 물결 1980 년대 후반, 1990 년대 초반, 역 전파가 발생했을 때였 다 우리는 2 층짜리 그물을 훈련시키는 것을 배웠고, 이 기능들 그들 자신은 데이터로부터 배울 수 있었고, 그리고 그것은 매우 흥미 진진한 시간이었습니다

나는 실제로 미친 결정을 내렸다 매우 성공적인 직업을 포기하는 것이 었습니다 내가 읽었 기 때문에 물리학 Geoff Hinton의 배경과 나는 생각했다 "와우, 인공 지능을 배울 수있는 기계 이것은 미래 다

"그리고 나는 내 경력을 포기했다 나는 사장에게 컴퓨터를 사달라고 설득했다 나는 프로그램하기 위해 자신을 가르쳤다 나는 전에 그것을 한 적이 없다 C 코드가있어서 해킹을 시작했습니다

그래서 그것은 두 번째 단계였습니다 신경망 주위의 흥분 그럼 물론, 그들은 다시 떠나 갔다 그들은 정말로 떠나지 않았고, 그들은 틈새가되었습니다 사람들은 다른 것들로 옮겼습니다

지원 벡터 머신은 꽤 오랫동안 인기가 있습니다 그리고 나서 왔어요 우리가 많은 것을 훈련시키는 법을 배웠던 깊은 학습, 많은 계층, 깊은 학습입니다 그런데 제프가 들었던 이야기, 니가 이걸 말하지 않을 것 같아 그는 코스에 아주 지쳤다

그는 동료들과 역 전파를 발견했으며, 그리고 그들은 꽤 성공적이었습니다 그러나 그때 그들은에 의해 가려졌다 지원 벡터 기계, 재미있는 일종의 방법으로 기계 학습에 접근 그래서 그는 마침내 신경망이 제대로 작동 할 때, 그는 그들을 깊은 학습이라고 부르기로 결정했다 그를 지원 벡터 기계를 얕은 전화 허용 그것이 진정한 이유입니다

그래서, 무엇 사전 지식이 내장되어 있습니까? 다시 한번, 많은 사전 지식이 있습니다 출력은 다음과 같이 결정됩니다 이 처리 계층 구조 자, 프로브를 가져 가자 내가 사진을 찍을 것이라고 상상해 봅시다

그 이미지를 행복하거나 슬픈 것으로 분류 할 것입니다 자, 컴퓨터는 무엇을 보았습니까? 컴퓨터에 픽셀이 보입니다 그럼, 어떻게 깊은 신경 네트워크가 그것을 해결합니까? 음, 깊은 신경망, 첫 번째 층, 그것이하는 일은 대조와 같은 것을 찾고 있습니다 밝은 영역 옆의 어두운 영역, 다음 레이어 결합 검출 할 로컬 콘트라스트 디텍터 이미지의 픽셀 행, 만약 당신이 가장자리가 있다면, 밝은 영역과는 다른 어두운 영역, 어쩌면 다음 레이어가 가장자리 끝 또는 방향을 바꾸는 곳 그래서, 그것은 모서리 같은 것들을 찾습니다

그리고 조금 더 위로, 모퉁이가 결합되어 모양, 얼굴 같은 것들, 얼굴 표정, 이미지에서 볼 수있는 객체 어쩌면 다음 층을 올릴 수도 있고, 그것은 객체들 사이의 관계를보고 있습니다 어쩌면 생일 케이크가 있을지 모르지만, 어쩌면 양초가 있겠지요, 어쩌면 사람들이 있을지도 모릅니다 어쩌면 사람들은 얼굴에 미소를 짓고, 어쩌면이 시점에서 이것이 행복한 이미지라는 증거 우리의 두뇌도 마찬가지입니다

그들은이 처리 계층을 가지고 있습니다 그들은 서라운드 응답을 보냈습니다 지향 에지 검출기 등등 인공 시스템을 훈련 할 때, 우리는 유사한 구조를 우리가 뇌에서 발견하는 시각적 처리 그래서 아주 강한 사람이 하나 있습니다

사전 지식 조각 내장, 이 계층 적 처리 그게 아주 효과적 인 것 같아 그래서, 실제로 일어나고있는 이유, 이유 깊은 학습은 매우 효과적입니다 이 말을하는 방식으로 많은 문제가있다 이미지 처리를 포함한 세계 예 방금 당신을 줬습니다

이 계층 적 구조가 보이는 곳 실제 응용 프로그램에서 제대로 작동하거나 다른 방식으로 적용 할 수 있습니다 이러한 깊은 네트워크를 구성하는 사전 지식 우리가 시도하고있는 문제의 종류에 잘 공감한다 이러한 네트워크를 사용하여 해결할 수 있습니다 뭔가를 조금 말하다 데이터 및 사전 지식에 대해, 우리는 신경망에 내장 된 다른 가정

이제 일련의 이미지를 얻었습니다 나의 목표는 분류하는 것이다 그 (것)들에 따라 심상 사람을 포함하거나 그렇지 않은 사람 여기 이미지가 있습니다 이 이미지에는 사람이 포함되어 있습니다

우리가 알고있는 것은 그 분류 에 의존하지 않는다 사람이 위치한 이미지 그래서 이것들은 모두 예제입니다 사람이 들어있는 이미지 이제, 픽셀 벡터의 관점에서, 그들은 모두 매우 다르지만 그들은 모두이 클래스에 속합니다

내가 탐지 할 수있는 시스템을 만들고 싶다면 사람과 관계없이 사람이 이미지에있는 곳에, 그런 다음 그것을하는 한 가지 방법은 가서 수집하는 것입니다 엄청난 수의 이미지 모든 가능한 위치에있는 사람들과 그런 다음 시스템에서 그들은 모두 사람들의 모범입니다 당연히 거기 도전은이다 그 비행기처럼 조금은, 이 매우 높은 차원 공간, 비행기 예제 나는 많은 예제가 필요하다 캡처 할 이미지의 예제가 많이 있습니다

이 개념은 분류 위치에 의존하지 않습니다 그래서 매우 많은 데이터 낭비입니다 이를 수행하는 또 다른 방법은 합성 데이터를 생성하는 것입니다 그래서, 아마도 데이터가 없습니다 많은 위치에있는 사람들의 하지만 아마 하나의 이미지를 가지고있을 것입니다

한 위치에있는 사람의 나는 합성 데이터를 만들 수있다 그 사람은 다른 위치로 움직입니다 따라서 사전 지식을 구축하는 또 다른 방법입니다 그것을 모델에 포함시키지 않고, 그러나 효과적으로 데이터를 보강하고, 그것은 매우 일반적으로 사용됩니다 다시 말하지만 상당히 낭비였습니다

데이터 세트를 복제해야합니다 우리는 계산적으로 큰 데이터 세트로 끝납니다 만약에 더 똑똑하다면 우리는 그것의 한 예를 줄 수 있습니다 사람, 그리고 모델에서, 사전 지식을 그것으로 굽는다 출력은 위치에 의존하지 않는다

우리는 그 번역을 불변이라고 부릅니다 우리가 신경망에서 그렇게하는 방법은 길쌈 신경 네트워크를 통해 그래서 이것은 입력 이미지입니다 우리는 길쌈 계층을 가지고 있습니다 컨볼 루션 계층에서, 각 노드는 이미지의 작은 패치를 찾습니다

그 옆에있는 노드는 다음 작은 패치를보고, 다음 사이의 무게 파란색 노드와 빨간색 노드는 공유됩니다 그래서, 그들은 적응할 수 있습니다 항상 자질구레 한 교육 그래서,이 청색 노드가 무엇을 발견했는지 배우면, 빨간색 노드는 똑같은 것을 탐지하지만 움직입니다 그게 길쌈 계층이기 때문에 약간

그 다음에는 서브 샘플링 레이어가 있습니다 다시 말하지만,이 노드는 길쌈 층의 작은 패치, 그리고 그것은 최대량을 가지고가는 무언가를 할지도 모르다 그래서 뭔가가 있다고 상상해보십시오 파란색 노드가 응답하도록하는이 이미지, 이 노드가 응답하게됩니다 이제는 약간 옮깁니다

이제 대신 빨간색 노드가 응답합니다 그러나 다시, 우리가 뭔가를하고 있기 때문에 최대, 이것은 여전히 ​​응답 할 것입니다 그래서, 이제 이것은 번역의 불변성을 보여줍니다 이미지가 방금 약간 움직 였지만 반응합니다 자, 실제로 우리가하는 일은 여러 번 반복하는 것입니다

우리는 번갈아 가면서 다른 길쌈 계층에서, 다른 서브 샘플링 레이어 및 서브 샘플링 그 이유는 이것보다 해상도가 낮기 때문입니다 결국 우리가 산출물에 도달하면, 우리는 몇 가지 결과물을 가지고있다 번역 불변성이 있습니다 따라서 우리가 주변을 움직이면 결과는 그대로 유지됩니다 이것은 실제로 일종의 더 일반적인 번역 불변성 때문에 입력의 일부를 상상해 보라

다른 부분이 아닌 번역되었습니다 다시 말하지만 출력은 변하지 않을 것입니다 그래서, 일종의 지역 번역 불변성을 보여주고 있습니다 고무 시트 명예 훼손을 생각해보십시오 생일 파티가 있다고 상상해보십시오

사람들 중 일부는 돌아 다니고 생일 케이크가 남아있어 그것이 어디에 있든, 그것은 여전히 ​​행복한 장면입니다 그래서, 우리는 로컬 및 글로벌 번역 불변성 이것이 보편적 인 블랙 박스가 아니라는 것을 알 수 있습니다 이것은 많은 것을 가지고있다

강한 사전 지식 구운 네트워크의 구조로 그리고 그러한 종류의 구조가 없다면, 분류와 행운을 빈다 비행기 및 모든 나머지 당신은 다시 그 지수 공간으로 돌아 왔습니다 >> 알았어

그래서 우리는 지금까지 그렇게 요약했습니다 우리는 기계가 없다는 사실에 대해서 이야기했습니다, 범용 기계 학습 알고리즘 목표는 다음과 같은 알고리즘을 찾는 것입니다 우리가 가지고있는 특정 데이터 세트에 좋다 그것은 결합에 달려 있습니다

사전 지식을 가진 데이터 그리고 그 꿈은 사전 지식에 대해 명시 적으로 말하면, 추론 알고리즘과 결합하여, 우리는 기계 학습 알고리즘을 발견 할 것이고, 50,000을 읽는 대신 신문은 구현 가능하고 호환 가능합니다 너를 선택하길 바란다 기계 학습에서 또 다른 개념 그래서, 기계 학습, 당신도 알다시피,이 특별한, 깊은 학습의 돌파구가 생겼다

이 엄청난 마약 중독 및 인공 지능 주변의 흥분 자, 인공 지능, 열망이 다시 돌아 간다 70 년 전에 Alan Turing에게 확실히 그리고 목표는 다음과 같은 기계를 생산하는 것입니다 모든인지 능력을 가지고있다

인간 두뇌의 그것은 큰 포부입니다 우리는 그것을 달성하는 데 아주 먼 길입니다 우리는 그것으로 향한 작은 발걸음을 옮겼습니다 최근 기계 학습의 발전과 함께 그래서 그 뜻은? 인공 지능에 관한이 모든 과대 광고, 모든 흥분과 수십억 달러 투자 시간 낭비 때문에 그것은 수십 년과 수십 년이 다 된 것입니까? 내 생각에, 아니

내 견해로는, 기계 학습을 둘러싼 모든 흥분 전적으로 타당하지만 우리가에 있기 때문에 아닙니다 인공 지능의 위기, 우리는 어쩌면 우리가 아닐 수도 있습니다 아마 몇 세기가 지났거나 어쩌면 내년이야, 나도 몰라 그러나 무언가 일어나고있다, 그것은 혁명적 인 것입니다 그것은 변형 적입니다

그리고 그것은 변형입니다 우리가 소프트웨어를 만드는 방식으로, 우리는 실제로 말하고 있지 않습니다 개발 프로세스에 대해 나는 그 이후로 Ada Lovelace 프로그래밍 됨 Charles Babbage의 분석 엔진, 그녀는 정확히 모든 황동, 기어 휠이 단계적으로 수행되었습니다 그리고 오늘날 소프트웨어 개발자도 똑같은 일을합니다

그것은 오두막 산업으로 개발자 컴퓨터가 단계별로 수행 할 작업을 정확하게 알려줍니다 지금은 물론 오늘날 개발자는 모든 트랜지스터를 프로그래밍해야합니다 그들은 몇 가지 API를 호출합니다 백만 줄을 불러 일으킨다 다른 개발자가 작성한 코드 거기에는 컴파일러가있다

그리고 데이터 기계 코드와 나머지 모든 것들 그래서 그들은 매우 효과적입니다 에 비해 매우 생산적이다 에이다 러브 레이스 그들의 효율성, 생산성 그러나 근본적으로, 우리는 여전히 컴퓨터 문제를 단계적으로 해결하는 방법

자, 기계 학습, 우리는 근본적으로 다른 것을하고 있습니다 대신, 우리는 컴퓨터를 프로그래밍하고 있습니다 경험을 통해 배우고, 우리는 데이터로 그것을 훈련하고 있습니다 우리가 쓰는 소프트웨어는 완전히 다릅니다 우리가 자주 쓰는 소프트웨어에는 많은 공통점이 있습니다

그래서 우리는 신경망을 사용합니다 음성 인식 문제를 해결하기 위해, 통신 문제 등등 에 따라 매번 적응 물론 우리 도메인에 대한 사전 지식 그러나 우리는 근본적으로 다른 것을하고 있습니다 나는 이것이 변형이라고 생각한다

소프트웨어의 성격 상, 모든 것이 조금있다 사진 석판 술의 발달로 중후합니다 포토 리소그래피는 단 하나의 순간이었습니다 하드웨어의 역사에서 찰스 배비지 (Charles Babbage)와 기어 휠, 진공관, 트랜지스터, 논리 게이트, 컴퓨터 하드웨어가 점점 더 저렴 해지고 있습니다

그런 다음 인쇄 방법을 발견했습니다 포토 리소그래피를 이용한 대규모 집적 회로 그리고 그것으로, 그것은 기하 급수적으로 갔다 그것은 무어의 법칙입니다 회로를 인쇄 할 것입니다

그리고, 현재, 과도기 회로의 수 18 개월마다 두 배씩 증가합니다 그리고 그들이 더 작아지면, 그들은 빠릅니다 놀라운 일이 일어납니다 그래서 우리는 기술 절편을 가지고 있습니다 왜 우리는 다 가지고 다니는거야? 우리 주머니 속 슈퍼 컴퓨터? 포토 리소그래피 때문에, 무어의 법칙 때문에

흥미로운 일이 일어날 수 있습니다 소프트웨어는 우리가 만드는 방식이기 때문에 이 해결책은 프로그램에 의한 것입니다 컴퓨터 배우기 경험을 쌓고 데이터를 사용하여 교육하십시오 무어의 데이터 법칙을 볼 때, 세계의 데이터 양이 두 배로 증가하고있다 1 년 또는 2 년마다

그래서 우리는 무언가의 위기에 처해 있습니다 대단히 흥미 진진하고 모두 기계 학습을 통해 보급 그게 현실이야, 바로 지금 일어나고있어 그것이 이끌어 낼 수있는 것들 중 하나 to는 인공 지능입니다 하지만 그렇지 않더라도 인공 지능은 수십 년 간 떨어져 있습니다

이것은 우리 삶의 모든면을 변화시킬 것입니다 내가 바꿔야 할 영역 중 하나는 건강 관리 및 그 개인의 관심사, 그러나 모든 것이 보급 될 것입니다 그리고 저는 그것이 변형 적이라고 생각합니다 내가 생각하기에 음과 양 다이어그램이 있습니다 데이터로부터 배우는 것의 한 종류, 이는 불확실성을 정량화하는 것이다

다시 전통적인 컴퓨터 과학으로 돌아갑니다 그것은 모두 논리에 관한 것입니다 그것은 모두 0과 1에 관한 것입니다 모든 것이 바이너리입니다 인텔과 ARM의 엔지니어들은 정말 힘들었다

모든 트랜지스터가 모호하지 않게 켜지는지 확인하십시오 우리는 데이터로부터 배우는 세계에 있습니다 우리는 불확실성의 세계에 있습니다 우리는 모호함을 처리해야합니다 그래서 불확실성은 어디 에나 있습니다

사용자는 어떤 영화를보고 싶어합니까? 그들은 어떤 단어를 썼습니까? 그들이 뭐라고 했지? 그들이 찾는 웹 페이지는 무엇입니까? 클릭 할 링크는 무엇입니까? 그들은 어떤 행동을하고 있습니까? 이 환자의 예후는 무엇입니까? 등등 모든 경우에 결정적인 답을 얻지 못했습니다 어떤 것이 든, 사용자가 클릭하려고하는 링크 그러나 그들은 훨씬 더 가능성이있을 수 있습니다 다른 링크보다 한 링크를 클릭하십시오

우리는 그 확률을 계산할 수있다 기계 학습을 사용합니다 불확실성은 기계 학습의 핵심이기도합니다 그래서 불확실성에 대해 생각하는 논리 물론, 당신은 모두 알고 있습니다

불확실성의 미적분, 확률은 다시, 수학적 정리가있다 당신이 이성적인 사람이라면 당신은 불확실성을 계량화하고, 당신은 규칙을 사용하여 그렇게 할 것입니다 확률이나 그들과 수학적으로 동등하다 다시 말하지만, 수학의 기초입니다 그건 오래 전에 마련된 것입니다

그건 바뀌지 않을거야 이것은 우리가 생각하고있는 것입니다 확률에 대한 두 가지 관점 확률이란 무엇을 의미합니까? 우리가 학교에있을 때 우리는 보통 확률에 대해 조금 배우십시오 우리는 빈번한 견해를 배웠습니다

무한한 횟수의 시련의 한계, 빈도, 확률의 해석 그러나 많은 사람들이 더 넓은 해석은 확률은 불확도의 정량화이며, 그것은 베이지안 관점입니다 두 가지 모두 확률이라고 불리는 것은 거의 불행한 일입니다 하지만 수학적 발견은 실수를 사용하여 불확도를 정량화하고, 그 숫자들은 똑같이 행동한다 주사위 던지기가 행동하는 빈도로 그래서 우리는 그것을 확률이라고 불렀습니다

우리가 둘 다 동일한 이름을 사용한다는 사실은, 나는 수년에 걸쳐 혼란을 겪게 될 것이라고 생각합니다 조금만 예를 들어 보겠습니다 바라건대, 이것은 이것에 대해 밝혀 줄 것입니다 그래서 우리가 동전을 가지고 있고, 동전이 구부러진 것을 상상해보십시오 동전이 없습니다

다른 쪽의 한 쪽에서 타격을 입을 가능성도 똑같습니다 내가 동전을 뒤집어 쓴다면, 60 %의 확률이있다 오목면을 위로 올릴 것이다 40 % 확률 그것은 오목한면을 아래로 떨어 뜨릴 것입니다 그것이 물리학이라고 상상해 봅시다

이 특정한 구부린 동전 우리는 60 % 확률로 무엇을 의미합니까? 우리가 여러 번 뒤집어서 계산하면 오목한면이 위로 향하는 시간의 비율, 우리가 한계에 도달 할 때 무한한 횟수의 시련, 그 분수, 그것은 시끄러운 물건의 종류 일 것이다 그것은 약간의 점근선을 약간의 숫자로 정착시킬 것이고, 그 숫자는 6이 될 것입니다 그것은 확률에 대한 빈번한 견해입니다 자, 이제 한쪽 이 동전의 머리는 머리이고, 다른 쪽은 꼬리입니다

그러나 당신이 그것이 어느 것인지 알지 못한다고 상상해보십시오 동전이 구부러진 것만 알면됩니다 60 % 확률 오목면이 위를 향하고있다 괜찮아 그래서 빅터, 나는 천 달러를 가진 당신과 가진 큰 내기 다음 동전 던지기 여부 머리 또는 꼬리가 될 것입니다

자, 당신은 매우 합리적이고 매우 현명한 사람입니다 어떻게 베팅 하시겠습니까? 50-50을 베팅 할 것입니다 일종의 명백한 일 이죠 맞죠? 대칭이야 빅터는 그것을 믿지 않는다

우리가 많은 실험을 반복한다면, 여러 번, 그 절반의 시간, 그것은 머리 위로하고 시간의 절반, 그것은 머리가 될 것입니다 그가 믿는 바는 60 퍼센트의 머리, 그렇지 않으면 40 퍼센트의 머리가 될 것입니다 알다시피, 우리는 매번 같은 동전을 뒤집습니다 그러나 우리는 그것이 어느 것인지 알지 못합니다 그래서 그것이 오목면을 위로 향하는 주파수는, 그것은 빈번한 확률과 같습니다

그러나 불확실성 여부 다음 동전 던지기가 될거야 머리 또는 꼬리는 베이지안 확률과 같습니다 그리고이 구부러진 동전을 가지고 있다고 상상해보십시오 여기 책상 뒤에, 나는 동전을 뒤집을거야 나는 정직하고 진실합니다

머리 또는 꼬리인지 여부를 알려주고 있습니다 수집하는 데이터가 많을수록, 더 많이 발견할수록 머리가 켜져 있는지 여부 오목한 쪽이 볼록한쪽에있다 데이터를 수집 할 때, 당신은 머리 부분이 오목하거나 볼록하다 그 불확실성은 점차 감소한다 그리고 나서 무한한 횟수의 시도로 한계가 있습니다

전혀 불확실성이 없다 당신은 어느 것이 오목한지를 완전히 확신합니다 그리고 머리의 여부 오목면 또는 볼록면 상에있다 당신은 여전히 ​​다음 동전 던지기가 있는지 알지 못합니다 머리 또는 꼬리가 될 것입니다

그러나 당신이 확신한다고 가정 해 봅시다 머리가 볼록한면에 있다는 것, 그리고 당신은 이것이 60 % 확률임을 압니다 다음 분할은 머리가 될 것입니다 그 차이를 보여주기 바란다 베이지안과 빈번한 확률 사이

그것은 내가 생각할 수있는 가장 간단한 예입니다 이 지점에서, 너는 생각하고 있을지도 모른다 왜 나는 이것에 대해별로 소란 스럽다 내가 전통적인 컴퓨팅에서 말했기 때문에, 모든 것은 0 또는 1입니다 이제 모든 것이 0과 1 사이의 확률, 그것은 아주 작은 변화처럼 보입니다

그것은 조금 비틀어 진 것처럼 보입니다 그래서, 이것은 하나의 예입니다 이것은 왜 약간의 비틀기가 아닌지에 대한 내 그림입니다 왜 그것이 심오한 차이인가 상상해보십시오, 여기에 버스가 있습니다

버스가 차보다 길다고 가정 해 봅시다 그리고 우리는 그 차가 자전거보다 길다 괜찮아 다시 한 번, 당신은 똑똑한 사람들이라는 것을 압니다 그래서, 내가 말하면, 버스는 자동차와 차는 자전거보다 길다

모두들 버스에 동의합니까? 자전거보다 길어야합니까? 괜찮아 아무도 동의하지 않으면, 수업 시작이나 다른 곳으로 돌아 가라 그것은 매우 잘 알려진 속성입니다 우리는 그것을 과도기라고 부릅니다 놀라운 점이 있습니다

우리가 확률과 불확실성의 세계로 갈 때, 과도기는 더 이상 적용 할 필요가 없습니다 그리고 그것에 대한 아주 간단한 예가 있습니다 그리고 그것은이 것입니다 이것들을 Efron 주사위 또는 비 주사 주사위라고 부릅니다 그리고 그들은 표준화되어 있습니다

그들은 숫자의 비정상적인 선택을했습니다 다시 말하자면, 우리는 빅터에게서 돈을 벌기로 결심했습니다 그래서 내기를 할 것입니다 주사위 놀이가있을거야 그래서 우리는 주사위를 굴릴 것입니다

11 배 홀수 누구든지 가장 큰 숫자를 얻는다면 이기면 돈을 얻을 것입니다 음, 오렌지색 죽을 때 죽을 것이다 시간의 2/3 그래서, 시간의 3 분의 2, 오렌지 번호는 빨간색 숫자보다 큽니다 큰 거래

내가 오렌지색을 파란색으로 치면, 시간의 3 분의 2, 파란색은 오렌지보다 더 큰 숫자를 줄 것입니다 시간의 3 분의 2, 녹색은 파란색보다 더 큰 숫자를 줄 것입니다 그리고 지금, 여기 놀라운 일이 있습니다 자전거는 버스보다 더 길다 시간의 3 분의 2, 녹색은 빨간색보다 더 큰 숫자를 줄 것입니다

자, 이것이 반 직관적이지 않다면, 나는 그것이 무엇인지 모른다 기괴하다, 그렇지? 그것은 특별하고 그것은 사실의 결과 이것들이 불확실한 숫자라는 것, 그들은 확률론적인 숫자입니다 그리고 그것이 작동하는 방식은 사실 아주 간단합니다 그래서, 이것들은 다른 주사위의 숫자입니다 그래서, 실제로 오렌지색이됩니다

항상 3을 굴린다 빨간색의 경우, 2/3의 시간, 너는 2를 얻는다 시간의 3 분의 1, 당신은 6을 얻습니다 그래서, 시간의 2/3에서, 오렌지는 빨간색보다 더 큰 숫자를줍니다 그리고 나는 그것을 당신을위한 운동으로 남겨 둘 것입니다

다른 사람들을 확인합니다 그래서, 때때로, 내 풍부한 여가 시간에, 나는 가끔 학교에 가서 시험을 보면서 회담을한다 차세대에 영감을 불어 넣다 기계 학습의 흥분으로, 인공 지능, 컴퓨터 과학 우리는 실제로이 주사위 팩을 아이들에게 나누어줍니다

그리고 만약 당신이 그 링크에 가면, 당신은 실제로 조금 읽을 수 있습니다 그것에 대해 더 많이 알 수 있습니다 그 숫자와 너 자신을 위해 이것이 진짜인지 확인하십시오 다시 한번 저는 이것이 꽤 중대한 변화라고 생각합니다 논리와 결정론의 세계에서, 원한다면 불확실성의 실제 세계

이 시점에서 나는 데모를 보러 가고 슬프게도, 나는 당신에게 데모를 보여줄 수 없다 사실, 저는 이것을 건너 뛰겠습니다 데모는 기계 작동중인 기계 학습 내 영화 선호도에 대해 배웁니다 실제로 실시간으로 그렇게합니다 그래서, 내가 좋아하거나 싫어하는 것처럼 영화를 평가할 때, 어떤 영화에 대한 불확실성 마치 점차 줄어 듭니다

그래서, 당신이보고있는 것 데모는 정말로 당신이 현대적인 관점을 좋아한다면, 저는 이것을 기계 학습의 현대 관점이라고 부르고 싶습니다 튜닝으로 기계 학습이 아닙니다 일부 최적화 프로세스에 의한 매개 변수, 대신 그 의미에서의 기계 학습 그 머신은 세계의 모델을 가지고 있습니다 이 경우, 아주 간단한 세계, 내가 좋아하거나 좋아하지 않는 영화의 세계, 그것에 대해 불확실성이있다

확률로 표현 된 세계 그리고 데이터를 수집 할 때, 불확실성이 줄어든 이유는 무엇인가를 배웠기 때문이며, 오히려 코인 플립 예제와 비슷합니다 그리고 우리는 모든 것을 생각할 수 있습니다 그 관점에서 기계 학습 지금 내가 할 일은 다음에서 자습서를 제공하는 것입니다

약 1 슬라이드 내 좋아하는 주제, 확률 론적 그래픽 모델 내가 너에게 어떻게 보여 줄까요? 우리는 모델 기반 기계 학습의 꿈을 실현했습니다 기계 학습의 철학뿐만 아니라, 나침반뿐만 아니라 이 복잡한 공간을 안내하고, 그러나 실용적인 도구로서 실제 응용 프로그램에서 사용할 수 있습니다 그리고 이렇게하기 위해서, 나는 너에게 줄 필요가있다 그래픽 모델에 대한 매우 빠른 자습서

그래픽 모델에 대해 이미 알고 있다면, 이것은 매우 지루할 것입니다, 이미 그래픽 모델에 대해 잘 모르는 경우, 너는 너무 많이 배우려고한다 적어도 당신은 그것을 느낄 것입니다 상상 해보니, 나는 두 개의 상자가있다 그 중 하나는 녹색이고, 그 중 하나는 파란색입니다 그리고 나는이 박스들 중 하나를 무작위로 고를 것입니다

반드시 50, 50 확률은 아닙니다 그것은 60, 40 또는 뭔가있을 수 있습니다 그리고 나서 우리는 그것을 설명 할 것입니다 그래픽 표기법으로 그리고이 그래픽 표기법, 나는 원을 대표한다 이 불확실한 양

그래서, 그것은 가치 항아리입니다 항아리는 녹색 또는 파란색 중 하나 인 이원 변수입니다 하지만 그것은 일반적인 변수가 아닙니다 녹색이 아니거나 파란색이나 아무것도 또는 뭔가, 그것은 녹색 또는 청색의 확률을 가지며, 그것은 불확실한 변수입니다 그리고이 작은 상자는 그 확률을 설명합니다

이제 상자가 쿠키, 비스킷을 담고 있습니다 이 비스킷은 원형 또는 삼각형입니다 비스킷의 비율은 상자마다 다릅니다 그래서 나는 이제 내가 할 말을 할 수있다 녹색 상자, 녹색 항아리, 나는 보지 않고 쿠키를 꺼내, 그러면 1/3의 가능성이 있습니다

삼각형과 삼분의 일은 원형이 될 것입니다 대신 푸른 색 단지에 가면, 아마도 3 분의 1이 될 것입니다 원형과 3 분의 2가 삼각형이됩니다 괜찮아? 다시 한번, 불확실성이 있습니다 항아리에서 쿠키를 꺼내면, 우리는 그것이 어느 것인지 불확실합니다

그러나 우리는 무언가를 안다, 우리는이 확률을 안다 그래서, 쿠키는, 다시, 불확실한 변수이다 그것은 삼각형이나 원입니다 그것은 확률이있다 그 확률의 가치는, 이 무작위 변수 jar 값에 따라 달라집니다

그래서 우리는이 모델을 우리가 호출하는 것으로 생각할 수 있습니다 나는 실험을하는 생성적인 방식으로, 우선, 무작위로, 항아리를 선택하고 그 항아리를 주면, 나는 안으로 들어갔다 그리고 나는 무작위로 쿠키를 선택한다 그리고 저에게 가치를 알려줍니다 항아리와 결과적으로 쿠키의 가치

이는 앞으로의 모델이며 데이터를 생성합니다 jar를 생성하면 쿠키를 생성합니다 그리고 저는 여러 번 반복 할 수있었습니다 이제 실제 응용 프로그램에서 일반적으로, 물론이 그래프에서, 세상에 대한 나의 사전 지식을 묘사하고 있습니다 나는 세상이 병과 그것으로 이루어져 있다는 것을 안다

쿠키로 구성되어 있으며 어떤 방식으로 서로 관련이있다 이 그래프는 매우 시각적 인 표현 방식입니다 그 이전의 지식은 머신 러닝에서 보았 듯이 분명히 중요합니다 일반적으로 우리는 이 그래프는 우리가 뭔가를 관찰하고, 이 경우 쿠키를 볼 수 있습니다 아니면 다른 방향으로 가고 싶습니다

우리는 그 항아리가 어느 항아리에서 왔는지 알아 내고 싶습니다 그래서 아마 60 %의 확률로 녹색 일 것입니다 그래서, 그것은 녹색이 될 가능성이 더 높습니다 하지만 지금, 쿠키를 볼 때, 나는 쿠키가 삼각형임을 관찰한다 자, 직감은 삼각형이라면, 파란색에서 온 것보다 더 가능성이 큽니다

녹색 맞습니다 그래서 수학을 할 때, 당신은 단지 거기에 기지가 있고 아주 간단합니다 당신은 항아리 일 확률이 높다는 것을 알게 될 것입니다 파란색으로 조금 이동합니다

당신은 직감이 기대하는 것과 같습니다 그래서, 당신이 원한다면, 기계 학습 과정입니다 우리는 내가 특정한 영화를 좋아한다는 것을 관찰했다 기계의 내부 상태가 업데이트됩니다 스테로이드에 근거한 정리를 사용하여, 나는 조금 더 가능성이 높다

액션 어드벤처와 같은 로맨틱 코미디 또는 그것이 무엇이든간에 그리고 그것은 충돌 튜토리얼입니다 그러나이 놀라운 책의 8 장, 나는 네가 가질 것이라고 확신한다 제 8 장은 무료 PDF 다운로드 그것은 그래픽 모델의 전체 장입니다 괜찮아

이제 설명해 보겠습니다 나는 선택하러 갈거야 특정 기계 학습 알고리즘, PCA 또는 주성분 분석이라고하며 모두가 기계 학습에서 배우는 무언가 101 그리고 우선, 우리는 PCA에 대해 설명 할 것입니다 보통 교과서에서 그걸 배울거야

그리고 나서, 어떻게 파생시킬 지 보여 드리겠습니다 모델 기반 관점을 사용하는 PCA, 우리는 그러한 그래픽 모델을 사용할 것입니다 그래서, 알고리즘으로서의 PCA, 그것은 조리법과 같습니다 데이터에 적용하는 방법입니다 우선, 데이터를 가져 가라

따라서 데이터는 일부 높은 차원 공간 그리고 그들 중 n 명은 말하지만, 우선, 평균을 계산하는 벡터를 평균화하고, 그런 다음 모든 벡터의 평균을 뺍니다 이 것을 계산하라 샘플 공분산 행렬, 그 다음 고유 값과 샘플 공 – 분산 행렬의 고유 벡터들, 고유 벡터 (eigenvectors)를 유지한다 M 개의 가장 큰 고유치에 대응한다

어떤면에서는 압축되어 있습니다 데이터를 투영하거나 M 차원 부분 공간 분산을 보존하는 방식으로 그래서, 그것의 주요 구성 요소 요리법으로 당신은 그것을 코드화 할 수 있고, 핸들을 돌리면 대답이 나오 겠지 왜 그 요리법을 골랐습니까? 너의 일을 잘했을 때, 잘 작동하지 않는다면? 지금 무엇을 할 예정 이니? 너 어떻게 변할거야? 더 잘 작동하도록 요리법? 너 나침반이 없다면, 당신은 무작위 시행 착오로 남아 있습니다 여기에 사물에 대해 생각하는 훨씬 좋은 방법이 있습니다 그래서 이것은 PCA가 모델로 간주됩니다

그래서, 우리가 병을 고르는 것과 같은 방식으로, 항아리에서 쿠키를 선택한 다음, 데이터를 생성하는 방법을 설명 할 것입니다 캡처하는 한 가지 방법 너의 사전 지식은 쓰는거야 데이터가 생성되는 방식을 설명합니다 그래서이 경우에는 벡터를 선택한다고합니다 하위 차원 서브 스페이스로부터, 다음과 같은 가우시안 분포로부터 제로 평균 단위 분산, 원형 가우스 분포

그래서, 그 가우시안 분포로부터 벡터를 선택하십시오, 그 다음에 그것을 투사하십시오 이 고차원 공간 일부 선형 변환으로, 귀하의 데이터 공간, 마지막으로 그 투영 된 점을 취함으로써 데이터 점 가우스 분포의 중심을 이루는, 다른 가우스 분포 노이즈를 나타내고 그 샘플을 선택합니다 따라서 세부 정보는 걱정하지 마십시오 방법에 대한 설명 일뿐입니다

다음 중 하나를 선택하십시오 항아리와 손이 닿은 다음 쿠키를 선택하십시오 따라서 낮은 차원의 벡터를 선택하십시오 그리고 나서 생성한다 노이즈를 추가하여 높은 차원의 벡터

또 다른 작은 표기법은 플레이트라고 불립니다 이 과정을 n 번 반복하면됩니다 그래서 쿠키에 다시 넣으라고합니다 항아리에 잘 흔들어주세요 다시 눈을 감고, 항아리를 골라 내고, 항아리에서 쿠키를 가져 와서 n 번 해보십시오

>> 그래서 생성 과정은 데이터가 어떻게 생성되는지 사전 지식을 표현할 수있는 좋은 방법입니다 그러나 기계 학습을 할 때, 우리는 역의 문제를 해결하려고 노력하고 있습니다 우리는 다른 방법으로 돌아 가야하는데, 이것은 훨씬 더 어렵습니다 그래서 우리는 데이터를 관찰합니다 우리는 추론을해야합니다

낮은 차원 공간의 점들에 관해서, 또한 매개 변수의 값 이 선형 변환 그래서 추론을해야합니다 그리고 다시, 그것은 수학적 증명입니다 이것은 동일하다 호출 한 것을 사용하면 추론을 처리 할 수있는 최대 가능성, 즉, 최대화 할 모든 매개 변수를 선택하면 모델에 대한 데이터의 확률, 당신은 정확히 PCA를 복구합니다

자,이 시점에서, 당신은 '아'라고 생각합니다 PCA로 돌아 가기위한 많은 작업이 필요합니다 ' 그래서 완전히 동등합니다 그렇다면 왜 모델 기본보기가 훨씬 개선 되었습니까? 그 이유는 네가하고 싶은 일을하지 않는다 당신은 돌아가서 그 가정들을 조사 할 수 있습니다

그리고 가정을 다음과 같이 변경할 수 있습니다 당신이 해결하려고하는 문제를 잘 반영하고, 그런 다음 모델을 재창조하십시오 당신은 단지 조리법을 가지고 있지 않다 자넨 절차가있어 당신의 문제에 가장 적합한 모델에 도달했기 때문입니다

그래서, 간단한 예를 들어 보겠습니다 이 그림들, 이러한 데이터 포인트를 생성, 독립적으로 생성되지는 않습니다 그래서, 예를 들어, 내가 항공 교통 통제라고 상상해 봅시다 나는 비행기가 어디에 있는지 알고 싶다 비행기가 하늘을 날고있다

그리고 잠시, 내 레이더 그 에너지를 보낼 것입니다 그것은 비행기에서 튀어 나올 것입니다 돌아와서 받아 들인다 비행기가있는 곳을 측정합니다 이제 문제는 그 측정이 시끄럽다는 것입니다

그래서, 제가 단지 하나의 측정을한다면, 나는 비행기가 대략 어디에 있는지 알 것이다 그러나 약간의 불확실성이있을 것입니다 자, 우리는 그것이 단지 랜덤 노이즈라면, 여러 번 측정을하면, 나는 소음을 평균화 할 수있다 보다 정확한 견적을 얻으십시오 그 비행기가 어디에 있는지

그래서 몇 가지 측정을 할 것입니다 문제는 비행기가 움직이고 있다는 것입니다 이 측정을 할 때 움직입니다 만약 내가 측정 값을 평균하면, 그것은 소음을 평균화 할 것이기 때문에 좋을 것입니다 그러나 나는 또한 위치를 평균화 할 것이고, 그것은 내가 찾으려고하는 것입니다

그래서 나쁜 소식입니다 평균치가 아니면 최신 측정치 만 사용하면 나는 그 움직임을 평균하지 않을 것이다 하지만 나는 많은 소음이있다 그래서 내가 무엇을해야하니? 글쎄, 당신은 일종의 직감을 품을 수 있습니다 당신은 "흠, 나는 최신 측정을해야한다

그것이 비행기가있는 곳이기 때문에, 이전 측정 값을 조금 더 추가하겠습니다 소음을 없애기 위해서 어쩌면 약간의 측정을 위해 " 그러나 10 분 전의 측정은 부적합합니다 따라서 가중치 평균을 사용하면 또는 나는 더 최근의 측정에 더 많은 비중을 둔다 그것은 당신의 직감입니다

사실, 그 직감은 좋았다 그것은 실제로 당신이해야하는 것입니다 그러나 얼마나 많은 무게를 주어야합니까? 이 부식에 어떤 종류의 함수를 사용해야합니까? 얼마나 부패해야합니까? 어떻게해야할지 어떻게 알 수 있습니까? 너의 뒤 조리법의 세계에서, 직감, 시행 착오 그래서 대신에, 우리가 매우 명시적인 모델을 만들어 봅시다 우리가 만들 예정인 모든 가정들에 대해서, 그것이 더 잘 작동 할 가능성이 있기 때문입니다

그리고 그렇지 않다면 우리는 어떻게 그것을 개선하기 위해 사물을 변화시키는 것 그래서, 우리는 여기에는 우주에서의 비행기의 실제 위치가 있습니다 오, 미안 이것은 우주에서의 비행기의 실제 위치 나는 우리가 알고 싶어한다고 생각해

우리는 그것을 모른다 알 수 없습니다 그래서 비행기가 어떤 위치에 있습니다 그리고 나서 우리는 측정을합니다 측정시 잡음이 있습니다

그래서 이것은 소음 과정입니다 그러나 우리는 이것이 가치 있다는 것을 압니다 그것이 우리가 관찰하는 것입니다 이것은 관찰 된 위치이며, 진정한 위치를 시끄럽게 측정합니다 그것만으로 볼 때, 우리는 이것을 예측할 수는 있지만 많은 불확실성이 있습니다

지금 일어날 일은 비행기입니다 하늘을 가로 질러 움직입니다 우리는 그 모델을 만들 수 있습니다 우리가 가질 수있는 가장 간단한 모델은 불확실성 비행기의 위치는 가우시안 (Gaussian)이고, 측정 잡음은 가우시안 (Gaussian)이며, 그리고 비행기의 움직임이 하늘은 선형 모델로 설명됩니다 그래서, 그 위치와 속도가 주어지면, 우리는 그것이 다음 시간대에있을 곳을 계산할 수 있습니다

자, 다시, 우리는 또 다른 측정을합니다 그 다음 타임 스텝의 또 다른 시끄러운 측정 이제 비행기가 움직입니다 조금 더하면 우리가 만든다 다른 측정 등등

그래서 그것은 생성 과정입니다 그러나 이제 우리가해야 할 일은 추론을하는 것입니다 이러한 관찰을 감안할 때, 우리는 계산할 필요가있다 우리는 확률을 수정할 필요가있다 이러한 비행기 위치 중

그래서, 우리는 베이 즈의 정리 일뿐입니다 그것은 Bayes의 정리에 더 복잡한 버전입니다 그리고 그 문제는 매우 우아한 방식으로 해결되었습니다 그래프를 중심으로 메시지를 전달하여 계산적으로 그래서 우리는 그것에 갈 시간이 없습니다 그것은 매우 아름다운 수학적 표현입니다

해결책을 메시지 파싱이라고합니다 그것은 매우 일반적입니다 하지만 이거 이름이 밝혀졌습니다 칼만 필터라고합니다 그것은 50 년대 이래로 주위에있었습니다

이것은 전기 공학의 표준 재료입니다 2006 년 교과서를 쓸 때, 나는이 시간 시리즈 모델에 대한 장을 가지고 있었고, 칼만 필터 (Kalman filters)라고 불리는 책을 몇 권 읽었습니다 칼만 필터 소개 나는 그것을 꽤 꿰 뚫을 수없는 것으로 안다 그리고 그것은 매우 복잡합니다

많은 챕터가 있습니다 마침내이 모든 것들을 얻으십시오 이것은 훨씬, 파생의 가장 간단한 방법 내가 아는 칼만 필터, 메시지 구문 분석을 유도하고 그 일반성을 알고, 이 선형 가우스 모델에 적용합니다 그리고 여러분은 칼만 필터 방정식을 얻습니다 네가 말하는, 이것의 사후 확률, 에 비행기의 위치 이 시간은 모든 측정에 달려 있습니다

이것은 더 민감합니다 현재와 ​​그렇게, 최근 측정 그래서, 당신은 그 가중치의 부패를 얻습니다 증거하지만 아주 정확한 방법으로 당신은 수학에서 파생 된 것입니다 그리고 심지어 지나칠 수 있습니다

다른 방향을 측정하고 보낸다 과거의 정보, 비행기가 어디에 있었는지에 대한 더 나은 평가를 얻고, 하지만 미래의 측정으로 다시 말하지만, 당신의 직감이 나타내는 것입니다 맞춰봐? 이것이 가우시안이 아닌 경우, 그러나 이산 변수라고 가정하면, 다시, 당신은 방금 앞뒤로 조치를 전달합니다 이제는 숨겨진 마르코프 모델이라고합니다

글쎄, 그건 완전히 다른 문학이야 완전히 다른 표기법 완전히 다르지만 똑같이 통과 할 수없는 파생물 이 모든 일이 어떻게 진행되는지 다시 말하지만, 정확히 똑같은 모델 일뿐입니다 약간 다른 가정 그리고 이것은 아마도 꽤 잘 작동 할 것입니다

어쩌면 충분히 잘 작동하지 않을 수도 있습니다 어쩌면 일부가있을 수 있습니다 그래서, 당신은 당신의 문제에 대해 이것을 시도합니다, 아직도 잘 작동하지 않는다는 것을 알게됩니다 충분히, 당신은 무엇을 해야할지 압니다 아마도 그럴 수도 있습니다

수집 한 데이터의 문제점 아마도 추론에 문제가있을 수 있습니다 대부분의 추론 알고리즘은 근사치이기 때문입니다 칼만 필터의 경우 정확합니다 그러나 일단 더 복잡한 모델에 도달하면, 당신은 항상 대략적인 추론을합니다 아마도 추론 알고리즘에 몇 가지 문제가있을 수 있습니다

어쩌면 이전 가정이 맞지 않았을 수도 있습니다 어쩌면 당신이 그들을 수정해야합니다 해결하려는 문제에 대해 당신은 당신이 명백하게했기 때문에 그렇게하는 법을 압니다 어쩌면이 잡음은 가우시안이 아닙니다 아마 진짜 레이더 일거야

그래서 당신은 레이더 엔지니어와 이야기 할 것입니다 무슨 소음인지 알아 내라 정말로 그렇다면, 그것을 모델링하십시오 그리고 당신은 더 나은 결과를 얻습니다 괜찮아

최종 슬라이드가 더 많거나 적습니다 지금까지 내가 보여준 것은 정말로 철학입니다 내가 희망하는 기계 학습의 관점은 도움이된다 당신을 안내 할 수있는 나침반 제공 알고리즘의 복잡한 복잡성, 뿐만 아니라 사용하는 실용적인 도구 실제 응용 프로그램을 만들 때 그러나 우리 마음의 뒤쪽에는 꿈이 있습니다

그리고 꿈은 우리가 어떻게 든 이것을 자동화 할 수 있다는 것입니다 우리는 다음과 같은 도구를 제공 할 수 있습니다 신경망에 모든 교과서를 읽지 않은 사람들, 내 말은, 기계 학습 등등 그건 그렇고, 교과서를 구입해야합니다 당신은 그들을 읽을 필요가 없습니다

그래서 모두들 분명히하고 있습니다 또는 특히 어쨌든 하나 하지만 그 모든 것들을 읽으라고 이 모든 것을 배우면 자동화 할 수 있습니까? 도움이 될만한 도구를 제공 할 수 있습니까? 기계 학습에이 접근법을 민주화 하시겠습니까? 그리고 이것은 꿈입니다 코딩에 대해 생각한다면 복잡한 문제에 대한 추론, 영화 추천자 예와 같이, 그것은 꽤 복잡한 물건이다 수천 줄의 코드

기계 학습 전문가를 대상으로합니다 당신은 모델링, 추론에 대해 알고, 추론을 코딩하는 법을 알아라 이러한 모델의 맥락에서 이것은 모두 복잡한 것입니다 모두 C ++로 작성하거나 좋아하는 언어가 무엇이든간에, 기계 코드로 컴파일, 데이터와 결합 된, 많은 계산이 발생하고 당신 불확실성으로 당신의 예측을 얻으십시오 대신에, 우리는 우리가 확률 론적 프로그램이라고 부르는 것을 적 으십시오

그래서 확률 론적 프로그램은 아주 짧은 조각 적절한 언어로 작성된 코드, 효과적으로 설명하는 그 확률 론적 모델, 그 그래픽 모델이 설명합니다 그래서, 그것은 거의 말할 것이다 이 확률로 항아리 중 하나를 선택하십시오 그리고 그 병을 위해, 특정 확률로 쿠키를 선택하십시오 또는 비행기가 하늘에서이 위치에 있으면, 그리고 1 초 후, 그것은 새로운 위치로 옮겨졌고, 나는 측정을 할 것입니다

측정 값에 가우스 노이즈가 있습니다 그것은 단지 간단한 설명과 몇 줄의 코드 일뿐입니다 우리가 운이 좋다면 수십 줄의 코드, 데이터의 생성 프로세스를 설명하는 또는 그것을 매우 명확하고 직관적 인 형태로 기술한다 우리가 우리 모델에 베이킹하고있는 사전 지식 그리고 우리는 마술 조각으로 갈 것입니다

확률 적 프로그램 컴파일러 인 이 높은 수준의 설명과 이 1,000 줄의 코드를 자동으로 생성합니다 그래서 그것이 꿈입니다 우리는 꿈을 이루지 못했습니다 그러나 우리는 많은 진전을 이루었습니다 우리는 컴파일러를 만들었습니다

네가 인페르넷에 가면, infernet을 다운로드 할 수 있습니다 그리고 튜토리얼과 예제 등이 많이 있습니다 그리고 infernet은 모든 가능한 경우를 다루지는 않지만, 그러나 많은 일반적인 경우를 다룹니다

또한 적용 가능한 경우, 당신은이 자동화를 가지고 있습니다 그리고 물론, 전체 시간, 우리는 그것을 확장하고 그것을 일반화하려고한다 따라서 검색을위한 흥미로운 프로그램입니다 그래서 우리는 당신에게 이것을 남겨 둘 것입니다 이것은 그래픽 모델입니다

확률 변수, 확률, 그리고 영화 추천자 문제를위한 판, 영화를 추천하는 문제 그래서 여기에 우리는 용도가 있습니다 그래서 나는 그 글을 읽을 수 있도록 뒤로 물러 설 것이다 괜찮아 사용자 편중 기능의 가중치

그래서 우리가 가진 것은 사용자에 대한 특징입니다 나이, 성별, 지리적 위치, 어떤 영화가 같은지 영향을 줄 수 있습니다 여기에는 항목의 기능이 있습니다 그래서 그것은 영화의 지속 시간일지도 모릅니다 배우, 무엇이든, 아마도 장르, 액션, 모험, 로맨틱, 코미디 등

그리고 우리는 또한 여기에 정보를 가지고 있습니다, 협업 필터링이라고 부릅니다 그래서 사람들은 좋아했습니다 좋아하던 영화들 다른 영화들과 마찬가지로, 그래서 아마, 당신은 그들을 좋아할 것입니다 그러나 일종의 코드로 작성되지 않았습니다

직감의 해키 조각의, 단지 확률 론적 모델에 의해 기술되었지만, 매우 정확한 확률 모델 그리고 이것은 이것에 캐스트 될 수 있습니다 수십 라인의 infernet 코드 그리고 추론 알고리즘 자동으로 컴파일 될 수 있습니다

그래서, 여기 아래로, 우리는 우리는 관찰한다 그것이 등급입니다 그게 내가이 영화가 마음에 들었거나 그렇지 않다고 말하는 사람입니다 이 영화에는 5 개의 별이 있습니다 이것은 하나의 별입니다

일단 우리가 관찰을하면 그들이 좋아하는 영화에 관한 사용자로부터, 우리는 정보를 보내고,이 그래프 위로 기계를 통과시키고, 이러한 숨겨진 변수에 대한 확률을 수정하십시오 메시지를 다시 보내십시오 우리는 개정 된 확률을 얻는다 그 사람이 아직 보지 못한 영화에 대한 등급입니다 그래서 우리는 내가 갈 확률을 업데이트합니다

보이지 않는 영화 기반 내가 본 영화에 주어진 평가에 수천 개의 다른 사람들이 그 영화와 다른 영화를 보냈습니다 그것이 작동하는 방법입니다 그리고 다시 그것은 모두 infernet에 기록됩니다 그래서 우리는 당신에게 다른 책을 남겨 둡니다

그러나 좋은 소식은이 책은 온라인이며 무료입니다 영원히 더 많을 것입니다 모델 기반 기계 학습이라고합니다 John Winn과 공동 저자입니다 존은 실제로 해냈다

이 책에서 압도적으로 많은 작업을하고 있습니다 그래서 저는 두 번째 저자입니다 정말 존의 아기예요 이것은 매우 드문 책입니다 조금 소개 장이 있지만 거기에, 모든 장이 실제 사례 연구입니다

다음에서 예제를 선택했습니다 Microsoft는 이것이 우리가 알고있는 것이기 때문에, 이것들이 우리가 작업 한 것들입니다 그리고 각각의 경우에있어서, 우리는 그 문제로 시작합니다 우리가 해결하려고하는 문제는, 우리는 일치하려고합니다 Xbox에서 다른 플레이어가 좋은 게임을 할 수 있도록, 다른 말로하면, 그것들은 비슷한 강도로 일치 할 것입니다

그것이 우리가 풀려고하는 문제입니다 우리는 우리가 가지고있는 데이터를 기술 할 것이고, 우리는 사전 지식, 우리가 가정 할 가정들 우리는 기계 학습 알고리즘을 유도합니다 우리는 데이터에서 그것을 테스트합니다 우리는 그것이 잘 작동하지 않는다는 것을 안다

그것이 실제로 일어나는 일이기 때문입니다 시도한 사람 누구나 실제 세계에서 기계 학습, 일반적으로 시도한 첫 번째 작업은 작동하지 않습니다 그런 다음 디버깅으로 돌아갑니다 우리가 수집 한 데이터에 문제가 있었습니까? 추측에 문제가 있었는지, 근사 추론 알고리즘을 사용 했습니까? 아니면 우리가 만든 가정에 문제가 있습니까? 그래서 우리는 가정을 수정 한 다음 그것을 다시 실행하십시오 챕터에는 해피 엔딩이 있습니다

우리는 좋은 결과를 얻고 배송합니다 수백만 명의 사람들이 사용합니다 하지만 조금 더 그 과정에 정직한 우리는 그 해결책에 도착했고 그것은 당신에게 어떻게, 이 예제들 각각에 대해, 그리고 그들은 매우 다른 영역에서 파생됩니다 의료 사례 등, 잘하면 당신은 가정을 명백하게함으로써 어떻게 볼 수 있는가? 그 중요한 사전 지식, 그것을 명백하게함으로써, 그것은 당신에게 과정을 안내 할 수있는 나침반을 제공합니다 수정 및 정제의 해결책을 찾고 올바르게 작동하게하십시오

그렇지 않으면 큰 공간이 남아 있습니다 시행 착오와 다음에 무엇을 시도해야할지 모른 채 그래서 그걸로 고맙습니다 >> 그 위대한 이야기를 해주신 크리스에게 감사드립니다 아마 우리는 몇 가지 질문을하고, 그래, 마이크있어? 좋아,이 손이 먼저 올라갈거야

신사 숙녀분을위한 마이크 >> 안녕하세요 저는 들리지 않습니다 아주 좋은 이야기 해줘서 고마워 그래서 한 가지 질문이 있습니다

확률 론적 모델의 클래스로 제한함으로써, 우리가 뭔가를 잃어 가고있는거야? 그것에 대한 당신의 생각은 무엇입니까? 왜냐하면, 거기에 확률 론적 모델이 아닌 신경망 네 그것에 대한 여러 생각 우선, 확률 론적 견해 기계 학습의 일반적인 하나입니다 그래서 불확실성의 자격 확률을 사용하는 것만이 불확실성을 다루는 합리적인 방법

실제로, 우리는 종종 확률을 정확하게 다룰 수는 없다 우리는 일반적으로 근사치를 만들어야합니다 하나의 극단적 인 근사가 포인트 추정입니다 그래서 우리는 몇 가지 복잡한 단일 값으로 분배 그 단일 값은 어떤 식 으로든 선택 될 것입니다

예를 들어 최대 확률 일 수 있습니다 그래서 당신이 신경망을 가지고 있고 훈련을 받고 있다면 많은 가능성이있는 오류 최소화, 많은 [들리지 않는] 잡음 분포, 당신은 그 확률 론적 추론에 근접하고 있습니다 매우 과격한 근사치가 될지도 모릅니다 그리고 모델이 커질수록 모델은 더욱 복잡해지고, 더 많은 데이터를 보유할수록 당신이해야 할 공연자, 일반적으로 더 급진적 인 당신이해야하는 근사값 다루기 쉬운 것을 얻기 위해서 귀하의 신청을 수행하기에 충분합니다 그래서 아주 일반적입니다

일반적으로 말해서, 비록 당신이 할 수 없을 수도 있지만 완전한 확률 분포를 유지하라 모든 내부 변수들 당신이 영화 예에서했던 것처럼, 그래서 신경망의 모든 내부 무게 그럼에도 불구하고 결과물은 거의 반드시 확률이어야한다 그래서 나는 원칙적으로, 예측을 할 때마다 항상 확률 론적 예측이어야합니다 Support Vector의 문제점 중 하나 본질적으로 확률론이없고 거기에 나중에 그것을 고치는 방법입니다

그래서 당신이 확률 론적 예측을 할 때, 이 사람이 암에 걸렸다 고 말하는 대신에, 암에 걸릴 확률이 37 %라고합니다 우선, 임계 값을 설정할 수 있습니다 그것은 결정으로 돌아갑니다 그러나 훨씬 더 많이 할 수 있습니다 예를 들어, 아마도 비용 암에 걸린 사람을 데려가는 것, 암이없는 것으로 잘못 진단하는 경우 누가 말하는지보다 훨씬 나빠

건강하고 왜냐하면 첫 번째 경우에는 두 번째 경우에 죽을 수도있다 화가 나서 좀 더 테스트가 필요합니다 손실 측정은 다음과 같습니다 매우 비대칭 적이 지요 당신이 할 수있는 확률 그 점을 올바르게 고려하십시오

확률을 결합하여 결합 할 수 있습니다 여러 시스템의 출력은 불확실성의 유로 당신이 다른 시스템을 결합 할 수있는 보편적 인 통화 당신은 말할 수있는 한계점에서 일을 할 수 있습니다 나는 언제 결정을 내릴거야 내 자신감은 어느 정도 이상입니다

내 자신감이 그 수준보다 낮 으면, 나는 인간을 보내 버릴거야 그래서 네가 가진다면 아주 반복적 인 과제 의학 검진 하루 종일 현미경을 내려다보고있는 사람들, 너는 그들을 도울 수있을거야 데이터의 90 %를 차지하며 이것은 암이 아니라 다른 모든 것을 확신합니다 우리는 인간의 판단으로 떠날 것입니다 오늘은 매우 실용적인 일입니다

그래서 많은 장점과 확률 론적 예측과 단점이 없다 언제나 당신의 가능성입니다 좋습니다, Masam은 질문을 하나 더 받겠습니다 그래서 두 가지 더 질문을하고 랩을 할 것입니다 저는 IoT Delhi의 Masam입니다

아주 좋은 이야기 해줘서 고마워 나는 2000 년대 초에 AI를 배웠고, 그리고 그것은 확률론적인 시간이었습니다 그래픽 모델이 최고조에 달했고, 나는 응용 연구원이다 나는 자연 언어 처리와 나는 일한다 꽤 많이 회의를 기억해

아주 소수를 제외한 모든 논문 모든 확률 론적 그래픽 모델이 어떤 때는 LDM이되었다 기반 등등 물론, 새로운 세계 질서가 있습니다 그래서 나는 아주 적은 논문을 찾았다 응용 분야와 나는 사람들에 대해 이야기하는 것이 아니다

2D 및 기계 학습의 기본 사항을 살펴보십시오 아직 많은 일이 진행 중입니다 거기에는 감독되지 않은 학습도 있습니다 그러나 애플리케이션 도메인에서, 그것은 모든 신경망을 왼쪽과 오른쪽으로 센터 및 확률 론적 그래픽 모델은 시도되지 않았거나 따라 잡기와 삶이 바뀌었다 그래서 나는 이해하고 싶다

미래의 당신의 견해 앞으로 올 때 알고 있듯이, 당신은 무엇을 역할로 봅니까? 확률 론적 그래픽 모델 기반 응용 분야의 솔루션 당신은 그들이 여전히 강한 역할을 할 것이라고 믿습니까? 놀이를하거나 그들이 믿는가? 신경망에 의해 추월 될 것인가? 그들이 역할을해야한다면 그것은 신경과 관련이 있을까요? 사용시 제공되는 가치는 무엇입니까? BGM 솔루션은 올바른 솔루션에 접근 할 것인가? >> 물론 그래서 너는 그 기계 학습이 그 외 모든 것은 사회적 기업입니다 괜찮아 그럼 신경망을 봅시다

엄청난 흥분이 기계 때문에 양전자 주위에 1960 년대 배우고 당신 수 있습니다 전선의 10 %를 자르고 계속 진행했다 그냥 꽤 잘 작동하지 않습니다 두뇌 그래서 엄청난 흥분

그 때 모든 사람들이 다시 떠나 갔고 모두 다시 돌아왔다 1980 년대, 1990 년대 신경망은 모든 것에 대한 해결책이었습니다 그런 다음 모두가 다시 떠나서 모든 것이 다시 돌아 왔습니다 이제는 모든 것입니다 그리고 애플리케이션 도메인에서, 우리는이 특별한 기법들을 가지고 있습니다

어떤 종류의 회선과 LCM, 그리고 몇 가지 것들 그래서 우리가 할 수있는 특정 문제에 대해 아주 잘 작업하고 있습니다 손으로 레이블을 붙일 수있는 많은 데이터를 얻습니다 많은, 많은 실제적인 신청 그래서 그것은 놀랄 일이 아닙니다

이 엄청난 초점 응용 프로그램이이 하나의 설정에 부담입니다 우리는이 새로운 기법과 모든 사람을 발견했습니다 모든 종류의 장소에서 그것을 적용합니다 그건 놀랄 일이 아닙니다 네가 뒤로 물러서서 보면 기계 학습 분야, 매우 광범위한 분야입니다

이 차별 교육 기반 손에 수준의 데이터가 하나의 작은 모서리, 모든 종류의, 마지막 연사가이 중 일부를 다뤘다는 것을 알 것 같습니다 너무 많은 제한이 있습니다 표면을 긁다 우리가 기계 학습으로하고 싶은 것 전 세계 강화 학습, 무 감독 학습, [들리지 않는] 그리고 언급 된 누군가 타는 작업은 질식사를합니다 그들은 편견과 학습에 관한 모든 이슈입니다

기계 학습의 세계를 다음과 같이 생각하십시오 이 엄청난 기회는 우리 앞에서 저기에, 그리고 지금 당장에는 수많은 사람들이 있습니다 이해할 수 있고 좋은 이유들 때문에, 음악 및 특정 기술 응용 프로그램에 중점을 둡니다 우선, 확률이 기초입니다 if라는 수학적 정리가 있습니다

너는 합리적으로 행동하고있어 너는 확실치 않아 확률을 사용하거나 동등한 것 그래서 그것은 사라지지 않을 것입니다 나는 수학이 변하기 때문에 잉크를 사용하지 않는다

그래픽 모델은 매우 아름다운 표기법입니다 개인적으로 나는 그림이 가치가 있다고 생각한다 천 방정식 사진을보고 더 쉽게 볼 수 있습니다 Maths의 페이지 및 페이지보다 그래서 나는 그림들이 그렇게 생각하지 않는다 곧 언제든지 떠날 것입니다

하지만 귀하의 질문은 실제로 실용적인 응용 프로그램에 관한 것입니다 수많은 응용 프로그램이 있습니다 우리는 응용 프로그램, 당신은이 책에서 예제를 보게 될 것입니다 신경을 던지고있는 곳 네트워크가 올바른 방법이 아닙니다 우리는 실제로 그래픽 모델입니다

적절한 도구와 기술을 사용하십시오 그래서 나는 다음 파도가 어떻게 될지 예측할 수 없다 어쩌면 보강 학습이 발굴하고 실제 견인력을 얻으십시오 모두가 비틀 거리고 시작합니다 모든 것에 보강을 적용합니다

그러나 기계 학습이라는 분야에서, 들판으로 들어가기 엔 정말 놀랍습니다 우리는 단지 이것의 시작에 불과합니다 내 아들은 컴퓨터 과학을하는 대학에 있습니다 그는 기계 학습에 관심이 있습니다 나는 잘 생각한다

그것은 훌륭하다 있을 수있는 전 직업이 있습니다 이것 때문에 지어졌다 우리는 단지 이것의 시작에 불과합니다 >>하지만 작은 후속 조치

그래서 네가 해봤다고 했잖아 작동하지 않는 일부 애플리케이션의 신경 네트워크, 듣기 정말 기쁩니다하지만 할 수 있어요 어떤 종류의 설정을 특징 짓는가? 신경망이 잘되지 않길 바란다 감독되지 않은 시나리오에서 PDM이 해결책일까요? >> 물론

예가 될 것입니다 Xbox의 스킬 매칭 예제 다시 한 번 책의 한 장입니다 가정은 어디입니까? 플레이어가 생겼을 때 어떤 기술과 당신의 기술에 약간의 불확실성이 있습니다 우리가 실제로 가장 단순하게 묘사 한 Gaussian 분포에서 가능한 [들리지 않음]

그리고 나서 그들은 서로 대치하며, 당신이 그들의 공연 방법에 대한 모델을 가지고 있다는 것을 안다 강한 플레이어가 때로는 잃을 수도 있기 때문에 다릅니다 그들이 플레이하지 않았기 때문에 약한 선수 그 특별한 게임에서 너무 잘 이것이 우리가 모든 것을 모델링하는 방법입니다 사실, 실제로 그 모형을 만들고 최대 우도 한도 만보고, 우리는 불확실성을 버린다

당신은 엘로 (elo)라고 불리는 것을 생각해 내고, 이것은 전세계 체스에서 사용되는 표준 방법입니다 그래서, 그것은 모델입니다 해당 특정 응용 프로그램에 적합합니다 다시 한 번 다 내려갑니다 모든 종류의 근본적인 점을 얻는 것까지, 그런 일이 없다는 것입니다

범용 알고리즘 다시 한 가지 수학적 정리가 있습니다 그것은 올바른 종류의 건물에 관한 것입니다 문제에 맞게 설계된 솔루션 그래서, 당신은 그 책의 몇 가지 예를 보게 될 것입니다 >> 좋아요, 우리는 여기서 마지막 질문 하나를 택할 것입니다

두 번째 줄 예 >> 안녕 이것은 델리의 기술부에서 [들리지 않음]입니다 그리고 저는 거기서 박사 과정 학생입니다 그리고 정말보고 싶어서요

너 더 얘기하는거야 확률 론적 그래픽 모델 나는 확률 론적 그래픽 모델과 이 시간에 때때로, 내가 오른쪽 영역에서 일하고 있다는 것이 두렵다 온 세상이 딥 러닝 (Deep Learning) 그래서 그것은 내게 안보 의식을줍니다 먼저 너 같은 사람이 그것을 전파하고 있습니다

고마워 그래서, 질문은 기본적으로 당신이 알고리즘 확률 론적 모델과 가정 그러나 그 때, 당신이 들어갈 때 확률 론적 그래픽 모델 당신이 선택하는 것과 같은 또 다른 질문이 생깁니다 나는 같은 문제가 당신이 어떻게 근사 추론 선택 선택할 알고리즘? 구조화 된 예측에서와 마찬가지로 근사 추론 기술의 충분한 양, MC MC에 대한 변량 추론 저것에 약간 이해가있다, 하지만 문제는 방금으로 옮겨 졌다고 생각합니다

근사 추론 알고리즘 당신은 확률 론적 그래픽 모델에 사용할 것입니다 그것은 첫 번째 질문과 두 번째 질문입니다 높은 수준에 있습니다 그래서 당신은 거기에 대해 이야기합니다 하나의 알고리즘이 아니며 적응해야합니다

당신은 문제를보아야 만합니다 가정을 이해하고, 거기에서 작동하는 알고리즘을보십시오 그와는 반대로, 내가 그것을 올바르게 이해한다면, 페드로 도밍고 스 얘기 작동 할 마스터 알고리즘 나는 우리가 거의 다 있다고 믿는다 그럼 그 생각은 어때? >> 알았어 우선, 나는 단지 말하고 싶지 않다

인상은 여기의 그래픽 모델과 저기에 신경망이 있어요 하나를 선택하거나 다른 하나를 선택하십시오 깊은 학습은 훈련 할 수있는 능력입니다 이 깊은 계층 구조의 계층 구조 그래픽 모델을 사용하여 문제점을 설명 할 수 있습니다 하지만 아마 그 중 하나 조건부 확률은 딥 신경망입니다

그래서 이것들은 대안이 아닙니다 나는 확률 론적 틀을 다음과 같이 생각한다 방법으로 그래픽 모델, 다시 그것은 당신의 길을 안내하는 나침반과 같습니다 Machine Learning의 전세계에서 깊은 학습은 매우 강력한 기술과 그것이 많은에서 자르기있어, 많은 다른 장소에서 많이 사용될 것입니다 그래서 저는 그것들을 대안으로 규정하고 싶지는 않습니다

하지만 저는 그래픽 모델을 좋아해요 모델을 설명하기위한 일반적인 프레임 워크의 일종 죄송합니다 질문의 두 번째 부분은 그만큼 그래, 그래

>> [들리지 않음] >> 나는 내가 말한 시간이 부족하다는 것을 의미한다 Approximate Inference에 대해서는 거의 없습니다 다시 말하면, 모델 기반 기계 학습 책은 일부 추론 방법을 통해 우리는 그 맥락에서 사용하고 있습니다 그리고 다시 실제 응용 프로그램에서 근사치 및 그 근사치, 너는 네가 가질지도 모르는 걸 안다

복잡한 다중 모달 분포, 당신은 Gaussian으로 근사치를 구할 수 있습니다 유니 모달 (uni-modal)이고 당신은 일종의 불확실성을 잃고 있습니다 거기에 약간의 모호성, 중요하거나 중요하지 않을 수도 있습니다 그래서 도전의 일부는, 필요한 결과를 얻지 못하면 문제가 어디서 잘못되었는지 진단합니다 그래서 나쁜 가정을하는 것, 부적절한 가정은 단지 장소 중 하나에 불과합니다

누군가 당신에게 쓰레기 데이터를 건네면 그것은 그것이 주장하는 바가 아니며, 그러면 나쁜 결과를 얻을 수 있습니다 귀하의 가정이 정확하더라도 그리고 추론 알고리즘과 같은 것은, 그것은 매우 복잡한 세상입니다 그리고 본질적으로 infernet의 목표 당신에게서 그것을 숨기는 것입니다

도메인 전문가로 집중할 수 있습니다 너의 사전 지식에 너 니가 전문가 야 Medical Imaging은 종양 전문 의사이기 때문에, 또는 무엇이든, 당신은하지 않습니다 추론에 대해 알아야 해 그리고 infer

net은 추측이 전적으로 자동이고 우리는 거기에 없다 그러나 우리는 진전을 이뤘습니다 >> 알았어 우리 모두를 위해 지금 마무리해야한다고 생각합니다 그런 종류의 [들리지 않는] 시간이 필요합니다

나는 크리스에게 감사의 표를 전하기 위해 [들리지 않음]을 요청할 것이다 고맙습니다 크리스 고마워