AI

    유전 학습 - 1

    유전 학습 이란? 유전이란 말은 수도 없이 들어 봤을 것이다. 살아오면서 부모에게 유전받았다. 라는 소리를 말이다. 이 글을 읽는 모든 분들도 부모나 조상에게 물려받은 특징들이 있을 것이다. 그렇기에, 아버지를 닮았다는 소리나 어머니를 닮았다는 소리를 들을 것이다. 유전 알고리즘은 이런 자연환경의 현상을 바탕으로 만들어진 알고리즘이라고 생각하면 된다. 유전 학습은 자연세계의 진화 과정을 기초로 하여 만들어진 알고리즘이다. 생물의 진화과정을 모방하여 문제를 해결하는 기법중의 하나이다. 유전이라 함은 부모에게 자녀가 어떠한 형질을 물려받는 것을 말한다. 그렇게 실제로 진화하면서 우성적으로 진화할 수 도 열성적으로 진화할 수도 돌연변이가 발생할 수 도 있는 문제이지만, 여기서 유전 학습은 점점 답을 찾기위한,..

    지도 학습 - 1

    1. 지도 학습이란?지도학습 혹은 감독학습이라고도 불립니다. 감독 혹은 지도받은 내뇽에 기반하여 학습하는 방법을 말합니다. 지도 학습은 말 그대로 옳고, 그름을 알려주는 지시자(교육자)가 존재하고, 그 옳고 그른 데이터에 의해 학습하는 방법입니다. 이런 의미에서 교사학습이라 불리기도 하는데요. 이와 반대되는 개념으로, 어떠한 학습 사례나, 학습 방법, 등을 지시/감독 받지 않고, 학습을 하는 방법을 비지시, 비감독 또는 비교사 학습이라고 합니다. 일반적으로 개인의 독학보다는, 개인에게 교사가, 지식을 전달해준 눈군가가 있다는 것은 더욱 효율적이고 정밀하게 학습할 수 있는 환경을 만들어 줍니다. 학습에 관해 교사에게 옳고, 그름을 배울 수 있으므로 다른 학습 방법보다 빠르고 정확한 학습을 할 수 있습니다...

    n-gram 출현빈도에 기초한 텍스트 데이터 학습 - 2

    지난 시간에 n-gram으로 나눠서 데이터를 저장하는 것 까지 하였다. 이번시간에는 그 데이터를 이용해서, 데이터의 빈도수를 확인하는 방법에 대해 알아본다. 저장된 데이터를 한 줄씩 읽어와서 그 데이터를 다음 데이터와 비교하여 중복된다면 갯수를 올리고, 그렇지 않다면 다음 데이터와 비교한다. 정리해보자. 1. n-gram data를 읽어와서 저장한다.2. n-gram data를 분석하기 편하게 qsort를 이용해 정렬한다.3. 중복된 데이터를 삭제하고 빈도수 계산한다.4. 결과를 다시 qsort를 이용해 정렬한다. #include#include#include #define MAX_N 10#define NGRAM_NUM 1000000#define NUMF 4 char data[NGRAM_NUM][MAX_N..

    n-gram 출현빈도에 기초한 텍스트 데이터 학습 - 1

    이번에는 n-gram 출현빈도에 기초한 텍스트 데이터 학습에 대해 알아 본다. 어떠한 글에서 여러 단어들의 빈도수는 그 단어의 글의 특징을 알 수 있는 좋은 정보이다. 하지만, 문장에서 어떠한 글을 뽑아내는 기준은, 그 전에 설명했던 방법 중 띄워쓰기나 여러가지 방법이 있다. 하지만 여기서는 가장 기초적으로 n개의 글을 하나씩 묶어서 빈도수를 확인해보는 가장 기초적인 방법에 대해서 알아보자. 먼저 데이터를 구하는게 어려울 꺼다. www.gutenberg.org 라는 곳에 접속해서, 아무 ebook 이나 다운받자. #include #define MAX_N 10 void setlastch(int n, char data, char lastdata[]); int main(){ FILE *pfile; char l..

    텍스트 마이닝 - 1

    이 시대의 인터넷은 정보의 바다를 넘어서고 있다. 웹이나, 블로그등의 자료는 무수히 많은 데이터로 사용 될 수 있고, 이런 방대한 데이터들이 지속적으로 축적되면서, 그 데이터들을 분석할려는 텍스트 마이닝 기술이 널리 사용되고 있다. 학습에 피룡한 데이터 세트가 한국어나, 영어 등의 자연언어로 구술된 텍스트 데이터이다. 일반적인 텍스트들을 데이터로 하여 정보를 추출하여, 분석하여 실질적으로 그 결과를 이용해 필요한 판단을 내리는 것이다. 이러한 텍스트 데이터를 분석하기 위해서는, 자연어 처리 기술이 필요하다.!! 자연어 처리는 인공지능의 한 분야이고, 이러한 자연어로 기술된 문장을 다루는 기술이다. 문장추출 -> 형태소 분석 -> 구문 분석 -> 의미 분석 -> 담화 이해 의 순서로 진행된다. 문장을 분석..

    최소자승법을 이용한 학습 프로그램 - 2

    이 전에 최소자승법을 이용한 예측에 대하여 글을 쓰고,수식을 정리해 보았다. 원하는 그래프 y = a0 + a1x 에서 파라미터를 얻을 수 있는 a0, a1을 구하는 방법 또한증명했었다. 증명한 내용을 토대로 소스코드를 작성하였다. 위에 수식에서 보면 a0와 a1을 구하기 위해 필요한 것이xi, yi, xi*yi, xi^2에 필요함을 알 수 있다. #include #define DATA_SIZE 2000 int main(){ unsigned char data[DATA_SIZE]; double xi=0, yi=0; double sum_xi=0, sum_yi=0, sum_xiyi=0, sum_xi2=0; //xi, yi, xiyi, xi^2 double a0, a1; //y = a0+a1x int count..