SAS Tutorial | Machine Learning Fundamentals

안녕하세요 나는 Ari Zitin이고, 나는 당신과 이야기 할 것입니다 오늘날 일부 기계 학습 기본 사항에 대해 우리는 약간의 세부 사항으로 갈 것입니다 일부 의사 결정 트리 모델과 일부 신경망 모델에서 그 일환으로 HMEQ Home Equity를 사용할 것입니다 이 모델에서 시도하고 자세히 설명하는 데이터 세트

우리가 데이터에 들어가기 전에 조금 이야기하겠습니다 머신 러닝에 대해 기계 학습의 아이디어는 컴퓨터를 자동화하고 싶다는 것입니다 무언가를 분류하는 작업 항상 할 수있는 쉬운 예 거의 모든 사람이 경험이 있다고 생각 ATM에 자동으로 수표를 입금하면 수표에 얼마의 돈이 있는지 알아냅니다 입력하지 않아도 믿을 수 없기 때문에 반드시 입력해야합니다 그것이하는 것은 수표 금액을 찍는 것입니다 기본적으로 과거 데이터로부터 학습 그 숫자가 실제로 무엇인지에 대해 주석을 달았습니다

이것이 이미지를 사용한 머신 러닝의 예입니다 우리가 할 일은 과거 데이터를 사용한 기계 학습입니다 은행 데이터, HMEQ 데이터 세트, 데이터 세트에 대한 링크가 있습니다 액세스하려면 아래를 클릭하십시오 공개적으로 사용 가능하며 따라갈 수 있습니다 동일한 데이터로 자신 만의 모델을 만들 수 있습니다

이 HMEQ 데이터 세트는 과거 데이터입니다 은행에서 고객에 대해 수집 한 우리가 예측하고 싶은 것은 그들은 대출을 기본으로합니다 이것이 우리의 목표가 될 것입니다 그들이 우리의 대출에 대한 채무 불이행 여부, 우리는 역사 정보를 사용합니다 시도하고 결정합니다 이전에 자동 확인으로 제공 한 예 스캔 할 때 대상은 검사의 숫자입니다 우리가 제공하는 정보는 실제로 사진입니다

머신 러닝에는 두 가지 다른 예가 있습니다 우리는 역사적인 은행 데이터를 사용하여 작업을 수행 할 것입니다 과거 은행 데이터에 대한 입력 대출 금액과 같은 것들입니다 요청한 담보 대출 금액 은행과의 소득 대비 부채 비율 연체 크레딧 한도 경멸 적 신용 보고서의 수 신용 한도, 직업 정보 대상은 이진 기본값 인 BAD입니다

하지만 나쁘기 때문에 BAD라고 생각합니다 당신이 대출에 불이행하는 경우 따라서 우리의 목표는 불이행 고객들에게는 1이 될 것입니다 대출에 대해서는 0이고 그렇지 않은 고객에게는 0입니다 우리는 사람들이 시도하고 예측하려고합니다 우리는 그들에게주는 것을 피할 수 있도록 대출에 대한 채무 불이행을 우리는 그들이 채무 불이행 될 것이라는 것을 알고 있습니다 이제 기계 학습의 예를 살펴 보겠습니다 알고리즘

우리는 의사 결정 트리로 시작합니다 알고리즘의 작동 방식을 파악한 다음 소프트웨어에서 알고리즘을 빌드하십시오 우리는 또한 신경망에 대해서도 같은 일을 할 것입니다 사진을 보면서 시작하겠습니다 어떤 종류의 데이터가 있는지 볼 수 있습니다 이 예에서는 데이터를 제한했습니다 2 차원으로

우리는 2 차원 데이터에서 파란색 점과 빨간색 점 우리는 논쟁을 위해 우리의 파란 점은-목표는 0입니다 그래서 그들은 그들의 대출을 불이행하지 않았습니다 우리의 빨간 점은 우리의 목표입니다 1은 대출에 대한 채무 불이행을 의미합니다 이 두 축은 입력 치수의 두 개일뿐입니다

그래서 나는 그들 중 몇 가지를 언급했습니다 이를 위해 x 축에서 우리는 연체 신용 한도를 가지고 있습니다 연체 크레딧 한도 고객이 보유한 y 축 우리는 그들이있는 집의 가치를 가지고 있습니다 신용을 빼려고 노력했습니다 그래서 우리는 고객에 대한 정보를 봅니다 보시다시피 클러스터링이 있습니다

파란색 포인트로 인해 대부분의 고객이 그들의 대출과 그룹을 기본으로하지 않았다 빨간색 포인트로 인해 대부분의 고객이 그들의 대출에 불이행했다 우리가하고 싶은 것은 노력하고 이 줄거리에 선을 그리는 방법으로 파란색 점을 빨간색 점과 분리합니다 의사 결정 트리의 경우 직선을 그리는 것 서로 수직입니다 예를 들어 직선 하나를 그리겠습니다 데이터에서 찾을 수있는 분리 점을 나타냅니다 빨간색 점 또는 사람에서 파란색 점을 분리 불이행 한 사람들로부터 불이행하지 않은 사람 이 데이터를 보면 바로 여기 선을 그릴 수 있다고 생각합니다

그리고 우리가 보면, 이것은 분할을 만듭니다 오른쪽에는 일종의 테이블이 있습니다 파란색 점 11 개와 빨간색 점 11 개가 있습니다 사무용 겉옷 이 분할 작업을 수행하면 서로 다른 두 그룹을 만듭니다

왼쪽의 그룹에는 1, 2, 3, 4, 5, 6, 7, 8 개의 파란색 점이 있습니다 그리고 하나의 빨간 점 오른쪽 그룹에는 파란색 점 3 개와 7 개 8 개의 빨간 점 우리가 볼 수있는 것은 우리가 잘한 일을 했어요 그 점은-빨간 점이 그리 웠습니다 우리는 파란색 점을 잘 나누었습니다 왼쪽의 빨간색 점에서, 오른쪽은 아닙니다

이제 우리는 상상할 수 있습니다 우리는 첫 번째 파티션을 완료했습니다 우리는 말할 수 있습니다 이것은 괜찮은 분리처럼 보입니다 스플릿을 더 추가하면 더 잘할 수 있습니다

다른 수직 직선을 그리겠습니다 빨간색 점을 오른쪽의 파란색 점과 분리합니다 여기에 수직선을 넣으십시오 그리고 우리는 왼쪽에 하나를 할 것입니다 이제 알 수 있습니다 우리는 정말 좋은 일을했습니다

하단의 파란색 점과 빨간색 점을 분리합니다 왼쪽 하단은 대부분 파란색이고 오른쪽 하단은 대부분 빨간색입니다 새로운 데이터를 볼 수 있다면 이 데이터에 대해 배웠지 만 우리는 이미 이러한 고객들이 불이행을 알고있었습니다 따라서 우리는 다음과 같은 데이터에서 잘 작동하는 모델을 원합니다 실례합니다

데이터에 잘 맞는 모델을 원합니다 이전에 보지 못했던 새로운 데이터에서 색깔이 무엇인지 모릅니다 우리는 미래에 볼 수 있습니다 왼쪽 하단에있는 대부분의 사람들이 그들이 기본값이 아니라고 예측하게 될 것입니다 오른쪽 하단에있는 대부분의 사람들이 반면 대출에 대출이 불이행 될 것으로 예측합니다 상단에 우리는 더 많은 분할을 원할 수도 있습니다

예를 들어 더 깊이 들어가고 싶을 수도 있습니다 더 많이 분리하기 위해 여기 저기 선을 그릴 수 있습니다 우리가 보게 될 것은 소프트웨어가 자동으로 시각적 해석을 바탕으로이 선을 그렸습니다 이 줄거리의, 그러나 우리는 정말로 알고리즘을 원합니다 그것은 우리를 위해 이것을 할 것입니다

언급하지 않은 것은 이것들이 단지 두 개의 입력이라는 것입니다 세 번째 입력 값이 있다면 세 개의 변수가 있다면 저는 이것을 부채 비율과 주택으로 언급했습니다 우리는 몇 년 동안 일할 수있는 또 다른 것을 가질 수 있습니다 그것은 3 차원이 될 것입니다 페이지에서 나옵니다 내가 두 개만 선택한 이유를 알 수 있으므로 시각화 할 수 있습니다

하지만 실제로 1, 2, 3, 4, 5, 6, 7, 8, 9, 10은 고객에 대해 수집 한 11 개의 입력 변수 머신 러닝을 할 때 수백 개의 입력 변수를 가질 수 있습니다 이 데이터 세트에서 우리는 11 차원 공간에 있습니다 11 차원을 시도하고 시각화 할 수 있습니다 그러나 잘 작동하지 않습니다 실제로 우리는 종종 일을합니다 수백 개의 차원으로

이 그림을 돌리는 것을 상상할 수 있습니다 당신은 모두와 100 차원 공간을보고 이 점들, 그리고 우리는 여전히 평면을 그리고 있습니다 이 경우에는 초평면이됩니다 점을 분리하기위한 100 차원 초평면 분명히 우리는 시각적으로 할 수 없습니다

우리는 컴퓨터가 우리를 위해 그것을하도록해야합니다 알고리즘 방식으로 소프트웨어를보고 결정이 어떻게 진행되는지 살펴 보겠습니다 트리는이 데이터를 기반으로합니다 Model Studio에서 약간의 파이프 라인을 만들었습니다 그리고 내가 만든 방법에 대한 몇 가지 예를보고 싶다면 이 파이프 라인과 Model Studio를 사용하고 시작하는 방법, 시작에 대한 비디오 링크가 아래에 있습니다 Model Studio에서 파이프 라인을 사용합니다

의사 결정 트리 기본값을 마우스 오른쪽 버튼으로 클릭합니다 노드에서 결과를 선택하십시오 의사 결정 트리의 결과를보고 있습니다 이 HMEQ 데이터 세트에 대해 교육했습니다 가장 먼저 살펴볼 것은 트리 다이어그램입니다 이 트리 다이어그램에는 의사 결정 트리의 그림이 있습니다 보시다시피 훨씬 더 깊은 의사 결정 트리입니다 내가 오른쪽에 그린 예보다

상단을 확대하면 우리는 3,000 명으로 시작합니다 실례합니다 3,000 개의 관측치와 약 20 %는 1과 80 %입니다 0입니다 이는 고객의 약 20 %가 불이행을 의미합니다 그들의 대출에

우리는 연체 크레딧 한도에 따라 분할합니다 연체 된 신용 한도가 많으면 그들은 거의 모두 대출에 대한 채무 불이행이 될 것입니다 그래서 우리는 그들이 대출에 대한 채무 불이행이 예상됩니다 12, 15, 7, 6 또는 8 개의 연체 크레딧 한도가있는 경우 그들이 그보다 적은 경우 5, 4, 0, 1, 2, 3 크레딧 한도 그들이 불이행 한 사람들의 일종 인 것 같습니다 불이행하지 않은 사람들은 거기에서 계속 쪼개기 위해 이 의사 결정 트리를 광범위하게 살펴보면 굵은 선이 나타내는 것을 볼 수 있습니다 대부분의 데이터가가는 곳과가는 선 소량의 데이터를 나타냅니다 하단의 상자는 최종 결정 상자입니다 보시다시피이 상자는 이 상자에 들어가서 그들이 따르는 특정한 길이 있습니다

그들은 적은 수의 연체 신용 한도를 가지고 있습니다 그러나 그들의 집의 가치는 $ 474,000 이상입니다 직장 생활은 26 세 미만입니다 우리는이 사람들의 대부분이 대출에 불이행 될 것으로 예상합니다 과거 데이터에서 이 의사 결정 트리에서 확인할 수있는 것 중 하나 내가 읽었던 것처럼 우리는 내가 오버 피팅이라고 부르는 것을 조금했습니다 우리는 훈련 데이터를 기억했습니다

연체 크레딧 한도가 많으면 나는 당신이 대출에 대한 채무 불이행을 말한다 하지만 실제로는 특정한 숫자입니다 12, 15, 7, 6 또는 8 그 숫자는 데이터의 일부입니다 우리는 의사 결정 트리를 배웠습니다 그래서 우리는 더 나은 것을 원할 수도 있습니다 새로운 고객에게 좀 더 나은 일반화를 제공합니다

이 트리 다이어그램을 닫고 결정을 닫습니다 트리 결과 및 다른 의사 결정 트리로 이동합니다 내가 구체적으로 만든 곳에서 만든 내가 생각하지 못한 리프 노드의 일부를 절단하려는 노력 중요했다 실제로 컴퓨터가 자동으로이 작업을 수행하도록했습니다 의사 결정 트리 다이어그램을 열어 보겠습니다 우리는 그것이 다른 나무라는 것을 알 수 있습니다

조금 다르게 훈련했습니다 내가 훈련했을 때 내가 한 일은 훈련 데이터를 암기하는 완전한 의사 결정 트리를 구축했습니다 다시 돌아 가면 우리가 고유하게 선택한 도면으로 돌아 가면 각 상자가 하나의 색상 만 선택하도록 파란색과 빨간색 점 포인트-그래서 그것은 훈련에서 100 % 권리를 얻는 나무입니다 데이터 이 나무를 만들면 다시 자르기 시작합니다 이전에는 본 적이없는 데이터를 살펴 봅니다 우리는이 모델이 결코 가지고 있지 않은 데이터를 봅니다 그것을 훈련시키는 데 사용되지 않았으며 우리는 그것이 어떻게 작동하는지 보았습니다 성능을 개선 할 때마다 줄일 때마다 우리는 계속 나무를 자르고 더 간단하고 간단합니다

결국 여기에서 새 데이터에 대한 성능이 향상됩니다 더 간단한 모델을 사용하는 것이 바람직합니다 여기를 보면,이 가지 치기 오류 도표 내가 논의했던 절차를 정확하게 보여줍니다 우리는 훈련 데이터, 즉 데이터 우리는 모델, 성능을 구축하는 데 사용 점점 더 많은 잎을 가지면서 계속 향상되고 더 복잡한 나무입니다 하지만 검증 데이터는 데이터입니다 나무는 전에 본 적이 없으며 실제로 악화됩니다

그래서 우리는 나무를 멈추고 가장 복잡한 나무를 만듭니다 우리는 훈련 데이터에 대해 나뭇잎을 자르기 시작합니다 실제로 잘 작동하는 것을 만들 수 있도록 유효성 검사 데이터에 어떤 시점에서 모델이 너무 단순하다면 유효성 검사 데이터의 성능이 좋지 않습니다 이것이 의사 결정 트리에 대한 우리의 토론이었습니다 몇 가지 평가 통계를 볼 수 있습니다 그러나 모든 모델을 비교할 때 마지막에 할 것입니다

우리는 결정 트리가 우리는 가지 치기를 만들었습니다 두 번째로 보여 드린 것은 실제로 이 데이터에 대해서는 첫 번째 데이터보다 조금 더 잘 작동합니다 다이어그램으로 돌아가서 이제 신경망을 만들고 있습니다 의사 결정 트리와 어떻게 다른지 생각합니다 다른 모델과 정말 인기있는 모델 요즘은 신경망입니다

그들은 특히 인기가 있기 때문에 보다 복잡한 형태의 기계에 사용 딥 러닝이라는 학습 이미지 처리와 관련이 있습니다 우리는 신경망을 사용하여 의사 결정 트리에서 수행 한 것과 동일한 작업 빨간색 점과 파란색 점을 분리하는 것입니다 가장 큰 차이점은 의사 결정 트리입니다 신경망은 실제로 임의의 비선형을 배우려고합니다 입력을 출력에 매핑하는 기능입니다

이 임의의 비선형 함수 플롯에서 원하는 모양을 취할 수 있습니다 따라서 우리의 경계가 반드시 그런 것은 아닙니다 직선이 될 것입니다 그래서 내가 상상할 수있는 것을 그릴 것입니다 신경망은 생각할 것입니다 보시다시피, 저는 임의의 곡선을 그리는 것입니다 그리고 유일한 요구 사항은 이러한 곡선이 기능이어야합니다- 함수에 의해 정의 될 수 있어야합니다

당신이 볼 수있는 것은 기본적으로 파란색 점을 선택하고 이상적인 결정을 내 렸습니다 경계 신경망은 항상 가장 좋은 모델이지만 단점은 우리는 훈련 데이터를 외우고 싶지 않다는 것입니다 모델을 새 데이터에 적용하려고합니다 그리고 당신은 내가 그린 원의 크기를 볼 수 있습니다 내가 그린 곡선의 크기 그것은 무엇과 매우 다를 수 있습니다 여전히 모든 파란색 점을 캡처하면서 빨간 점은 없습니다

제 개인적 드로잉에는 모호성이 많습니다 신경망이 학습 할 때 이 기능들은 여러 기능 중 하나를 찾습니다 이 작업을 수행 할 것이므로 반드시 유효성 검사 데이터에서 어느 것이 더 잘 작동하는지 알 수 있습니다 따라서 훈련 데이터를 약간 맞추기가 더 쉽습니다 신경망을 통해 다음 예제에서 신경망은 규칙 목록을 생성하지 않습니다 오른쪽에 다이어그램이 없습니다 이 선을 어떻게 그리는지 보여 드리기 위해 그러나 그들은 기능을 생성합니다 함수를 정의하는 숫자 모음입니다

실제로 모델링 할 수있는 방법이 있습니다 하지만 여기에 자세히 표시하지 않습니다 시각적 인 표현이 아니기 때문에 기본적으로 방정식 일뿐입니다 이것이 신경망 사이의 큰 차이점입니다 의사 결정 트리는 의사 결정 트리입니다 이 규칙 목록을 만듭니다 연체 크레딧이 7 개 이상인 경우 우리가 예측하는 것보다 당신의 대출에 대한 채무 불이행

그 이유를 누군가에게 설명해야하는 경우 매우 유용합니다 당신이 당신의 모델에서 한 일을했습니다 신경망과는 달리 장면 아래에 많은 숫자를 생성합니다 모든 숫자를 곱하면 예측 가능성을 알려줍니다 따라서 결과를 전혀 해석 할 수 없습니다 소프트웨어로 돌아갑니다

신경망 모델을 구축했습니다 신경망의 파이프 라인을 볼 수 있습니다 파이프 라인보다 조금 더 복잡합니다 의사 결정 트리 방금 데이터에서 의사 결정 트리로 바로 넘어갔습니다 신경망 노드의 경우 변수 관리 노드, 대치 노드, 및 변수 선택 노드 우리는해야합니다-변수를 관리해야합니다 대치에 대한 메타 데이터를 설정하려면 변수 선택

대치에서 우리는 교체해야합니다 데이터에 누락 된 값이 있습니다 의사 결정 트리는 결 측값이 어느 지점 에나 있습니다 따라서 선을 그리면 결 측값 줄의 어느 쪽이든 갈 수 있습니다 신경망은 방정식을 만들고 방정식에는 숫자가 필요합니다

결 측값은 숫자가 아니므로 교체해야합니다 우리는 그것들을 평균으로 대체 할 것입니다 우리가 결정 트리를 만들 때, 각 분할에서 분할 할 변수를 선택했습니다 예를 들어 첫 분할은 연체 신용 한도였습니다 연체 크레딧 한도 부채 대 소득 비율

신경망은 자동으로되지 않습니다 사용할 변수를 선택하십시오 대신에 그것들을 모두 방정식에 넣습니다 다시 말하지만 방정식이기 때문에 모든 변수 방정식의 숫자를 곱하십시오 변수 선택 노드를 사용합니다 신경망으로 들어가는 변수를 선택합니다 변수의 수를 제한하고 싶습니다 신경망으로 들어가서 유용한 변수를 사용하십시오

의사 결정 트리에서 모든 변수가 아님을 알았습니다 유용했습니다 신경망을 마우스 오른쪽 버튼으로 클릭하고 결과를 선택합니다 가장 먼저 강조 할 것은이 신경망 다이어그램입니다 나는 다양한 정통이기 때문에이 사진을 좋아합니다

이 사진이 마음에 들지 않아서 유용한 정보가 많지 않습니다 누군가를 보여주는 것은 좋은 사진입니다 신경망을 구축했다면 다음과 같습니다 가장 먼저 보는 것은 세 개의 입력 변수를 사용한다는 것입니다 11 개의 변수로 시작했습니다 하지만 우리는 그중 세 가지만 사용하기 때문에 변수 선택 내가 쓸모없는 것 이 점들의 크기는 숫자 가중치의 크기 방정식을 만드는 데 사용되지만 이미 당신은 정말 해석 할 수 없다고 그 방정식의 의미 또는 그 무게의 의미 정말 해석하기 쉽지 않습니다

이 도표는 당신에게 그림을 보여줍니다 나타내는 신경망의 방정식을 만드는 방법 신경망에 익숙하다면 이 다이어그램을보고 적어 둘 수 있습니다 방정식이 어떻게 보일지에 대한 모델 당신은 분명히 거기에 들어가는 모든 숫자가 빠졌을 것입니다 숫자를 뽑아야합니다 알다시피, 우리는 derog를 사용하고 있습니다

그것은 멸시 신용 보고서입니다; 연체 신용 한도 인 delinq; 목표 BAD를 시도하고 예측하기위한 부채 대 소득 비율 이 다이어그램을 닫고 신경의 결과를 닫습니다 네트워크 노드와 모델 비교로갑니다 우리가 다른 모델에서 어떻게했는지 보려고합니다 시각적 결과가 훨씬 적다는 것을 알 수 있습니다 사실에 연결되는 신경망을 위해 의사 결정 트리는 기본적으로 해석 가능합니다 신경망이 생성하는 반면 모델 백엔드에 많은 숫자

많은 결과는 숫자입니다 그 숫자 결과를 가져 와서 적용 할 수 있습니다 모델 비교 노드를 열고 오류가 줄어든 의사 결정 트리와 정리 한 사람 이니까 훈련 데이터에 큰 결정 트리를 구축 한 곳 그런 다음 잘라 내고 실제로 가장 잘 수행했습니다 오 분류 율 신경망의 오 분류 율 약 20 %였습니다 이는 신경망 모델이 실제로 관심있는 정보를 포착하지 못했습니다

설명하는 가장 쉬운 방법은 이것은 의사 결정 트리가 더 간단한 모델이라는 것입니다 이것은 더 간단한 데이터 세트입니다 이 데이터 세트의 한 가지 문제는 신경망을 손상시킬 수 있습니다 직업과 같은 범주 형 입력 변수입니다 우리는 다른 사람들의 직업 목록을 가지고 있습니다 신경망은이 변수들과 잘 어울리지 않습니다 의사 결정 트리로

신경망 모델은 우리가 관심있는 것을 포착하지 못했습니다 실제로이 데이터 세트에서 작동하지 않았습니다 그러나 우리는 결정의 차이점을 강조하고 싶었습니다 나무와 신경망 그리고 일반적으로 찾을 수있는 것 새로운 데이터를 다루면서 작업해야 할 모든 데이터, 일부 모델은 다른 모델보다 더 잘 작동합니다 데이터가 정말 단순하다면 의사 결정 트리 및 선형 회귀 모델을 찾을 수 있습니다

정말 잘 작동합니다 데이터가 정말 복잡하다면 제대로 작동하지 않으면 신경망이 더 나은 모델이라고 제안합니다 제가 말할 한 가지는 의사 결정 트리가 실제로 잘 작동한다는 것을 알았습니다 반드시 제안 할 필요는 없습니다 신경망이 제대로 작동하는지 확인하십시오

두 모델을 비교해 보는 것이 좋습니다 기계 학습에 대해 배우기 위해 함께 해 주셔서 감사합니다 기초 우리는 의사 결정 트리에 대해 조금 이야기했습니다 일부 신경망 모델 구독하고 더 많은 비디오를 확인하십시오

아래 링크를 확인하십시오 질문이 있으시면 의견에 자유롭게 넣으십시오 감사