차례:
- 알고리즘을 사용하여 권장 엔진으로 사용되도록 특별히 설계되었습니다. Mahout은 풍부한 클러스터링 및 분류 알고리즘을 결합하여 입력 데이터를 기반으로보다 정확한 권장 사항을 산출합니다.
- 감독 된
- (UDA) 모듈도 사용할 수 있습니다. 사용자는 기존 알고리즘을 무시하거나 UDA 모듈을 통해 자체 알고리즘을 구현할 수 있습니다. 이 강력한 사용자 정의 기능을 통해 고유 Mahout 알고리즘의 성능 튜닝 및 고유 한 통계 분석 문제를 해결할 수있는 유연성을 확보 할 수 있습니다.
비디오: 하둡(HDFS) 의 파일 읽기, 쓰기 과정 쉽게 요약 2024
기계 학습 은 이전 사건을 바탕으로 컴퓨터가 분석을 향상시킬 수있는 도구를 제공하는 인공 지능 기술의 한 부문을 말합니다. 이러한 컴퓨터 시스템은 유사한 작업에서 향후 시도의 성능을 향상시키기 위해 작업 해결에 대한 이전 시도의 이력 데이터를 활용합니다.
예상되는 결과 측면에서 기계 학습은 다른 전문 용어 인 "데이터 마이닝"과 비슷하게 들릴 수 있습니다. 그러나 전자는 준비된 훈련 데이터의 분석을 통한 예측에 초점을 맞추고, 후자는 처리되지 않은 원시 데이터로부터의 지식 발견에 관한 것이다. 이러한 이유 때문에 기계 학습은 통계 모델링 기술에 크게 의존하며 확률 이론 및 패턴 인식 영역을 활용합니다. 이 알고리즘은 분류, 클러스터링, 연결 규칙 분석 및 권장과 같은 고전적인 기계 학습 작업을 포함합니다. Mahout 라이브러리는 Apache Hadoop 컨텍스트에서 작동하도록 설계되었지만 MapReduce 프레임 워크를 지원하는 시스템과도 호환됩니다. 예를 들어 Mahout은 Hadoop 없이도 사용할 수있는 Java 컬렉션 및 일반적인 수학 연산 (선형 대수 및 통계) 용 Java 라이브러리를 제공합니다.
Mahout은 여러 기여자가있는 진화하는 프로젝트입니다. 이 글을 쓰는 시점까지 Mahout 라이브러리에서 사용할 수있는 알고리즘 모음은 결코 완벽한 것은 아닙니다. 그러나 사용을 위해 구현 된 알고리즘 모음은 시간이 지남에 따라 계속 확장됩니다.
통계 분석을 지원하는 Mahout 알고리즘에는 협업 필터링, 클러스터링 및 분류의 세 가지 주요 범주가 있습니다.
협업 필터링
Mahout은협업 필터링
알고리즘을 사용하여 권장 엔진으로 사용되도록 특별히 설계되었습니다. Mahout은 풍부한 클러스터링 및 분류 알고리즘을 결합하여 입력 데이터를 기반으로보다 정확한 권장 사항을 산출합니다.
이러한 권장 사항은 사용자의 행동을 고려하여 사용자 환경 설정에 종종 적용됩니다. 사용자의 이전 선택을 비교함으로써, 해당 사용자에게 가장 가까운 이웃 (유사한 결정 이력을 가진 사람)을 식별하고 이웃 사람의 행동을 기반으로 미래의 선택을 예측할 수 있습니다. Netflix와 같은 "맛 프로필"엔진을 고려해보십시오.이 엔진은 사용자의 이전 채점 및 시청 습관을 기반으로 등급을 추천합니다. 이 예에서 사용자의 행동 패턴은 사용자의 기록 및 동일한 Netflix 커뮤니티에 속한 비슷한 취향을 가진 사용자의 추세와 비교되어 해당 사용자가 아직 보지 않은 콘텐츠에 대한 권장 사항을 생성합니다. 클러스터링
Mahout의 추천 엔진 기능에 대한 감독 학습 방법과 달리 클러스터링은 사전 감독되지 않은
학습의 형태입니다. 데이터 포인트에 대한 레이블은 미리 알 수 없으므로 데이터에서 유추해야합니다 인간 입력없이 (
감독 된
부분). 일반적으로 클러스터 내의 객체는 비슷해야합니다. 다른 클러스터의 객체는 서로 비슷해야합니다. 생성 할 클러스터의 수, "유사성"을 측정하는 기준 및 객체 표현에 대해 미리 결정한 사항은 클러스터링 알고리즘에 의해 생성 된 레이블링에 영향을 미칩니다. 예를 들어 뉴스 기사 목록이 제공되는 클러스터링 엔진은 비슷한 주제를 다루는 해당 컬렉션 내의 기사 클러스터를 정의 할 수 있어야합니다. 캐나다, 프랑스, 중국, 임업, 석유 및 포도주에 관한 일련의 기사가 모여 있다고 가정 해 보겠습니다. 최대 클러스터 수를 2로 설정하면 알고리즘에서 "지역"및 "업종"과 같은 범주를 생성 할 수 있습니다. "클러스터 수를 조정하면 다양한 분류가 생성됩니다. 예를 들어 3 개의 클러스터를 선택하면 국가 - 산업 카테고리를 한 쌍으로 그룹화 할 수 있습니다. 분류 (Classifications) 분류 알고리즘은 사람이 레이블을 붙인 훈련 데이터 세트를 사용하는데, 모든 미래 입력의 범주화와 분류는 이러한 알려진 레이블에 의해 규율된다. 이러한 분류 기준은 기계 학습 세계에서 감독 학습 이라고 알려진 것을 구현합니다. 도메인 전문가가 사전에 분류 한 교육 데이터에 의해 설정된 분류 규칙은 적절한 레이블 지정을 가장 잘 판단 할 수 있도록 처리되지 않은 원시 데이터에 적용됩니다.
이러한 기술은 스팸 전자 메일을받은 편지함을 통과하기 전에 분류하는 전자 메일 서비스에서 주로 사용됩니다. 특히 알려진 봇넷에 속한 주소에서 배달되는 스팸 메일의 특정 클래스에서 공통적으로 발생하는 것으로 알려진 문구 집합이 포함 된 전자 메일의 경우 분류 알고리즘이 전자 메일을 악의적으로 식별 할 수 있습니다.
Mahout이 기본적으로 제공하는 풍부한 통계 알고리즘 외에도 지원 알고리즘
사용자 정의 알고리즘
(UDA) 모듈도 사용할 수 있습니다. 사용자는 기존 알고리즘을 무시하거나 UDA 모듈을 통해 자체 알고리즘을 구현할 수 있습니다. 이 강력한 사용자 정의 기능을 통해 고유 Mahout 알고리즘의 성능 튜닝 및 고유 한 통계 분석 문제를 해결할 수있는 유연성을 확보 할 수 있습니다.
Mahout이 Hadoop에 대한 통계 분석 확장으로 간주 될 수 있다면 UDA는 Mahout의 통계 기능을 확장 한 것으로 볼 수 있습니다. 전통적인 통계 분석 애플리케이션 (예: SAS, SPSS 및 R)에는 워크 플로우 생성에 강력한 도구가 있습니다. 이러한 응용 프로그램은 더 나은 데이터 시각화를 가능하게하는 직관적 인 그래픽 사용자 인터페이스를 사용합니다. Mahout 스크립트는 통계 분석 워크 플로를 생성하기위한 다른 도구와 비슷한 패턴을 따릅니다. 최종 데이터 탐색 및 시각화 단계에서 사용자는 사람이 읽을 수있는 형식 (JSON, CSV)으로 내보내거나 Tableau Desktop과 같은 시각화 도구를 활용할 수 있습니다.
Mahout의 아키텍처는 하둡 플랫폼 위에 있습니다. Hadoop은 분산 파일 시스템에서 병렬 처리를 관리하는 데 필요한 복잡한 부기에서 MapReduce 작업을 프로그래밍하는 작업을 분리하여 프로그래머의 부담을 덜어줍니다. 같은 정신으로 Mahout은 복잡한 통계 알고리즘을 프로그래머에게 알기 쉽게 추상화하여 Hadoop 프레임 워크로 구현할 준비가되었습니다.