Please enable JavaScript.
Coggle requires JavaScript to display documents.
인공지능과 학습 (1110 김태원) - Coggle Diagram
인공지능과 학습 (1110 김태원)
기계학습과 데이터
기계학습이 등장하기 전의 전통적 프로그래밍을 이용한 문제 해결 방식은 이러한 자동화 능력을 구현하기 위해 규칙을 프로그래머가 직접 만들고, 규칙을 표현한 알고리즘에 데이터를 입력하면 컴퓨팅 시스템이 알고리즘에 따라 처리한 결과를 출력한다.
인공지능은 입력받은 훈련 데이터를 바탕으로 학습하고 규칙을 발견해 기계학습 모델을 만든다.
훈련데이터는 기계학습 모델을 만들기 위해 인공지능에 입력하는 데이터를 말한다.
기계학습 모델은 데이터와 기계학습 알고리즘을 이용해 규칙을 찾고 이를 근거로 판단을 내리는 프로그램을 말한다. 예를 들어 얼굴을 인식하는 인공지능의 경우, 입력된 데이터에서 규칙을 찾아 얼굴을 인식하는 역할을 하는 것이 기계학습 모델이라고 한다.
기계학습을 활용한 문제 해결 과정은 훈련 데이터,입력,인공지능 학습,규칙,인공지능 모델,문제 해결을 위한 새로운 데이터, 입력,인공지능 모델 적용,출력,결과 순으로 된다.
문제 해결을 위한 데이터는 훈련 데이터의 양이 너무 적거나, 양이 충분하더라도 체형을 분석하기에 적합한 속성이 부족하거나, 한쪽으로 치우친 데이터만 사용한다면 성공적으로 정확한 모델을 생성하기 어렵고, 기계학습으로 해결할 가능성이 낮아진다.
데이터 공정성
데이터 수집 과정의 공정성은 데이터를 수집할 때 한쪽으로 치우쳐서는 안된다. 예를 들어 특정 집단에 대한 데이터만 많거나 특정 집단만을 대표하는 데이터는 공정성에 어긋난다.
데이터 처리 및 분석의 공정성은 데이터를 처리하고 분석할 때, 분석 방법이나 모델이 편향되거나 불공정한 결과를 도출하면 안된다.
데이터 사용의 공정성은 데이터는 공정하게 사용되어야 하며, 활용될 때에도 불필요한 차별이나 편견이 존재해서는 안된다.
투명성과 설명 가능성은 데이터가 처리되는 과정은 투명하고 설명 가능해야 한다.
편향은 한쪽으로 치우치는 성질을 의미한다. 데이터 편향은 데이터가 특정 방향으로 치우치거나, 데이터 간 속성과의 관계를 균형 있게 고려하기 어려운 경우에 발생한다.
데이터의 양이 부족하거나 데이터에 목적과 관계없는 속성잉 포함되어 학습을 방해하는 경우, 다양한 데이터를 포함하지 않았거나 개인의 주관이 작용한 데이터를 사용하는 경우 등에 데이터 편향이 발생한다.
데이터 선정하기는 문제 적합성,수집 가능성,정보 보호,데이터의 품질, 데이터 수집 비용 순으로 됩니다.
문제 적합성은 해결하고자 하는 문제와 관련 있는 데이터인지 확인한다.
수집 가능성은 수집할 방법이 없거나 수집하기 어려운 데이터는 피하고, 수집할 수 있는 데이터를 선정한다.
정보 보호는 선정하려는 데이터가 개인 정보를 포함하거나 저작권 침해의 문제가 없는지 살펴본다.
데이터의 품질은 데이터의 정확성이나 데이터 제공자의 신뢰도가 떨어지는 데이터는 제외한다.
데이터 수집 비용은 데이터를 수집하는 데 드는 비용을 고려하여 선정한다.
데이터 수집하기
데이터를 수집 시 고려 사항은
1.기계학습을 위해 충분한 양의 데이터인가?
2.편향되지 않은 데이터인가?
3.필요한 속성에 대한 내용을 담고 있는 데이터인가?
4.신뢰 가능한 최신의 데이터인가?
데이터셋은 주제별로 모은 데이터의 집합을 의미한다. 데이터 분석가들이 분석을 위해 가공한 데이터들을 데이터 포털 등의 사이트에 업로드하면 그것을 내려받아 활용할 수 있다. 개인이 만들어 공유한 데이터 뿐만 아니라 여러 기업이나 공공 기준에서 제공하는 데이터를 활용할 수 있다. 기업이나 공공 기관애서는 데이터셋을 파일 또는 API 형태로 만들어 공공 데이터로 제공하기도 합니다.
API는 응용 프로그램 개발에 활용 가능한 인터페이스를 의미한다. 프로그램을 개발할 때 API를 통해 원하는 기능을 제공받아 사용할 수 있다.
데이터 수집 시 활용 가능한 데이터 포털
1.공공데이터포털
2.캐글
3.국가총계포털
4.AI hub
5.서울 열린데이터 광장
6.통합 데이터 지도
7.갭 마인더
데이터 포털 등 인터넷에서 원하는 내용을 수집하기 어렵다면, 직접 데이터를 수집할 수도 있다. 인터넷 검색 및 웹크롤링, 설문조사, 인터뷰 결과 정리 등 다양한 방식을 통해 데이터를 정리할 수 있으며, 피지컬 컴퓨팅 도구와 컴퓨팅 시스템, 웨어러즐 기기 등을 이용해 여러 센서를 통해 값을 수집할 수 있다.
웹크롤링은 자동화된 방법으로 웹을 탐색하는 프로그램을 통해 웹 페이지에 들어 있는 데이터를 긁어 모으는 것을 말한다. 웹에 존재하는 게시글, 특정 단어, 문장, 뉴스 댓글, 후기, SNS 게시글 등 다양한 데이터를 수집할 수 있다. 데이터를 자동으로 긁어 모르므로 저작권, 초상권을 침해하지는 않았는지 주의해야 한다.
데이터 전처리와 핵심 속성 추출
기계학습에 사용할 데이터를 선정하고 수집한 후에는 데이터 전처리 과정이 필요하다. 데이터 전처리란 결측치와 이상치의 유무를 파악하고 문제해결에 필요한 속성이 무엇인지 선별한 다음 문제 해결에 적합한 형태로 데이터를 가공하는 과정을 말한다.
결측치는 퍼즐이 빠져 있는 것처럼 수집된 데이터에서 비어 있는 값 혹은 누락된 값
결측치가 생기는 이유는 데이터를 측정할 때 부터 값이 존재하지 않거나 실수로 값을 빠뜨렸을 수 있고, 데이터를 저장하고 관리하는 과정에서 값이 손실되는 등의 다양한 원인이 있다.
이상치는 색깔이 다른 한 개의 사과처럼 평균적인 데이터 범위보다 지나치게 높거나 낮은 수치의 값
이상치는 해결하고자 하는 문제의 성격과 분석 대상에 따라 달라진다. 예를 들어 키 200cm 값의 이상치 판단 유무는 데이터 분석가의 몫으로 상황에 따라 달라질 수 있다.
타이태닉 데이터로 결측치 유무를 확인한다
데이터는 관찰이나 실험을 통해 수집되는 값들을 의미하며, 하나의 데이터는 여러개의 속성으로 구성되어 있다.
데이터 속성은 데이터 중 더 이상 분리되지 않는 최소한의 기본 단위를 말한다
속성값은 각 속성이 가질 수 있는 값으로 숫자나 텍스트 등으로 나타낸다
핵심 속성 이해하기
데이터의 모든 속성은 기계학습에 어떤 영향을 미치는지 확인해야 한다. 문제 해결에 필요한 속성만 선택하여 사용해야 기계학습의 성능을 높일 수 있다. 이때 문제 해결에 필요한 속성을 핵심 속성이라고 한다.
데이터 속성 중에서 기계학습에 필요한 핵심 속성을 찾는 과정이 필요하다. 이때 데이터를 시각화하면 어떤 속성이 문제 해결에 필요한지 직관적으로 판단할 수 있으며, 속성 간의 관계를 쉽게 파악할 수 있다. 시각화할 때 사용하는 도구에는 막대 그래프, 히스토그램, 원그래프, 산점도, 히트맵 등이 있으며, 특히 핵심 속성을 추출할 때는 히트맵을 주로 사용한다.
히트맵은 상관관계를 시각화한 그래프로 색을 이용해 배열을 나타낸다. 속성 간의 상관관계를 분석한 후 그 값을 히트맵으로 나타내면 해결하고자 하는 문제와 관련 갚은 핵심 속성들을 상관계수로 찾아내기가 쉬워진다.
기계 학습의 유형과 알고리즘
기계학습은 데이터를 활용하는 방식에 따라 지도학습, 비지도학습, 강화학습으로 구분할 수 있다.
지도학습은 입력 데이터와 정답 데이터를 함께 사용하여 기계학습 모델을 학습시키는 방법이다.
지도학습에서는 훈련 데이터와 테스트 데이터를 사용한다.
훈련 데이터는 학습 모델을 만들기 위해 사용되며, 테스트 데이터는 모델의 성능을 평가하기 위해 사용된다.
비지도학습은 정답 데이터 없이 입력 데이터만으로 이루어진 훈련 데이터를 사용하여 모델을 학습시키는 방법이다.
강화학습은 판단할 때마다 외부환경에서 보상을 제공하고, 이 보상의 값을 최대화하기 위한 방향으로 학습을 진행한다
회귀는 어떤 현상에 영향을 미칠 수 있는 여러 요인과 특정 결과 사이의 관계를 함수로 표현해 연속적인 수치를 예측하는 기계학습 방법이다.
회귀 모델은 훈련 데이터를 기반으로 독립 변수와 종속 변수 사이의 규칙을 파악하여 수식으로 나타내고, 학습된 규칙에 새로운 입력값을 대입하여 예측값을 얻어내는 모델이다. 그리고 대표적인 알고리즘은 선형 회귀 알고리즘이 있습니다.
선형 회귀 알고리즘은 예측값과 실젯값의 오차를 최소화하는 가설 함수를 찾고 최적화하며 학습을 진행한다
종속 변수는 예측하고자 하는 변수로서, 다른 독립 변수들의 영향을 받아 값이 변화하는 변수다
독립 변수는 종속 변수에 영향을 미치는 변수로서, 종속 변수의 변화를 설명하거나 예측하는 데 사용된다.
분류는 미리 정의된 여러 범주로 데이터를 구분하기 위한 경계를 학습하여 새로운 입력이 들어오면 여러 범주 중 하나를 선택하는 과정으로, 지도학습의 한 형태다. 즉 데이터가 어떤 클래스에 속하는지를 찾는 것이다.
클래스는 분류 모델을 통해 데이터를 구분할 때 결정하게 되는 대상의 범주 혹은 그룹을 의미한다. 클래스는 최소 2개 이상 존재하며, 클래스 이름을 레이블이라고도 한다.
군집은 비지도학습 알고리즘의 일종으로, 데이터가 어떻게 그룹화되어야 하는지 미리 정의하지 않고 컴퓨터가 데이터 패턴을 스스로 찾아내는 방식이다