728x90

전체 글 92

Step3. 지도학습과 비지도학습

머신러닝에는 크기 지도학습과 비지도학습이 있다. 두 개의 큰 차이점은 라벨링된 데이터가 있는지 없는지의 여부이다. # 지도학습(supervised learning) 지도학습은 라벨링된 데이터를 사용하며 대표적으로 회귀(Regression)와 분류(Classification)이 있다. 회귀 : 예측(출력)되는 변수 Y 가 연속형 변수일 때. (숫자형 같은 것. 키, 몸무게 등) 분류 : 예측(출력)되는 변수 Y 가 이산형 변수일 때. (성별, 정상/비정상 등) # 비지도학습(unsupervised learning) 입력 변수(X) 간의 관계에 대한 패턴(특징)을 찾아내는 것이 비지도학습이다. (Y 가 존재하지 않음) 비지도 학습에는 대표적으로 군집과 PCA 가 있다. 군집 : 비슷한 데이터끼리 그룹화. P..

머신러닝 단기집중과정 요점정리

머신러닝을 시작하기 전 용어에 대해 정리한다. 라벨(labels) : 예측하는 실제 항목(y) 특성(features) : 데이터를 설명하는 입력 변수(x) 모델(models) : 특성과 라벨의 관계 정의. 학습 - 모델을 만들거나 배우는 것 추론 - 학습된 모델을 정의되지 않은 데이터에 적용하는 것. 예측. 회귀 모델 - 연속적인 값을 예측한다. ex) xx기업의 주식 가격이 얼마인가요? 분류 모델 - 불연속적인 값을 예측한다. ex) 이 사진은 강아지일까요, 고양이일까요? 주어진 데이터를 통해서 특성과 Y의 관계를 만드는 알고리즘을 만드는 것도 머신러닝이지만, 데이터의 특징을 찾아내는 함수를 만드는 것 또한 머신러닝이다. 이 사진은 온도에 따라 귀뚜라미가 우는 빈도를 나타내었습니다. 다음과 같이 선형을..

파이썬 - 정규표현식 알아보기 (기초)

데이터 중에 문자를 분석하는 경우가 있을 것이다. 복잡한 문자열을 처리할 때 빠질 수 없는 것이 "정규 표현식" 이다. 정규 표현식에 대해 알아보자. 정규표현식을 제대로 들어가기 전에 어떤 기능을 사용하는지 예시를 살펴보자. # 주민등록번호 뒷자리를 * 로 변경하기 minsu = '950213-1390192' 한 명의 주민등록번호가 있다고 가정할 때 뒷자리(7개)를 '*' 로 변경하고 싶다고 하자. 정규표현식을 사용하지 않는다면 꽤 긴 코드가 나올 것이다. 하지만 정규표현식을 사용한다면? import re setting = re.compile("(\d{6})[-]\d{7}") print(setting.sub("\g-*******", minsu)) --------------------------------..

데이터 분석 2020.12.02

머신러닝 - MNIST 알아보기 (분류) - Python

머신러닝을 공부하는 사람이라면 한 번쯤 경험해봤거나 들어봤을 데이터셋이다. MNIST! 이 데이터 셋은 미국 고등학생들과 인구조사국 직원분들이 손으로 직접 쓴 숫자 데이터셋이다. 시작해보자. from sklearn.datasets import fetch_openml mnist = fetch_openml('mnist_784', version=1) mnist.keys() --------------------------------------------- dict_keys(['data', 'target', 'frame', 'categories', 'feature_names', 'target_names', 'DESCR', 'details', 'url']) 사이킷런을 통해서 mnist 데이터셋을 받아오는 과정이다...

[프로그래머스] level2 - 기능개발 : 파이썬(Python) 풀이

문제 프로그래머스 level2 기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 코드 import numpy as np def solution(progresses, speeds): answer = []; count = 0 progresses = np.array(progresses) speeds = np.array(speeds) while(len(progresses) > 0): progresses += speeds if(len(np.where(progresses >= 100)[0]) == 0): ..

코딩코딩 2020.11.15

02. 커스텀 이미지 학습시키기 (Yolo - darknet)

darknet.exe 파일까지 만들었다면 이제 나의 이미지를 학습시킬 차례이다. 잊어버리기 전에 업로드 하고 싶어서 아직까지 내 컴퓨터에서 학습중이다. darknet.exe 를 만들었다면 동일 경로로 cmd 를 이동시키고 명령어를 알아보자. darknet.exe detector train data/obj.data cfg/yolov3.cfg darknet53.conv.74 data/obj.data 파일 내용 classes = 2 train = data/train.txt names = data/obj.names backup = backup/ 나의 경우는 "토마토" 와 "흑미밥" 의 이미지를 학습시키기 때문에 종류가 2개 이므로 classes 는 2로 설정했다. train 은 훈련시킬 데이터의 경로와 이름이다..

01. 개발 환경 세팅하기. (Yolo - darknet)

Yolo.... darknet 쉽지 않은 상대다. 이것저것 많이 해봤는데 결국 실패해서 태초마을로 돌아왔다. Visual Studio, CUDA, cudnn, openCV 를 다 삭제했다. 처음부터 다시 시작해보자. 게시물에 적은 순대로 설치를 시작합니다. 버전에 대해서는 제가 설치한 버전으로 설명합니다. 나의 컴퓨터 사양 CPU : intel i7-7700 GPU : NVIDIA GTX 1050ti (ㅠㅠ) RAM : 16GB OS : WINDOWS 10 (64bit) 1. Visual Studio 2015 다운받기. 다운로드 링크 : Visual Studio 2015 2. NVIDIA CUDA 10.1 설치하기 다운로드 링크 : CUDA 10.1 다운로드하기 3. Cudnn 설치하기 (v7.6.4 f..

1. YOLO - 이미지 학습 : 개발 환경 만들기 (Python)

많은 난관이 예상되지만 혼자서 이미지 인식을 목표로 한번 달려보자. 첫 번째는 개발 환경을 만드는 것이다. 나는 Python을 주로 사용하기 때문에 일단 Anaconda 와 Jupyter notebook 에서 시작한다. 나중에 사진 학습을 위해 GPU 가 사용될 수 있어 Colab 으로 넘어갈 수 있지만 일단은 이렇게... #1. 환경 설정 나는 Window 10 환경을 사용하였다. (1) anaconda 에서 가상환경 만들기. (Python 3.6 ver) (2) 여기 에서 open CV 파일 다운 받기. (저는 opencv_python-4.4.0-cp36-cp36m-win_amd64.whl 다운했습니다.) (3) 요기 에서 numpy 파일 다운 받기. (저는 numpy-1.18.5+mkl-cp36-c..

[독서노트] 아가씨와 밤 - 기욤 뮈소 (장편소설) - 스포 없음.

오늘 본 작품은 기욤 뮈소의 아가씨와 밤이다. 기욤 뮈소의 책은 대체로 중반부까지 사건이 벌어지고 등장인물의 반전을 보이는 것이 특징이라고 생각한다. 이전에 보았던 "작가들의 비밀스러운 삶" 에서도 보았지만 이번 작품도 그러했던 것 같다. 이 책을 읽고 생각한 것 중 하나는 등장인물이 조금 많다는 것이다. 원래 장편소설에는 등장인물이 많이 존재하지만 이야기를 끌어가는 인물들은 적고, 그들의 관점에서 이야기가 진행되는 경우가 많지만 "아가씨의 밤"은 많은 등장인물들이 각각 그들의 이야기를 가지고 있고 내용 전개도 많기 때문에 새로운 등장인물이 계속계속 나오기도 한다. 내용의 핵은 표지에도 나와있듯이 아가씨, 즉 빙카이다. 빙카는 매력적이고 아름다운 여인으로 나타내고 주변 사람들은 모두 그 매력을 인정한다...

독서노트 2020.10.08

선형대수 기초 : 행렬과 행렬식 / 벡터

행렬과 행렬식 영행렬 : 모든 성분이 0인 행렬 전치행렬 : 행과 열이 바뀐 행렬 대칭행렬 : 기본행렬과 전치행렬이 같은 행렬 정사각행렬 : 행, 열의 개수가 같은 행렬 단위행렬 : 모든 대각 성분이 1이고, 그 외는 0인 행렬 행렬식 정사각행렬 A를 하나의 수로써 대응시키는 함수 det A = |A| 역행렬 필기 참조 벡터와 좌표계 평번벡터 : 2차원에서 크기와 방향을 모두 표현하는 도구 공간벡터 : 3차원에서 크기와 방향을 모두 표현하는 도구 벡터의 연산 노름 : 벡터의 크기(길이)라고도 하며 노름이 1인 벡터를 단위벡터라 한다. 선형결합 : 벡터의 덧셈과 뺄셈 / 실수배 / 스칼라곱 / 벡터곱