Please enable JavaScript.
Coggle requires JavaScript to display documents.
인공지능과 학습(1406김우진) - Coggle Diagram
인공지능과 학습(1406김우진)
기계학습의 유형과 알고리즘
기계학습은 데이터를 활용 하는 방식에 따라 지도학습 비지도학습 강화학습으로 구분 할 수 있다. 지도학습이란 데이터를 이용하여 학습할 때 사전에 정답이 있는 데이터를 활용하여 학습 하는 것을 말한다. 비지도 학습이란 정답을 알려 주지 않고 데이터만을 제시하여 학습 하는 방법을 말한다. 이외에 강화학습은 답을 직접 알려 주지 않고 컴퓨터가 제시한 답안에 대해 보상을 다르게 줌으로써 정답의 가까워지도록 하는 방법이다. 지도 학습에 해당하는 회귀, 분류 알고리즘이 있으며 비지도 학습에는 군집 알고리즘 등이 있다.
지도학습은 입력 데이터와 정답 데이터를 함께 사용하여 기계학습 모델을 학습 시키는 방법이다. 장점: 학습 결과에서의 오류 여부와 성능을 쉽고 명확하게 평가할 수 있다 훈련 데이터와 테스트 데이터를 사용한다인공지능은 훈련 데이터를 기반으로 지도학습이 끝난 후 회귀와 분류 등의 작업을 할 수 있다.
비지도학습이란 정답 데이터 없이 입력 데이터만으로 이루어진 훈련 데이터를 사용하여 모델을 학습 시키는 방법이다. 데이터를 입력하면 컴퓨터는 자체적인 방식으로 데이터를 유사한 속성 값을 갖는 그룹으로 묶는다 정답 데이터가 주어지지 않기 때문에 컴퓨터는 입력 데이터의 특징을 분석하여 패턴이나 특정 규칙을 찾아 내야 한다. 비지도학습은 훈련 데이터에 숨겨진 새로운 정보를 찾고자 할 때 유용하다 고차원 데이터에 복잡성을 낮추어 특징을 추출 하는 차원 축소 서로 비슷한 특징을 가진 데이터끼리 그룹화하는 군집, 이상치를 탐색 하는 이상 탐지 등의 작업에 활용 된다.
강화학습은 판단 할 때마다 외부 환경에서 보상을 제공하고 이 보상의 값을 최대화하기 위한 방향으로 학습을 진행한다. 강화학습은 사전에 환경에 대한 명확한 정답이 없는 상황에서 학습하고 적응하는 과정을 따르기 때문에 지능 에이전트에 학습 과정에 유용하게 활용된다. 소비 패턴 분석을 통한 마케팅 전략 수립 등의 최적화 문제의 주로 활용 되고 있다.
회귀는 어떤 형상의 영향을 미칠 수 있는 여러 요인과 특정 결과 사이의 관계를 함수로 표현 연속적인 수치를 예측하는 기계 학습 방법이다. 훈련 데이터로 학습한 모델을 사용하여 새로운 입력값에 대한 수치 결과를 예측 하는 것이다.
가설 함수 식은 y=wx+b의 형태로 표현할 수 있는 걸 말한다
-
딥 러닝으로 손글씨 분류하기
딥러닝은 데이터의 특성이 잘 드러나지 않은 텍스트나 이미지와 같은 비정형 데이터를 활용한 분야에서 뛰어난 성능을 보여 주고 있다. 여러 분야에서 뛰어난 성능을 보여주는 딥러닝을 활용하여 손글씨 숫자 데이터를 분류 하는 문제를 해결해 보자.
-
MNIST데이터셋은 숫자를 인식하는 정확도를 2차원 배열을 1차원 배열로 변환 하고 정규화와 원-핫 인코딩을 수행하는 전처리가 필요하다
인공신경망의 층을 추가할 때 는 add() 함수, 딥러닝 모델을 설정할 때 는 compile() 함수, 학습시킬때는 fir() 함수를 사용한다
딥러닝 모델은 학습을 반복할수록 손실함수의 값은 감소하고, 정확도는 증가해야 좋은 모델로 평가 받을 수 있다
딥러닝 모델은 해결하고자 하는 목적에 맞게 입력층, 은닉층, 출력층을 설계하고 적절한 활성화 함수와 손실함수를 선택해야한다
-
데이터 선정하기: 데이터를 이루는 데이터 속성은 기계학습에서 매우 중요한 역할을 한다. 기계학습을 위한 데이터를 선정할 때에는 우리가 해결하고자 하는 문제와 관련 있는 데이터인지 확인해야 한다. 데이터의 수집 가능성, 정보 보호 여부, 데이터의 품질, 데이터 수집 비용 등의 요인을 고려하여 조건에 부합하는 데이터를 선정해야한다.
데이터 수집하기: 데이터 수집 시 고려사항
- 기계학습을 충분한 양의 데이터인가?
- 편향되지 않은 데이터인가?
3.필요한 속성에 대한 내용을 담고 있는 데이터인가?
4.신뢰 가능한 최신의 데이터인가?
데이터셋은 주제별로 모은 데이터의 집합을 의미한다. 데이터 분석가들이 분석을 위해 가공한 데이터들을 데이터 포털 등의 사이트에 업로드하면 그것을 내려받아 활용할 수 있다.
기업이나 공공 기관에서는 데이터셋을 파일 또는 API형태로 말들어 공공 데이터로 제공하기도 한다.
인터넷 검색 및 윕크롤링, 설문조사, 인터뷰 결과 정리 등 다양한 방식을 통해 데이터를 정리할 수 있으며, 피지컬 컴퓨팅 도구와 컴퓨팅 시스템, 웨어러블 기기 등을 이용해 여러 센서를 통해 값을 수집할 수도 있다.
3.문제 해결을 위한 데이터
인공지능은 대용량의 품질 좋은 훈련 데이터가 필요하다 훈련 데이터의 질이 좋지 않거나 질이 좋더라도 데이터의 양이 충분하지 않으면 기계학습 모델의 성능은 높지 않을 것이다 수집한 훈련 데이터가 편향을 띤다면 이 데이터를 이용한 학습 결과도 정확하지 않을 것 이다,
다양한 유형의 신체적 특성을 충분히 많이 수집한 훈련 데이터를 이용하여 기계학습 모델을 만든다면 문제를 해결할 가능성이 높다고 할 수 있다,
데이터 편향을 방지하는 방법
- 데이터 수집 시 개인의 주관이 들어가지 않은 데이터를 수집한다,
2.데이터의 양과 질에 편향성이 포함되어 있지 않은지 확인한다.
- 데이터셋에 어떤 데이터가 들어 있는지에 대한 정보를 함께 보관한다.
데이터 전처리와 핵심 속성 추출
기게학습에 사용할 데이터를 선정하고 수집한 후에는 데이터 전처리 과정이 필요하다. 데이터 전처리란 결측치와 이상치의 유무를 파악하고 문제 해결에 필요한 속성이 무엇인지 선별한 다음 문제 해결에 적합한 형태로 데이터를 가공하는 과정을 말한다.
결측치란 데이터의 값이 비어 있거나 누락된 상태를 뜻한다.
결측치가 있으면 데이터를 분석하는 과정에서 에러가 발생하거나 잘못된 결과가 산출되어 기계학습 모델 성능에 부정적인 영향을 미칠 수 있다. 결측치가 있는 행이나 열을 삭제하는 방법과 평균, 중앙값, 최빈값 등의 대푯값으로 결측치를 대체하는 방법이 있다. 타이태닉 데이터로 결측치 유무를 확인하고, 이를 처리하는 과정을 살펴보자.
titanic.dropna(ax-is+ 'rows')코드를 사용해 결측치가 포함된 행을 모두 삭제하면 데이터셋의 약 79%가 사라져 데이터 분석 시 좋은 결과를 얻기 어렵다.
수치 데이터일 경우 데이터를 대표하는 평균, 중앙값,최빈값 등으로 대체하는 방법이 있다.
이상치란 평균적인 데이터 범위보다 지나치게 높거나 낮은 수치의 값을 말한다. 이상치가 데이터에 존재하면 분석 결과가 왜곡될 수 있으므로, 이를 적절하게 처리해야한다, 이상치를 처리하기 위해서는 정상 범위의 기준을 분포를 살펴보는 것이다. 타이태닉 데이터의 승선 요금 속성에 이상치가 있는지, 상자그림 그래프로 시각화하여 이를 찾아보도록 한다.
데이터가 충분하다면 이상치를 포함하는 행을 삭제할 수 있다. 승선 요금 속성의 IQR을 이용하여 최댓값과 최솟값 사이의 값들로 평균을 구한 후, 이 값으로 이상치를 수정할 수 있다
데이터는 관찰이나 실험을 통해 수집되는 값들을 의미 하나의 데이터는 여러개의 속성으로 구성, 데이터 속성? 데이터를 설명하는 특징이나 성질
속성값은 각 속성이 가질 수 있는 값으로 숫자나 텍스트 등으로 나타낸다
데이터의 모든 속성은 기계학습에 어떤 영향을 미치는지 확인. 문제 해결에 필요한 속성만 선택하여 사용해야 기계학습의 성능을 높일 수 있다. 이때 문제 해결에 필요한 속성을 핵심 속성이라고 한다.
핵심 속성이란? 내신 성적과 학업 태도는 대학 합격 여부를 예측하는 데 필요한 속성을말한다
데이터 시각화의 필요성? 데이터를 시각화하면 어떤 속성이 문제 해결에 필요한지 직관적으로 판단할 수 있으며, 속성 간의 관계를 쉽게 파악할 수 있다. 시각화 할 때 사용하는 도구에는 막대 그래프 히스토그램 원 그래프 산점도 히트맵 등이 있으며 특히 핵심 속성을 추출 할 때는 히트 맵을 주로 사용한다.
히트 맵은 상관관계를 시각화한 그래프로 색을 이용해 배열을 나타낸다. 해결하고자 하는 문제와 관련 깊은 핵심 속성들을 상관 개수로 찾아내기가 쉬워진다 세계 행복 보고서 데이터에서 행복한 나라의 조건을 예측 하기 위해 필요한 핵심 속성을 히트 맵으로 시각화하여 찾을 수 있다.
산점도 그래프는 두 변수 간의 관계를 나타내기 위해 X축의 값과Y 축의 값이 교차되는 지점에 점을 찍어 시각화한 것이다 산점도는 맷플롯립 라이브러리의 scatter( )함수를 이용하여 그린다
짐 러닝의 이해와 활용
인간의 뇌는 약 1000록 개의 뉴런으로 이루어진 거대한 생물학적 네트워크다
인공신경망은 인간의 신경만 구조를 모방하여 컴퓨터로 처리할 수 있도록 구현한 것이다. 퍼셉트론는 이러한 인공 신경망을 실제로 구현 한 연산 장치이다. 퍼셉트론은 뉴런의 수상 돌기와 같이 데이터를 입력 받는다 축삭 돌기에서 다른 뉴런으로 전기 신호를 보내듯이 데이터를 출력한다.
딥러닝은 여러 개의 은닉층을 포함하여 만든 심층 신경망이다. 깊다는 의미의 심층 신경망은 다수의 은닉층을 통해 복잡하고 많은 데이터를 장교하게 처리할 수 있다 은닉층의 개수를 늘려 층을 깊게 설계할수록 더 복잡한 문제를 해결할 수 있지만 층이 깊을수록 계산량이 많아져 학습 시간이 오래 걸린다
손실함수란 훈련 데이터를 잘 학습 했는지 파악하는 함수로 예측값과 실제값과의 차이를 구하는 함수이다
최적화란 손실 함수의 최소 가 되도록 가중치와 편향을 갱신 하는 과정을 의미한다. 오차연적파를 통해 이루어진다.
경사 하강법은 무작위로 설정된 초기 가중치의 값을 수정 하며 아래 방향으로 일정 거리 인 학습률 만큼씩 이동한다
단점으로는 학습 할 때마다 전체 데이터의 기울기를 구하는 속도가 느리고 계산량이 많다는 것이다
학습의 최종 목표는 최적의 가중치와 평형을 찾는 것이다. 뉴런에서 다른 뉴런으로 전달 되는 신호의 세기는 정보의 중요도에 따라 달라진다 최적의 가중치와 편향이란 손실함수의 최솟값으로 기울기가 0인 지점을 의미한다
컴퓨터 비전 분야의 대표적인 러닝 알고리즘으로는 합성곱 신경망이 있다. 반면 합성곱 신경망은 원래 이미지가 갖고 있던 데이터 구조 그대로 즉 어떠한 형태의 변환 없이 2차원 배열의 입력 데이터를 사용한다. 합성곱 신경망은 크게 합성곱 계층과 풀링 계층으로 구성되며 두 계층을 반복하여 학습을 진행하면서 이미지의 특성을 추출 한다.
음성인식과 자연어 처리는 사람이 사용하는 언어를 컴퓨터와 처리하기 위한 기술을 연구하는 분야이다. 음성 인식과 자연어 처리 분야에 사용되는 대표적인 딥러닝 알고리즘은 순환 신경망이다. 순환 신경망의 구조는 심층 신경망의 구조와 기본 흐름은 유사하다 순환 신경망은 문장을 모두 읽고 최종적으로 감정을 도출하는 문제의 상당히 적합한 구조이다.
데이터 공정성이란 데이터 수집, 처리, 사용, 공유 과정에서의 공평성과 투명성을 의미한다. 데이터 공정성은 기계학습 및 인공지능 분야에서 올바른 인공지능 활용을 위해 고려해야 하는 중요한 주제 중 하나이다.
저출산 문제: 저출산 문제는 다양한 사회적 경제적 요인이 복합적으로 작용해 발생했기 때문에 인공지능의 학습에 필요한 우수한 품질의 데이터를 적절히 확보하기 어렵다.
-