Ai
[프로그래머스 스쿨 AI] Weak6 결정이론
1. 결정이론이란? 새로운 값 x가 주어졌을때 확률모델 p(x,t) 에 기반해 최적의 결정(예를 들어 분류)을 내리는 것 추론 단계 : 결합확률분포 $ p(x, C_k)$ 를 구하는 것 $ (p(C_k|x)$ 를 집적 구하는 경우도 있음). 이것만 있으면 모든 것을 할 수 있음. 결정단계 : 상황에 대한 확률이 주어졌을 때 어떻게 최적의 결정을 내릴 것인지? 추론단계를 거쳤다면 결정단계는 매우 쉬움. 예제: X-Ray의 이미지로 암판별 x:X-Ray 이미지 $C_1 $ : 암인 경우 $C_2 $ : 암이 아닌 경우 $p(C_k|x) $의 값을 알기 원함 $ p(C_k|x)= \frac{p(x,C_k)}{p(x)} $ $ =\frac{p(x,C_k)}{\sum^2_{k=1}p(x,C_k)}$ $ =\fra..
[프로그래머스 스쿨 AI] Weak 6 확률이론
1. 확률 변수( Random Variable) 대문자 X, Y : 확률 변수 소문자 x, y : 확룰 변수가 가질 수 있는 값 확률 P(확률)는 집합 S의 부분집합을 실수값에 대응시키는 함수 P[X =x] 확률변수 X가 x값을 가질 확률? P[ X < x] 확률변수 X가 x보다 작을 확률? X = x, X < x 2. 연속확률 변수 누적분포함수(cumulative distribution function, CDF): $ F(x) = P[X \in ( - \infty , x)] $ 누적분포함수 F(x)를 가진 확률변수 X에 대해서 다음을 만족하는 함수 $ f(x) $ 가 존재한다면 X를 연속확률 변수라고 부르고 $ f(x) $ 를 X의 확률밀도함수라고 부른다 $ f(x) = \int ^x _\infty f..
[프로그래머스 스쿨 AI] Weak 6 머신러닝이란 1
1. 머신 러닝이란(Machine Learning) 기계가 스스로 학습해 가는 프로그래밍 1. 학습단계 : 함수 /$ y(x) $/ 학습 데이터에 기반해 결정하는 단계 2. 시험셋 : 모델을 평가하기 위해서 사용하는 새로운 데이터 3. 일반화 : 모델에서 학습에 사용된 데이터가 아닌 이전에 접하지 못한 새로운 데이터에 대해올바른 예측을 수행하는 역량 4. 지도학습 : target이 주어진 경우 4-1. 분류(classification) : 이미지 분류와 같은 경우 타겟값이 정해진경우 4-2.회기(regression) : 타겟값이 세분화 되있는 경우 5. 비지도 학습 : target이 없는 경우 5-1. 군집 (clustering) : 비슷한 데이터 끼리 모아서 클러스터함 2. 다항식 곡선 근사 (ploy..
[프로그래머스 스쿨 AI] Weak 5 Django + uwsgi+ nginx + aws 완전 삭제후 따라해보기 드뎌! 배포 됫다
1. 일단 aws 설정은 전에 완전 삭제후 aws 만들기 따라하면 된다 1. aws 서버를 만들어 놓는다 vscode 로 ssh 되게하면 더좋음 잘보임 2. aws 에 파이썬 및 다른것들 버전 업데이트 및 맞추기 1. 일단 램 크기 만들어 놓는게 좋긴하다 (동영상에서는 늦게 업해버림) free -h 에 램이 1g라 힘듬 이거 4기가 만들어줘야함 #터미널 $ sudo fallocate -l 4G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile $ free -h 대충 이제 램이 된다 2. 처음에는 version을 봐서 확인해야한다 #터미널 $ python --version $ pip --version #젠..
[프로그래머스 스쿨 AI] Weak 5 Django DB, forms
1. Django DB 설정 1. DB 데이터 필드 만들어주기 app 폴더에 models.py 에 들어간다 class 를 만들어주고 클레스명(models,model): 이제 컬럼 속성을 정해준다 admin 에 추가해준다 2. 데이터 필드 적용해주기 python manage.py makemigrations 엡이름 python manage.py migrate #적용해주기 이제 관리자 페이지를 가본다 2. html에 적용하기 1. view 에서 모델 가져오기 from models import Coffee coffee_DB = Coffee.objects.all() # 이게 다가져오는거 2. html에 적용하기 2. Form 설정 1. forms.py 생성해주기 forms.py 추가해준다 파일을 작성해준다 cla..
[프로그래머스 스쿨 AI] Weak 5 django
1. django 사용하기 1. 가상환경 만들기(그냥 말만 가상환경 원래 시스템이랑 다를거 없음) # 터미널 pip install virtualenv virtualenv venv source venv/Scripts/activate 2. django 설치 pip install django django-admin startproject web_dj cd web_dj python manage.py runserver 3. 파일가보기 web_dj─┬─ __pycache__ ── 시스템파일들 있음 ├─ __init__.py # 웹프로젝트 인식되게하는 ├─ asgi.py # 서버에서 작동하는 파일 ├─ settings.py # 설정사항 반형 여기서 디버그 모드 할수 있음 ├─ urls.py # 주소 관리하는곳 └─ ..
[프로그래머스 스쿨 AI] Weak 4 딥러닝 모델 서빙 및 flask 로 보내기
1. 딥러닝 모델 만들어 보기 1. 코드 import torch import itertools from utils import clean_text class ModelHandler: def __init__(self): self.id2label = {0: 'negative', 1: 'positive'} def _clean_text(self, text): model_input = [] if isinstance(text, str): cleaned_text = clean_text(text) model_input.append(cleaned_text) elif isinstance(text, (list, tuple)) and len(text) > 0 and (all(isinstance(t, str) for t in ..
[프로그래머스 스쿨 AI] Weak 4 모델 서빙
1. 모델 서빙 모델이 만들어 지는 과정 모델을 트레이닝 시킨다 => 모델의 트레이닝 시킨 모델을 저장한다 => 모델을 새로온 데이터에 적용시켜본다 이제 끝인 서빙이다 1. 기본구조 import itertools from utils import clean_text class ModelHandler: def __init__(self): self.id2label = {0: 'negative', 1: 'positive'} def _clean_text(self, text): model_input = [] if isinstance(text, str): cleaned_text = clean_text(text) model_input.append(cleaned_text) elif isinstance(text, (lis..
[프로그래머스 스쿨 AI] Weak 4 aws 모델 만들기
1. aws 활용해보기 1. 진입 하기 aws 데이터를 받아서 사용할 거기 때문에 aws 를 접속하여 원하는 폴더에 파일을 다운받아준다 접속은 전 글을 참조하여 aws 로 진입하면 된다 #아나콘다 가상환경 conda activate pytorch_p36 # template 소스코드 다운 git clone https://github.com/sackoh/kdt-ai-aws cd ./kdt-ai-aws # 필요 라이브러리 설치 pip install -r requirements.txt 2. 폴더 위치가기 그리고 code 에 폴더로 이동해 좀더 편하게 만들어 놓는다 3. 모델 만들기 #아나콘다 가상환경 conda activate pytorch_p36 모델 만들기 python train_ml.py 4. 해보기 #모..
[프로그래머스 스쿨 AI] Weak 4 클라우드 서버
1. 여러가지 클라우드 요즘은 구지 컴퓨터를 좋을걸 살필요가 없다 예를들어 요즘게임도 인터넷을 이용해 좋은 게임 서버 컴퓨터로 일을 시키고 컨트롤만 핸드폰으로 하는 방식이 많다 그렇게 만든클라우드 컴퓨팅에 대하여 공부하였다 1. Idc 서버를 이용해서 cpu 와 ram을 사용하는 것이다 하지만 문제는 컴퓨터 힘이 많이 필요할때는 느려지고 적게필요할때는 낭비되는 상황이 발생한다 2. cloud computing 인터넷을 통해 제공하면서 컴퓨터의 힘이 필요한 만큼을 자르고 사용할 수 있게끔 만들어 장점이 많아졋다 그리고 어디서든지 어떤 기기든 인터넷만 되면 사용할 수 있기에 편하다 1. 퍼블릭 같이 개발하거나 공부할때 좋음 2. 프라이빗 안보여서 혼자 할 수 있음 하지만 개발같이 하기 힘듬 3. 하이브리드 ..