728x90

4.1:

충돌되는 데이터conflicting data(즉, 특성 벡터가 완전히 같지만 레이블은 다른)를 포함하지 않는 훈련 세트에 대해, 훈련 세트와 일치(훈련 오차가 0인)하는 의사결정 트리가 반드시 존재한다는 사실을 증명하라.

 

참고 답안1.

훈련 데이터셋과 일치하는 의사결정 트리가 존재하지 않는다고 가정한다면, 훈련 데이터셋으로 훈련해 얻은 의사결정 트리의 최소 한개의 노드상에 분할할 수 없는 데이터가 있어야한다(만약 노드상에 conflicting data가 없다면 해당 데이터는 분리 가능해야 한다). 이는 전제(충돌되는 데이터를 포함하지 않는다)와 모순되기 때문에 반드시 훈련데이터셋과 일치하는 의사결정 트리가 있어야 한다.

 

참고답안2.

 

단단한 머신러닝 책 그림4.2에 나오는 알고리즘 설명에 따르면, 노드를 생성하는 3가지 상황은 다음과 같다:

 

1,2,3 총 3가지 상황으로 정리가 가능한데, 

이 문제의 목적은 훈련 데이터셋과 일치하는 의사결정 트리를 찾는 것이기 때문에 3번째 포인트는 고려하지않아도 된다.  1,2,번 상황만 고려하면 의사결정 트레에서 가지가 잎 노드 생성을 멈출 때는 샘플이 모두 같은 클래스에 속하거나 모든 특성(feature)을 다 사용했을 때이다. 그렇다면 잎노드 레이블과 실제 훈련셋이 다를 경우는 특성을 모두 다 사용한 상황일 것이다. 하지만 훈련셋에 충돌 데이터가 없다고 했기 때문에 각 노드상에 훈련 오차는 모두 0이 된다.

728x90

책까지는 아니지만,

numpy 연습 문제라고 정리된 자료가 있는데,

해외 기업 ML포지션에서 비슷한 문제를 몇 개 풀었던 기억이 있어 올려봅니다.

 

100 numpy exercises.pdf
0.25MB

 

728x90

 

Data pipeline을 직접 구현해야할 일이 생겨, 책을 찾다가 도움을 많이 받았던 책입니다.

info.unraveldata.com/lp-oreilly-report-reliable-data-pipelines.html

 

O'Reilly Report: Rebuilding Reliable Data Pipelines Through Modern Tools | Unravel

Rebuilding Reliable Modern Data Pipelines Using AI and DataOps

info.unraveldata.com

위 주소에 메일주소만 입력하면 무료로 다운받을 수 있습니다:)

 

서칭을 하다가 데이터 파이프라인 관련 책을 소개한 블로그에서 발견을 했는데 (kadensungbincho.tistory.com/14),

 

해당 블로거님의 설명처럼 데이터 파이프라인을 운영하다가 마주하는 기술과 데이터 문제를 데이터 파이프라인의 각 단계별로 기술해 전반적인 내용을 파악할 수 있도록 한 것같습니다.

 

총 페이지 수가 많지않아 훑어 보는데 부담이 없어요.

 

요즘은 개인적인 업무가 데이터 통합이나 데이터 파이프라인 구축, 데이터를 활용한 실험을 위한 플랫폼 구축에 포커스가 맞춰져있어서...

혹시 관련해서 괜찮은 책 있으면 더 추천 부탁드립니다.

 

728x90

 

참고답안:

단단한 머신러닝 3.3 참고

 

OvR,  MvM은 각 클래스에 동일한 처리를 하기 때문에 이진 분류 문제에서 클래스 불균형 영향이 상쇄되는 경향이 있다. 따라서 일반적으로 추가적인 처리를 진행하지 않아도 된다.

 

728x90

3.7 코드 길이가 9이고, 클래스 수가 4일 때 해밍턴 거리로 이론 최적의 ECOC 이진코드와 이에 대한 증명을 기술하라.

 

참고답안:

책에서 해당 부분에 대한 내용을 명확하게 설명하고 있지 않기 때문에,

원문(논문)인 《Solving Multiclass Learning Problems via Error-Correcting Output Codes》를 참조하라.

원문에서는 코드를 구성하는 몇 가지 방법에 대해 설명하고 있는데, 그 중 하나는 다음과 같다.

클래스 수가 4일때 가능한 코드는 7가지가 있다. 위 방법에 따르면,

표와 같아지고, 코드 길이가 9일때 f6 이후에 어떤 두 코드를 더해도 최적의 코드가 된다. 이때 임의로 추가되는 코드는 모두 이전 코드의 반대 코드가 되기때문에, 클래스 사이의 최소 해밍턴 거리는 모두 4가 되며 증가되지 않는다.

 

 

+ Recent posts