Home [SeSAC]데이터 분석 기초-1일차
Post
Cancel

[SeSAC]데이터 분석 기초-1일차

데이터분석 기초

이미테이션 게임

Can machines think?

Yes, But machines can’t think as people do -> 사람도 사람이 어떻게 생각하는지 모른다 -> 지능적 행위의 결과물에 대한 모방만 가능하다 지능을 모방하는 방법

  • 탐색적 방법

인공지능 주요 인물

  • 마빈 리 민스키(Marvin Lee Minsky) : 지식의 표현과 추론(knowledge representation and reasoning), 기호주의자
  • 프랑크 로젠블랫(Frank Rosenblatt) : 현대 딥러닝의 단초가 된 퍼셉트론(Perceptron)을 개발, 연결주의자
  • 제프리 에베레스트 힌튼(Geoffrey Everest Hinton) : 인공지능(AI) 분야를 개척한 영국 출신의 인지심리학자이자 컴퓨터 과학자
  • 에츠허르 비버 데이크스트라(Edsger Wybe Dijkstra): 다익스트라 알고리즘(최단 경로)를 개발, 튜링상 수상

prolog 언어

#prolog https://swish.swi-prolog.org/

prolog란?

《 인공지능 분야에서 사용하는 논리형 고급 프로그래밍 언어. 》

  • 1973년 프랑스 마르세유 대학교의 컴퓨터 과학자 알랭 콜메르(Alan Colmerauer)와 논리학자 P. 루셀이 개발한 언어로서, 논리식을 토대로 하여 오브젝트와 오브젝트 간의 관계에 관한 문제를 해결하기 위해 사용합니다.
  • 영어 단어로 표현되는 사실(fact)과 규칙(rule)으로 프로그램을 표현하며, 논리학에서의 1차 서술 논리의 규칙을 그대로 따르고 있습니다. 주로 숫자 계산보다는 인공 지능 분야에서의 논리적인 추론이나 패턴 매칭, 리스트 처리 등에 적합합니다.
  • 프롤로그(PROLOG)는 술어 논리식을 프로그램, 증명하는 것을 계산한다는 것으로 간주하는 관점에서 새로운 계산의 기술형태를 취하고 있습니다. 즉, 프로그램 자체는 논리식의 모양으로 만들어지고, 그 프로그램을 실행하는 처리계가 그 증명기로 되어 있습니다.
  • 코볼(COBOL), 포트란(FORTRAN), C 등의 절차형 언어에 대하여 논리형 언어입니다. 추론 기구를 간결하게 표현할 수 있기 때문에 인공지능 분야에서 사용하는 기본 언어입니다. 프롤로그(PROLOG)는 LISP(List Processing)보다는 규모가 작기 때문에 PC를 비롯한 여러 종류의 컴퓨터에서 실행이 가능합니다. 프롤로그는 전문가 시스템의 연구에는 기여를 해왔으나, 대형 전문가 시스템 개발에는 적합하지 못합니다. 그러나 병렬 탐색에 적합하게 설계되어 있기 때문에 병렬 처리가 주요 요소가 될 미래의 컴퓨터에 적합한 언어로 여겨지고 있습니다.

1
2
3
4
5
6
7
8
9
10
11
% 팩트 입력
male(허생원). % 허생원은 남자다
male(동이).
female(분이).

parent(분이, 동이). % 분이는 동이의 parent다
married(허생원, 분이). % 허생원과 분이는 서로 married
married(분이, 허생원).

mother(X, Y) :- female(X), parent(X, Y). %X가 Y의 parent라면 X는 여자고, Y의 부모다
father(X, Y) :- male(X), married(X, Z), mother(Z, Y). % 아빠는 parent라고 정의해 주지 않았기 때문에 엄마와 결혼한 사람으로 정의

기호주의(Symbolist)

기호주의와 연결주의란?

기호 주의(Symbolism) AI #기호주의

컴퓨터 작동 방식에 맞게 기호와 규칙을 사용하는 규칙 기반(Rule-based) 인공지능으로 오래전부터 지금까지 지속적으로 사용되고 있는 방식이다. 컴퓨터 작동 방식으로 인공지능을 구현할 수 있다는 논리이며, 논리적으로 설명 가능한 문제를 다룬다. A=B이고, B=C일 때, A=C이다로 귀결시킬 수 있는 인공지능이다. 그렇기 때문에 간단한 공식으로 운영되는 체스나 장기를 두는 인공지능을 만들 때 기호 주의 인공지능이 적용될 수 있다. 대표적인 개발자로는 민스키와 매카시 등이 있으며, 전문가 시스템 분야, 수학적 정리 증명, 게임, 자연어 처리 등의 분야에 응용되고 있다.
인간이 이해할 수 있는 형태의 표현 방식이라는 장점과 컴퓨터 프로그래밍과의 유사성 때문에 1950년대부터 1980년대까지 전성기를 맞았다. 하지만, 현실의 실제 개념은 실세계의 형상을 모두 ‘기호화’ 할 수 없었기 때문에 한정적인 용도로 밖에 사용할 수 없었고, 기호 주의 AI은 1980년대에 이르러 쇠락의 길을 걷게 되었다. (체스를 두는 인공지능은 체스만 둘 수 있었기 때문) 그리고 이러한 기호 주의의 단점은 연결 주의가 등장하게 된 원인이 되었다.

연결 주의(Connection) AI #연결주의

뉴런의 연결을 를 모방한 정보처리 과정을 사용하는 신경망(Neural Network) 기반 인공지능이다. 뇌처럼 하나의 개념이 여러 곳에 흩어져서 표현되며, 논리적으로 설명하기 어려운 문제를 다룬다. 특정 세기 이상의 값에 도달하면 0과 1로 정보를 처리한다는 개념이다. 대표적인 개발자로는 로젠블럿과 힌턴 등이 있으며, 문자 인식, 영상 인식, 음성 인식 등의 패턴 인식에 응용되고 있다.
예를 들어 고양이와 강아지 이미지를 인공지능이 기호 주의적으로 인식하는 것은 불가능하다. 이미지 속의 고양이의 특징과 강아지의 특징을 인식하고, 이를 고양이 또는 강아지라는 결론으로 도출하는 방식을 연결주의 인공지능이라고 한다. 연결주의의 지능체는 처음에는 “백지” 상태이며, 다수의 사례를 주고 “경험”함으로써 스스로 천천히 “학습”해 간다. 컴퓨터 연결주의의 알고리즘을 구현한 첫 공식 모델이 ‘퍼셉트론’이다.

CRISP-DM

Cross-industry standard process for data mining

Business Understanding, Data Understanding

  • 데이터 이해
  • 사용 가능성 여부
  • 윤리적 요소

Data Preparation

  • 데이터 전처리

Modeling

AI Project Cycle

  1. Problem Scoping
  2. Data Acquisition
  3. Data Exploration
  4. Modeling
  5. Evaluation
  6. Deployment

현대 최상위 기업들을 제외한 기업들이 사용하는 방법: Pretrained 모델을 (fine-tuning)과정을 거처 transform시켜 사용

EBS 이솦: 파이선으로 배우는 AI 기초 1~20 https://www.ebssw.kr/lrnng/alctcr/alctcrDetailView.do?alctcrSn=57835

정형, 비정형 데이터

정형 데이터와 비정형 데이터 차이: 특징을 뽑아낼 수 있는지 여부

  1. 정형 데이터(structured data)
    • 데이터의 통계적 특징을 뽑아내기 쉬운 데이터
    • 키, 체중, 몸무게 등의 데이터
    • 액셀에서 표 형식을 가지는 데이터

키, 체중, 몸무게의 캡션을 지우고 데이터만 남겨도 칼럼을 보면 이것이 키, 체중, 몸무게 값이 가지는 특징과 범위를 유추할 수 있다.

  1. 비정형 데이터(Unstructured data)
  • 데이터의 통계적 특징을 뽑아내기 어려운 데이터
  • 사진, 비디오, 메일 데이터 등

사진은 왜 정형 데이터가 아닌가?

모든 픽셀별로 데이터를 구성했을때, 데이터적인 특징을 유추할 수 없다

python chardet 라이브러리

웹페이지 혹은 파일의 인코딩 정보를 detect해준다 https://minwook-shin.github.io/python-character-encoding-detector-using-chardet/

프로그래밍 언어가 가져야 할 3가지

  1. 단순 명령
  2. 조건 표현
  3. 반복

파이썬 강좌 들을때 주의할 단어:container, list, iterable

This post is licensed under CC BY 4.0 by the author.

[정보처리기사]1과목 소프트웨어 구축-5. 서버 프로그램 구현

[SeSAC]데이터 분석 기초-2일차