sailorCat

전체 글 250

카테고리 설명
😘
카테고리
작성일
2022. 1. 12. 07:41
작성자
sailorCat
728x90

먼저 학습했던 ML 시스템의 종류 1과 다른 기준으로 ML 시스템을 구분한다면 배치학습과 온라인, 오프라인 학습이 있다.

입력데이터의 스트림 Stream으로부터 점진적으로 학습할 수 있는지 알아본다.

 

 

 

배치학습 Batch Learning

가용한 데이터를 모두 사용하여 훈련하는 방식

시간과 자원을 많이 소모하기 때문에 보통 오프라인에서 수행된다.

시스템을 훈련시키고 제품에 적용하면, 실행되는 동안 학습하지 않는 오프라인 학습을 실행한다.

 

batch란 말에 맞게 훈련이 필요하다면 시스템을 중지하고 새로운 시스템으로 업데이트 한다.

24시간 또는 매주 훈련한다.

 

전체 데이터셋을 훈련시키는 경우 매일 처음부터 새로 훈련시키는 시스템 자동화를 사용하면 자원과 비용이 많이 발생한다.

학습을 위해 오프라인으로 몇시간씩 자원을 활용하지 못하는 스마트폰이나 화성탐사로버의 경우 점진적 온라인 학습이 낫다.

 

 

 

 

 

 

온라인학습 Online Learning

데이터를 순차적으로 한개 또는 미니 배치라는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.

매 학습 단계가 빠르고 적은 비용이 들어 데이터가 도착하는 즉시 학습한다.

온라인학습

연속적으로 데이터를 받고, 빠른 변화를 적응해야 하는 시스템에 적합하다.

ex)주식 가격 예측, 화성탐사로버

컴퓨팅 자원이 부족한 경우도 괜찮다.

 

온라인 학습 시스템이 새로운 데이터 샘플을 학습하면 이미 사용된 데이터가 필요하지 않기 때문에 재사용하지 않는다면 버릴 수 있고, 많은 자원과 공간을 절약할 수 있다.

대량 메모리 학습

컴퓨터 한대의 메인 메모리에 들어갈 수 없는 아주 큰 데이터셋을 외부 메모리로 학습할때도 온라인 학습을 적용한다.

일부를 읽어서 훈련하는 것을 반복한다.

 

온라인 학습의 단점은 시스템에 나쁜 데이터가 주입되었을 때 그것을 눈치채지 못하고 시스템 성능이 점진적으로 감소할 수 있다는 것이다.

검색엔진을 속이거나 로봇의 오작동센서의 성능이 줄 수 있다.

시스템을 모니터링하고 데이터를 모니터링 해서 비정상 데이터를 잡거나 성능 감소가 감지되면 즉시 학습을 중지시키고 이전 운영상태로 되돌려야 한다.

 

 

학습률 Learning Rate

온라인 학습에서 변화하는 데이터에 얼마나 빠르게 적응하는 지

 

학습률이 높을 때, 시스템이 빠르게 적응하지만 이전 데이터를 빨리 잊는다.

학습률이 낮을 때, 시스템의 관성이 커져 느리게 적응하지만 새로운 데이터에 있는 잡음이나 대표성 없는 데이터포인트에 덜 민감해진다.

 

 

728x90
카테고리
작성일
2022. 1. 12. 06:43
작성자
sailorCat
728x90

지도학습 Supervised Learning

훈련데이터에 레이블 label이라는 원하는 답이 포함된다.

맞다 틀리다나 개 고양이라는 답이 데이터와 함께 제공된다.

지도학습

예측 Prediction

- 분류 Classifiaction

군집을 분류하여 사진이나 그림의 요소를 분별하는 일

ex) 개 고양이 구분, 스팸 메일 구분, 이미지 분석

- 회귀 Regression

훈련 데이터를 토대로 예측변수라 부르는 특성을 사용하여 변수의 수치를 예측

ex) 내년도 수익 예측, 주식 예측, 그래프 다음 변수 예측

 

회귀

지도학습 알고리즘

- k-최근접 이웃 k-nearest neighbors, KNN

- 선형회귀 Linear Regression

- 로지스틱 회귀 Logistic Regression

- 서포트 벡터머신 Support Vector Machine, SVM

- 결정트리 Decision Tree, 랜덤포레스트 Random Forest

- 신경망 Neural Networks

 

 

 

 

 

 

비지도학습 Unsupervised Learning

훈련데이터에 레이블이 없기 때문에 시스템이 아무런 도움 없이 학습해야 한다.

비지도학습

군집 Clustering

데이터의 특성이 비슷한 그룹으로 묶어 세분화 한다.

ex) 블로그 방문자의 특징

 

이상치탐지 Outlier Detection

정상 샘플을 통해 인식하고 새로운 샘플을 보고 정상 데이터인지 이상치 인지 판단한다.

ex) 이상 신용카드 거래 감지, 제조결함, 데이터셋의 이상치 자동 제거

이상치탐지

특이치탐지 Novelty Detection

훈련세트의 샘플들과 다른 새로운 샘플을 탐지한다.

감지하고 싶은 모든 샘플을 제거한 매우 신뢰도 높은 훈련세트가 필요하다.

ex) 강아지 사이 고양이 찾기

 

이상치탐지와 특이치탐지의 차이점

훈련데이터가 강아지 사진 수천장이고 1%가 치와와 사진이라면

이상치탐지는 치와와 사진을 보고 이상치로 분류

특이치탐지는 치와와 사진을 보고 처리하지 못한다.

 

군집

 

시각화 Visualization

레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어 준다. 

구조를 그대로 유지하려 하기 때문에 데이터의 조직을 이해하고, 패턴을 발견할 수 있다.

 

차원축소 Dimensionality Reduction

데이터의 적절한 양을 간소화

ex) 차의 주행거리와 연식의 연관성을 찾아 하나의 특성으로 합치기

t-SNE

 

비지도학습 알고리즘

 

군집 Clustering

- k-평균 k-means

- DBSCAN

- 계층 군집분석 Hierarchical Cluster Analysis, HCA

- 이상치탐지 Outlier Detection

- 특이치탐지 Novelty Detection

- 원-클래스 One-Class SVM

- 아이솔레이션 포레스트 Isolation Forest

 

시각화 Visualization 차원축소 Dimensionality Reduction

- 주성분 분석 Principal Component Analysis, PCA
- 커널 Kernel PCA

- 지역적 선형 임베딩 Locally-Linear Embedding, LLE

- t-SNE t-Distributed Stochastic Neighbor Embedding

 

연관 규칙 학습 Association Rule Learning

- 어프라이어리 Apriori

- 이클렛 Eclat

 

준지도학습 Semisupervised Learning

일부만 레이블이 있는 데이터를 다룬다.

ex) 구글 포토 호스팅 서비스

레이블에 이름을 추가하면 어떤 사람인지 알 수 있다.

 

준지도학습은 지도학습과 비지도학습의 조합으로 이루어져 있다.

심층신뢰 신경망은 비지도학습 제한된 볼츠만 머신 RBM에 기초한다.

RBM을 통해 순차적으로 훈련하고, 다음에 전체 시스템이 지도학습 방식으로 조정된다.

삼각형, 사각형의 준지도 학습 

준지도학습 알고리즘

- 심층신뢰 신경망 Deep Belief Network, DBN

 

 

 

 

강화학습 Reinforcement Learning

환경을 관찰하여 에이전트에게 행동을 실행하고 그 결과로 보상이나 벌점을 받는다.

시간이 지나면서 보상을 얻기위해 정책 Policy라고 불리는 최상의 전략을 스스로 학습한다.

ex) 알파고, 로봇, 게임

 

강화학습

728x90
카테고리
작성일
2022. 1. 11. 00:09
작성자
sailorCat
728x90

특징공간

모든 데이터는 정량적으로 표현되며, 특징 공간상에 존재한다.

특징벡터 x = ( a, b, c, d, ... )

 

 

다차원 특징공간 d-demension

특징벡터 x = ( x1, x2, x3, x4, ... )^T

 

직선 모델을 사용하는 경우 매개변수의 수 (d+1)

 

2차 곡선 모델을 사용하는 경우 매개변수의 수 (d^2+d+1)

지수적으로 증가한다.

 

거리의 경우 차원과 무관하게 수식 적용이 가능함

거리가 가까우면 데이터가 유사한 것으로 취급

두 점 a = (a1, a2, a3, ...)^T와 b = (b1, b2, b3, ...)^T 사이의 유클리드 거리는 모든 d에 성립한다.

 

 

 

차원의 저주 curse of dimensionality (=number of features)

차원이 고차원이 될 수록 발생하는 현실적인 문제들

 

ex) MNIST 샘플의 차원 d = 784 일 경우 샘플의 화소가 0과 1을 가진다면 2의 784제곱 개의 칸이 생긴다.

이 공간에 고작 6만 개의 샘플을 흩뿌린 매우 희소한 분포가 된다.

규칙을 찾기가 어려워진다.

 

차원이 높아질수록 유의미한 표현을 찾기위해 지수적으로 많은 데이터가 필요하다.

 

선형 분리 불가능 Linearly non - seperable

선형 분리가 불가능한 특징 공간을 공간변환을 통해 직선 모델로 만들 수 있다.

ex) 표현문제 representations matter

직교좌표계로 변환하면 규칙을 찾아 구분 가능해진다.

 

표현학습 representation learning

좋은 특징 공간을 자동으로 찾는 작업

ex) 개구리 사진의 특성을 분석해 개구리라고 알아내는 것

 

심층학습 Deep Learning

표현 학습의 하나로 다수의 은닉층을 가진 신경망을 이용하여 최적의 계층적인 특징을 학습

아래쪽 Layer는 저급 특징인 선, 구석점 등을 알아내고

위쪽 Layer는 이미지의 추상화된 측징 얼굴, 모자 등을 알아낸다.

 

이미지 

Pixel - Edge - Texton - Motif - Part - Object

텍스트

Character - Word - Word Group - Clause - Sentence - Story

음성

Sample - Spectral Band - Sound - ... - Phone - Phoneme - Word - ...

 

 

인공신경망의 역사

 

1940 - 1960 인공두뇌학 Cybermetics

1980 - 1990 결합설 Connectionism for Parallel Distributed Processing

2006 - 현재 심층학습 Deep Learning

 

초인공지능 Super AI

인공지능의 발전이 가속화되어 모든 인류의 지성을 합친 것보다 뛰어남

강인공지능 Strong AI

인간이 할 수 있는 어떠한 지적인 업무도 성공적으로 해내는 지능

약인공지능 Weak AI

인간이 지시한 명령의 틀 안에서만 일하기 때문에 예측, 관리가 용이

728x90
카테고리
작성일
2022. 1. 10. 12:37
작성자
sailorCat
728x90

인공지능

인간의 학습, 추론, 지각, 자연언어 이해 등의 지능적 능력을 기기로 실현

 

학습

경험의 결과로 나타나는, 비교적 지속적인 행동의 변화나 그 잠재력의 변화, 또는 지식을 습득하는 과정

 

기계학습

Programming computers to learn from experience should eventually eliminate the need for much of this detailed programming effort

컴퓨터가 경험을 통해 학습할 수 있도록 프로그래밍 할 수 있다면, 세세하게 프로그래밍 해야 하는 번거로움에서 벗어날 수 있다.

samuel 1959

 

기계학습의 현대적 정의

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E

어떤 프로그램이 T라는 작업을 수행하고, 이 프로그램의 성능을 P라는 척도로 평가할때 경험 E를 통해 성능이 개선된다면 이 프로그램은 학습을 한다고 말할 수 있다.

Mitchell 1997

 

최적의 프로그램(알고리즘)을 찾는 행위 

E*T =P

경험과 작업을 통해 성능의 향상

 

Programming computers to optimize a performance criterion using example data or past experience

사례 데이터, 즉 과겨 경험을 통해 성능 기준을 최적화 하도록 프로그래밍 하는 작업

Alpaydin 2010

 

Computational methods using experience to improve performance of to make accurate predictions

성능을 개선하거나 정확하게 예측하기 위해 경험을 이용하는 계산학 방법들 

Mohri 2012

Traditional programming input, program computation results
ML input, desired result computation program

 

 

초창기 지식 기반의 방식에서 기계학습으로 전환

- 경험적인 지식 혹은 사실을 인위적으로 컴퓨터에 부여하여 학습

- 지식 기반의 한계, 학습의 대상이 심한 변화 양상을 보이는 경우에 모든 지식이나 사실의 나열이 불가능

 

지식기반 기계학습 ML 심층학습 DL
표현학습 representation learning

 

기계학습의 데이터 중심 접근방식으로 전환

 

 

ex) 이동체의 위치를 시간변화에 따라서 예측하는 기계학습

예측

- 회귀 regression, 목표치가 실수

- 분류 classification, 부류 혹은 종류

 

이동체의 위치는 x값에 따른 연속된 y값의 예측하는 회귀문제

 

훈련데이터 집합 training set

x값과 y값이전까지의 데이터입력과 출력값

 

관찰된 데이터를 설명하는 가설을 세운다.

 

모델의 데이터 양상이 직선 형태로 보임

모델을 직선으로 설정

y = wx+b

 

훈련 train

예측을 가장 정확하게 설명하는 최적의 매개변수를 찾는 작업

임의의 매개변수로 시작해서, 개선하며 정량적인 최적 성능 performance에 도달

오차를 줄여나간다.

 

훈련을 마치고

추론 inference

w와 b값을 통해

새로운 특징에 대응되는 목표치의 예측에 사용

 

훈련집합에 없는 새로운 데이터에 대한 오류를 최소화 한다.

 

일반화 generalization 능력

테스트 집합에 대한 성능

 

기계학습의 요소

- 데이터

- 데이터 사이의 규칙 존재

- 수학적으로 설명이 불가능

 

  사람학습 기계학습
학습과정 능동적 수동적
데이터 형식 자연에 존재하는 그대로 일정한 형식
동시에 학습 가능한 태스크 여러 태스크 하나의 태스크
학습 원리에 대한 지식 제한적 모든 과정이 밝혀짐
수학 의존도 낮음 높음
성능평가 주관적 객관적
역사 인류의 역사 약 60년

 

 

 

728x90
카테고리
작성일
2022. 1. 10. 09:44
작성자
sailorCat
728x90

인공지능 Artificial Intelligence

인간의 학습능력과 추론능력 지각능력 자연언어의 이해능력 등을 컴퓨터 프로그램화 하는 기술

 

머신러닝 ML

경험(데이터)를 통해 학습

 

인공지능의 발전

알파고 AlphaGo

가장 고등화된 게임을 딥러닝, 강화학습을 통해 기계에게 학습시킴 73승 1패

현재는 사람의 현실적인 부분을 돕는 의료진단을 보는 소프트웨어로 변화

 

음성인식 Siri, Duplex, Youtube 자막 

 

추천시스템 eBay, Netflix 

 

자율주행 Waymo

 

실시간 객체 인식 Face ID

 

로봇 HUBO

 

번역 papago

 

ai기술은 우리가 인식하는 것보다 더 많은 발전을 이루었지만, 윤리적인 악영향 때문에 실제 기술에 도입하지 않는 경우가 있다.

앞서나가는 기술에 대한 사회적인 약속이 필요하다.

 

 

1940 -1960

인공지능의 시작 - 촉발의 시대

이미테이션 게임 엘런튜링

튜링테스트

 

1970 -1980

인공지능의 번영 - 번창의 시대

학습의 관점에서 인공지능을 발전

딥러닝 심층학습

 

 

 

728x90
작성일
2022. 1. 6. 18:44
작성자
sailorCat
728x90

https://seoann.github.io/eda_web.github.io/eda/homepage/

 

seoann EDA

 

seoann.github.io

전세계의 매일의 기온을 체크하여 저장한 캐글 데이터 셋으로 EDA를 진행하고, 이것을 바탕으로 django 웹페이지를 만들었다.

 

blog, git, Kaggle dataset을 링크로 걸었다.

기온변화 EDA를 진행하면서 기후변화가 생각보다 심각하다는 것을 느꼈다.

 

728x90
작성일
2022. 1. 5. 10:08
작성자
sailorCat
728x90

admin 페이지가 아니라 html에서 바로 커피를 입력받아 DB에 저장하기 위해서 forms.py를 만든다.

메타 클래스를 상속받고 모델 폼즈를 상속받는 클래스와 입력받을 인자들을 필드에 넣는다.

views에서는 폼의 커피폼 모델을 import하고

폼을 인자로 html문서로 전달한다.

html 문서에서 커피 폼을 폼 인자로 감싸고 save 버튼과 함께 만들었다.

하지만 이 상태에서는 오류가 발생한다.

form에서 반드시 보안상의 이슈로 post를 하는 경우 csrl로 보안 규칙을 정해야 한다.

마지막으로 폼이 유효한 결과를 가지고 있고, request.method가 POST인 경우 폼을 저장한다.

 

 

 

 

728x90

'Python Framework > Django' 카테고리의 다른 글

Django 커피 html 출력  (0) 2022.01.05
Django DB models 사용하기  (0) 2022.01.05
Django web page 자기소개 페이지  (2) 2022.01.04
HTML 문법  (0) 2022.01.04
Django sqlite3 db 오류 발생시  (0) 2022.01.04
작성일
2022. 1. 5. 08:48
작성자
sailorCat
728x90

html을 통해서 

view에서 커피 변수를 all로 받아서 list로 넘겨준다 html로 넘겨주는 응답을 하는 함수를 만든다.

url에는 coffee를 입력하면 어떤 뷰 함수를 실행하는지 지정해 준다.

 

 

 

태그를 통해 커피의 리스트를 출력한다.

728x90

'Python Framework > Django' 카테고리의 다른 글

Django DB 접근 view, model, form POST  (0) 2022.01.05
Django DB models 사용하기  (0) 2022.01.05
Django web page 자기소개 페이지  (2) 2022.01.04
HTML 문법  (0) 2022.01.04
Django sqlite3 db 오류 발생시  (0) 2022.01.04