Please enable JavaScript.
Coggle requires JavaScript to display documents.
2.인공지능과 학습(1504 김은서) - Coggle Diagram
2.인공지능과 학습(1504 김은서)
기계학습과 데이터
전통적 프로그래밍과 기계학습
정해진 규칙대로 수행하는 자동호 능력을 이용해 문제를 해결함 반면 우리는 컴퓨터가 데이터를 통해 스스로 학습하고 기계학습 모델을 만들도록 프로그래밍해 문제를 해결할 수도 있다.기계학습을 이용하면 컴퓨터는 입력된 데이터속성들 간의 규칙을 학습해 모델을 생성한 후 새로운 입력 데이터의 결과를 판단하거나 예측한다.
-
-
-
문제 해결을 위한 데이터
대용량의 품질 좋은 훈련 데이터가 필요함.데이터 양이 충분하지않으면 기계학습 모델의 성능은 높지 않을 것이다.또한 수집한 훈련 데이터가 편향을 띤다면 이 데이터를 이용한 학습 결과도 정확하지 않을 것이다.
-
데이터 전처리와 핵심 속성 추출
2.데이터 전처리하기
-
결측치 처리하기
결측치 처리데이터 분석 과정 중 에러발생하거나 잘못 된 결과 산출되어 기계학습모델 성능에 부정적인 영향을 미칠 수 있음.행이나 열을 삭제하는 방법과 평균,중앙값,최빈값 등의 대표값으로 결측치를 대체하는 방법결측치가 포함된 행이나 열을 삭제할 때는 데이터의 손실이 크지 않은지,삭제된 행이나 열이 꼭 필요한 데이터인지 따져보고 신중하게 적용해야함
-
2.핵심 속성 추출하기
데이터는 관찰이나 실험을 통해 수집되는 값들을 의미하며,하나의 데이터는 여러개의 속성으로 구성되어 잇다.속성값은 각 속성이 가질 수 있는 값으로 숫자나 텍스트 등으로 나타낸다.
핵심 속성 이해하기 필요한 속성을 핵심 속성이라고 한다. 만약 핵심 속성이 부족하다면,추가자료를 수집해야한다.
히트맵으로 핵심 속성 추출하기
이 때 데이터를 시각화하면 직관적으로 판단할 수 있음.히트맵은 상관 관계를 시각화한 그래프로 색을 이용해 배열을 나타낸다.상관계수로 찾아내기가 쉬어짐.(상관계수의 값이 1에 가까울 수록 두 속성 간의 관련성이 높음.
기계학습의 유형과 알고리즘
기계 학습의 유형
지도 학습
입력 데이터와 정답 데이터를 함께 사용하여 기계학습 모델을 학습시키는 방법이다.학습 결과에서의 오류 여부와 성능을 쉽고 명확하게 평가할 수 있다.인공지능은 훈련 데이터를 기반으로 지도학습이 끝난 후 회귀와 분류 들의 작업을 할 수 있다.
비지도 학습
정답 데이터 없이 입력 데이터만으로 이루어진 훈련데이터를 사용하여 모델을 학습시키는 방법이다, 자체적인 방식으로 데이터를 유사한 속성값으로 갖는 그룹으로 묶는다.컴퓨터는 입력 데이터의 특징을 분석하여 패턴이나 특정 규칙을 찾아내야 한다.숨겨진 새로운 정보를 찾고자 할 때 유용함,
강화학습
판단할 때마다 외부 환경에서 보상을 제공하고 이 보상의 값을 최대화하기 위한 방향으로 학습을 진행한다.현재 상태에서 선택 가능한 행동들 증 보상이 가장 큰 경우를 선택하여 해당 방향으로 학습을 진행한다.정답이 없는 상황에서 학습하고 적응하는 과정을 따른다.
기계학습 알고리즘의 이해
회귀
회귀는 어떤 현상에 영향을 미칠 수 있는 여러 요인과 특정 결과 사이의 관 계를 함수로 표현해 연속적인 수치를 예측하는 기계학습 방법이다. 즉, (훈련 데이터로 학습한 모델을 사용하여 새로운 입력값에 대한 수치 결과를 예 는 것이다.회귀 모델은 훈련데이터를 기반으로 독립 변수와 종속 변수 사이의 규칙을 파악하여 수식으로 나타내고,학습된 규칙에 새로운 값을 의미한다. 회귀 모델을 만들 때 사용하는 대표적인 알고리즘으로는 선형 회귀이다.
예측값과 실젯값의 오차를 최소화하는 가설함수를 찾고 최적화하며 학습을 진행함.
-
분류
분류는 미리 정의된 여러 범주로 데이터를 구분하기 위한 경계를 학습하여 새로운 입력이 들어오면 여러 범주 중 하나를 선택하는 과정으로, 지도학습의 한 형태다. 즉 데이터가 어떤 클래스(class)에 속하는지를 찾는 것이다. 예를 들어 개와 고양이 이 미지를 수집하여 분류 모델을 생성한 후, 테스트 데이터를 입력하면 각 데이터에 대 한 클래스를 개 또는 고양이로 분류할 수 있다.분류를 이용한 기계학습은 주로 이진 분류와 다중 분류로 나뉜다. 이진 분류는 주 어진 데이터를 2개의 클래스로 분류하는 것이고, 다중 분류는 주어진 데이터를 3개 이상의 클래스로 분류하는 것이다.
군집
특징
군집은 비지도학습 알고리즘의 일종으로, 데이터가 어떻게 그룹화되어야 하는지 미리 정의하지 않고 컴퓨터가 데이터 패턴을 스스로 찾아내는 방식이다.
학습 데이터가 정답 데이터를 가지고 있지 않은 경우이므로 입력된 데이터 의 특성을 분석하여 서로 유사한 특성을 가진 데이터끼리 그룹화한다. 즉, 데이터의 비슷한 특성을 파악하고 이에 따라 데이터를 그룹으로 묶는 것이라고 할 수 있다.
이러한 군집 분석은 대표적으로 고객의 성향을 분석해 비슷한 유형끼리 군집을 만 들어 군집별 상품 추천 알고리즘에 반영할 때 활용된다. 이뿐만 아니라 인구 밀집도 를 분석해 버스 노선을 결정하거나, SNS 조회 기록을 이용해 비슷한 성향의 게시물 을 추천할 때에도 사용한다. 이 외에 데이터 시각화 및 지도학습을 위한 데이터의 전 처리 기술로도 사용된다.
군집 모델을 만들 때 사용하는 대표적인 군집 알고리즘에는 k-평균(k-means) 알고리즘이 있다. 이 알고리즘은 임의의 군집 중심으로부터 가까운 거리에 있는 데 이터를 같은 군집으로 할당하고, 군집의 중심을 변경되지 않을 때까지 계속 바꾸며 조정하는 방식으로 군집을 형성한다.
딥러닝의 이해와 활용
인공신경망과 딥러닝
인간의 신경망 구조를 모방하여 컴퓨터로 처리할 수 있도록 구현한 것을 인공신경망이라고 한다.퍼셉트론은 연산장치로서 결괏값인 0 또는1을 출력하는 가장 작은 단위이다.입력층 1개와 출력층 1개로 이루어진 구조를 단층 퍼셉트론이라고 한다. 퍼셉트론은 뉴련의 수상 돌기와 같이 데이터를 입력 받고 마지막 축삭 돌기에서 다른 뉴런으로 전기 신호를 보내듯이 데이터를 출력한다.퍼셉트론은 노드 또는 인공 뉴런이라고도 부른다.
가중치-출력값에 미치는 영향을 조정하는 변수,입력에 대한 가치
-
활성화 함수-조정해 주는 함수,계단함수,시스모이드함수,헬루 함수 등
다층 퍼셉트론 - 단층퍼셉트론 은닉층을 새로 만들어 입력층,은닉층,출력층의 구조를 갖춘 인공신경망
딥러닝은 여러 개의 은닉층을 포함하여 만든 심층 신경망을 통해 학습이 이루어지는 기계학습의 한 방법이다.입력층에서 은닉층을 거쳐 출력층으로 연속적인 연산이 이루어진다.층이 깊을 수록 계산량이 많아져학습시간이 오래 걸리고 과대적합이 발생할 수도 있다.
가중치와 편향을 찾아가는 과정을 의미하며 학습의 최종 목표는 최적의 가중치와 편향을 찾는 것 신호의 세기는 중요도에자라 달라지는데 높은 가중치를 곱하여 전달하고 낮은 가중치를 곱하여 소멸시킨다.편향을 더하여 조정함.최적의 가중치와 편향이란 손실 함수의 최솟값으로 기울기가 0인 지점 의미함. 시그모이드 함수는 S자 곡선을 그리는 함수로 출력값은 0과 1사이다.값이클수록 출력값은 1에 가까워지고 작아질수록 0에 갂워진다.렐루 함수는 입력값이 0보다 크면 그대로 입력값이 0이하면 0을 출력한다.손실함수란 훈련 데이터를 잘 학습했는지 파악하는 함수 예측값과 실젯값이 일치할수록 손실함수의 값은 작아지므로,손실함수의 값이 작을수록 학습이 잘된 좋은 모델이라 할 수 있음 최적화란 손실함수의 값이 최소가 도도록 가중치와 편향을 갱신하는 과정
오차 역전파 거꾸로 ㅇ거슬러 올라가면서 가중치와 편향을 갱신하는 과정 딥러닝의 학습이라고 한다.경사하강법은 무작위로 값을 수정하며 아래 방향으로 일정 거리인 학습률 만큼씩 이동한다.기울기가 0이 될 때까지 학습을 거듭하여 가중치와 편향을 수정하는 것이다,학습할때마다 전체 데이터의 기울기를 구하여 속도가 으리고 계산량이 많다는 단점이 있다.
딥러닝의 활용 분야
비정형 데이터를 다룰때 좋은 성능을 내고 있으면,기존의 기계학습 알고리즘으로 다루기 어려웠던 분야에서 사용되면서 빠르게 발전하고 있다. 사례로 합성곱 신경망을 이용한 컴퓨터 비전,순환 신경망을 이용한 음성 인식 및 자연어 처리 등이 있다.
-
음성은 인간과 인공지능과의 상호 작용에 있어 가장 보편적이 고 편리한 정보 전달 수단이기 때문에 음성 인식 기술은 매우 중요한 분야로 연구가
활발히 이루어지고 있다.
음성 인식과 자연어 처리 분야에 사용되는 대표적인 딥러닝 알고리즘은 순환 신경 망(RNN)이다. 순환 신경망은 데이터 간의 관계 가 중요한 순차적인 데이터를
입력받아 결과를 도출하는 딥러닝 모델로, 자연어 처리나 시간에 따라 변화하는 시계 열 데이터"등을 처리하는 데 주로 사용된다. 순환 신경망의 구조는 심층 신경망의 구조와 기본 흐름은 유사하다. 다음 층으로 이어지는 중간 출력을 은늬 상태라고 하는데, 데이터의 중간 결과를 기억할 수 있다
데이터의 중간 결과를 기억하는 특징 때문에 순환 신경망은 오른쪽 예시처럼 이전 입력값이 고려된 현재의 입력값에 따라 출력값을 결정한다. 따라서 순환 신경망은 문장을 모두 읽고 최종적으로 감정을 도출하는 문제에 상당히 적합한 구조이다..
-
딥러닝으로 손 글씨 분류하기
-
렐루
렐루 함수는 입력값 x가 음수 이면 0으로 출력하고, x가 양 수이면 해당 값인 x를 그대로 출력한다.