차례:
- 기능 작성의 필요성 이해
- 다항식 확장에서 자동으로 피쳐 간의 상호 작용을 만들뿐 아니라 힘을 생성합니다 (예 : 피쳐의 사각형 계산). 상호 작용은 피쳐의 곱셈에 의존합니다. 곱셈을 사용하여 새 지형지 물을 생성하면 지형지 물이 전체적으로 어떻게 행동하는 경향이 있는지 추적 할 수 있습니다. 따라서 특별한 상황을 암시 할 수있는 기능간에 복잡한 관계를 매핑하는 것이 좋습니다.
비디오: 3-4. numpy를 사용한 데이터 분석 맛보기: MovieLens 1M 데이터셋 분석 2024
다양한 소스에서 얻은 원시 데이터에 기계 학습 작업을 수행하는 데 필요한 기능이없는 경우가 있습니다. 이 경우 원하는 결과를 얻으려면 자신의 기능을 만들어야합니다. 지형지 물을 만드는 것이 허공에서 데이터를 만드는 것을 의미하지는 않습니다. 기존 데이터에서 새 기능을 만듭니다.
기능 작성의 필요성 이해
기계 학습 알고리즘의 한 가지 큰 한계는 사용중인 기능에 응답 할 수있는 수식을 추측하는 것이 불가능할 수 있다는 것입니다. 때로는이 정보를 사용하여 응답을 매핑 할 수 없기 때문에 추측 할 수없는 경우가 있습니다 (올바른 정보가 없음을 의미). 다른 경우, 귀하가 제공 한 정보는 알고리즘이 올바르게 학습하는 데 도움이되지 않습니다.
문제를 잘 알고 인간이 어떻게 해결할 것인지를 알아내는 것은 피처 생성의 일부입니다. 따라서 앞의 예와 연결하면 지표면이 부동산 가격에 연결된다는 사실은 일반적인 지식입니다. 프로퍼티의 값을 추측하려고 할 때 화면에 서페이스가없는 경우 기존 데이터에서 해당 정보를 복구 할 수 있습니다. 이렇게하면 예측의 성능이 향상됩니다.
자동으로 기능 만들기
일부 새 기능을 자동으로 만들 수 있습니다.자동 피쳐 생성을 달성하는 한 가지 방법은 다항식 확장을 사용하는 것입니다. R과 Python에서 자동으로 피쳐를 생성 할 수 있도록 다항식 확장을 수행하는 특정 방법이 있습니다. 당분간 다항식 확장의 개념을 이해해야합니다.
다항식 확장에서 자동으로 피쳐 간의 상호 작용을 만들뿐 아니라 힘을 생성합니다 (예: 피쳐의 사각형 계산). 상호 작용은 피쳐의 곱셈에 의존합니다. 곱셈을 사용하여 새 지형지 물을 생성하면 지형지 물이 전체적으로 어떻게 행동하는 경향이 있는지 추적 할 수 있습니다. 따라서 특별한 상황을 암시 할 수있는 기능간에 복잡한 관계를 매핑하는 것이 좋습니다.
상호 작용의 좋은 예는 자동차에서 방출되는 소음과 자동차 가격입니다. 소비자는 스포츠카를 사지 않는 한 시끄러운 자동차를 좋아하지 않습니다.이 경우 엔진 소음은 자동차의 주인을 생각 나게하는 플러스입니다. 방관자는 차가운 차를 눈치 챈다. 그래서 소음이 다른 사람들의 관심을 끌기 때문에 소음은 과시하는 데 큰 역할을한다. 다른 한편으로, 가족 차를 운전할 때의 소음이 그다지 시원하지는 않습니다. 기계 학습 응용 프로그램에서 특정 차량의 선호 속도를 예측할 때 소음 및 자동차 가격과 같은 기능은 스스로 예측할 수 있습니다. 그러나 두 값을 곱하고이를 피쳐 집합에 추가하면 목표가 스포츠카라는 학습 알고리즘을 분명히 암시 할 수 있습니다 (높은 노이즈 레벨을 높은 가격으로 곱하면 됨).
응답은 특정 상황을 암시하면서 응답과 특징 간의 비선형 관계를 만들어줌으로써 도움이된다.
다른 예를 들자면, 사람의 연간 지출을 예측해야한다고 상상해보십시오. 사람들이 오래되고 성숙 해짐에 따라 그들의 삶과 가족 상황도 바뀌기 때문에 나이는 좋은 예측 인자입니다. 학생들은 가난하지만 직장을 찾아 가족을 만들 수 있습니다. 일반적인 관점에서, 지출은 특정 시점까지 연령이 증가하는 경향이 있습니다. 은퇴는 대개 비용이 줄어드는 경향이 있음을 나타냅니다. 나이에는 그러한 정보가 포함되어 있지만 성장하는 경향이있는 기능이며 성장에 비용을 관련시키는 것은 특정 연령대에서 발생하는 반전을 설명하는 데 도움이되지 않습니다.
제곱 된 기능을 추가하면 나이가 들수록 작은 영향을 미치지 만 나이가 들면 빨리 커집니다. 최종 효과는 일종의 포물선으로, 특정 연령대의 지출이 최고조에 이른 초기 성장을 기록한 다음 감소합니다.
앞서 언급했듯이, 사전에 역학 (소음 및 스포츠카, 소비 및 노령)을 알면 올바른 기능을 만들 수 있습니다. 그러나 이러한 역학을 미리 알지 못한다면 다항식 확장은 자동으로 생성됩니다. 특정 순서가 주어지면 그 순서의 상호 작용과 힘을 생성하기 때문입니다. 명령은 기존 피처에 적용 할 곱셈 및 최대 출력 수를 나타냅니다.따라서 차수 2의 다항식 확장은 모든 피처를 2 차 제곱으로 올리고 모든 단일 피처를 다른 모든 피처에 곱합니다. (두 가지 기능의 모든 조합의 곱셈을 얻습니다.) 분명히 숫자가 높을수록 더 많은 새로운 기능이 만들어 지지만 대부분이 중복되어 컴퓨터 학습 알고리즘을 데이터에 맞추는 데 기여합니다.
다항식 확장을 사용할 때 생성하는 기능의 폭발에주의를 기울여야합니다. 파워는 선형 적으로 증가합니다. 따라서 5 개의 피쳐가 있고 2 차 확장이 필요한 경우 각 피쳐는 두 번째 파워까지 올립니다. 하나의 순서를 늘리면 원래의 각 기능에 새로운 기능이 추가됩니다. 대신 상호 작용은 해당 순서까지 기능의 조합에 따라 증가합니다. 실제로, 5 개의 피쳐 및 2 차의 다항식 확장으로, 피쳐들의 커플 링에 대한 10 개의 고유 한 조합이 모두 생성된다. 순서를 3으로 늘리려면 두 변수의 고유 한 조합과 세 변수의 고유 한 조합, 즉 20 개의 특징을 작성해야합니다.