전문지식 함양/TIL 31

[프로그래머스 겨울방학 인공지능 과정] GAN 이론 기초

GAN : Generative Adversarial Networks¶ 컴퓨터는 존재하지 않는 그럴싸한 이미지를 어떻게 만들어낼 수 있는 것인가? 1. 확률분포¶1.1. 확률분포의 정의¶ 확률 변수가 특정한 값을 가질 확률을 나타내는 함수 이산확률분포 : 확률변수 X의 개수를 정확히 셀 수 있을 때 사용, 모든 확률의 합은 1 연속확률분포 : 확률변수 X의 개수를 정확히 셀 수 없을 때 사용(키, 달리기, 성적 등) - 많은 데이터는 정규분포로 표현이 가능하다 1.2. 이미지 데이터에 대한 확률분포¶ 이미지 데이터는 다차원 특징 공간의 한 점으로 표현 : 이미지의 분포를 근사하는 모델을 학습 가능 이미지에서는 다양한 특징들이 각각의 확률 변수가 되는 분포가 도리 수 있음 : 다변수 확률분포(multivar..

[프로그래머스 겨울방학 인공지능 과정] python 풍경 이미지분류 알고리즘의 구현2

In [9]: import os import pandas as pd # 파일과 csv를 포함하는 폴더 경로 지정 path = 'D:/workspaces/WinterStudy2022/pytorchPractice/practice1_scene/train-scene classification/' # 전체 이미지 개수 출력하기 # 파일 os.listdir를 이용하여 디렉토리 내 파일을 리스트화하여 file_list에 저장한다. file_list = os.listdir(path + 'train/') print("file_list 확인 : ",file_list[:5]) print("file_list 타입확인 : ", type(file_list)) print('전체 이미지의 개수:&..

[프로그래머스 겨울방학 인공지능 과정] python 풍경 이미지분류 알고리즘의 구현1

Pytorch 풍경 이미지분류 알고리즘의 구현¶ 사용된 데이터셋은 kaggle - Scene Classification이다. 해당 데이터셋은 24,335개의 자연경치 사진으로 이루어져 있다. 총 6개의 분류를 사용한다. (0 : 빌딩, 1 : 숲, 2 : 빙하, 3 : 산, 4 : 바다, 5 : 거리) 각 이미지는 150 x 150의 크기를 가진다. 1. 학습 이미지 알아보기¶ 학습 이미지를 확인한다. In [51]: import os import pandas as pd # 파일과 csv를 포함하는 폴더 경로 지정 path = 'D:/workspaces/WinterStudy2022/pytorchPractice/practice1_scene/train-scene classification/' ..

[프로그래머스 겨울방학 인공지능 과정] pytorch 예제 살펴보기1

예제로 공부하는 PyTorch¶ 사용된 예제 : Linear Regression by PyTorch 1. Tensor(X)¶ TensorFlow 공식 홈페이지 소개를 살펴보면 Tensor는 np.array와 비슷한 형태를 띄고 있다고 소개한다. 행/열을 가지고 있으며, 마치 행렬과 같은 형태를 띄고 있다. 다만, Tensor는 수정할 수 없고, 오직 생성만 가능하다. In [ ]: import torch X = [1, 2, 3, 4, 5] Y = [5, 10, 15, 20, 25] X = [[i] for i in X] Y = [[i] for i in Y] x_data = torch.Tensor(X) y_data = torch.Tensor(Y) # tensor 타입은 torch.FloatTensor로 표시..

[프로그래머스 겨울방학 인공지능 과정] 딥러닝 기초이론

딥러닝 기초이론¶1. 인공지능?¶ 기계를 통해 인공적으로 구현된 지능 기계학습 : 데이터를 반복적으로 학습하여 데이터 속 숨겨진 정보를 발굴 딥러닝 : 인공 신경망을 활용하여 정확도 향상 1.1. 지도학습¶ 명시적인 정답을 제공하면서 학습시키는 유형 회귀(Regression) 특정한 데이터가 주어졌을 때 결과를 연속적인 값으로 예측 분류(Classification) 종류에 따라서 데이터를 분류 1.2. 비지도학습¶ 명시적인 정답을 제공하지 않으면서 학습시키는 유형 클러스터링(Clustering) 데이터를 특정한 기준으로 분류 차원축소(Dimension Reduction) 고차원 데이터의 차원을 축소하여 새로운 차원의 데이터 생성 1.3. 딥러닝을 위한 도구¶ Pytorch Google Colab 2. T..

[프로그래머스 겨울방학 인공지능 과정] numpy 복습 및 심화문제

4일차 문제¶ numpy.ndarray 타입의 임의의 모양을 가진 2차원 배열(행렬)들이 담긴 리스트 arr_list가 존재한다. arr_list에 담긴 배열을 순서대로 사용하여 아래의 조건에 맞게 사용한다. 초기 A의 상태는 [[0]]이며, arr를 사용하여 계산한 결과값을 A로 대체한다. arr_list를 앞에서부터 순서대로 배열을 꺼낸 후, arr로 정의하고 계산을 진행하는데, 아래 두 가지 경우는 유의한다. A와 arr 간 행렬곱이 불가할 경우, arr를 버리고 다음배열을 꺼낸다. A와 arr 간 행렬곱이 가능할 경우, 아래과 같이 계산한다. `A = (A + 1) (arr 2) 위 과정을 통해 arr_list에 있는 모든 배열을 처리한 뒤 최종 A를 반환하라. In [7]: import nump..

[프로그래머스 겨울방학 인공지능 과정] np.where

In [8]: import numpy as np test_A = ([ [1, 2, 3, 14, 15], [6, 17, 18, 9, 10] ]) type(test_A) Out[8]: list In [9]: # test_A에서 10 초과인 값의 인덱스를 출력한다. np.where(test_A > 10) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_18068/477538254.py in 1 # test_A에서 10 초과인 값의 인덱스를 출력한다. ----> 2 np.where(test_A..

[프로그래머스 겨울방학 인공지능 과정] numpy 복습 2

문제1¶임의의 모양을 가진 numpy.ndarray 타입의 2차원 행렬이 주어진다. numpy를 활용하여 (y1, x1)에서 (y2, x2)까지 구간에 해당하는 모든 요소 값에 2를 곱하여 반환하는 함수를 제작하라. In [4]: import numpy as np # test_arr 생성 test_arr = np.array([ [ 1, 5, 3, 4, 5, 5, 4, 2, 10, 9], [ 7, 3, 2, 5, 2, 7, 8, 2, 5, 3], [ 3, 2, 5, 6, 7, 8, 2, 10, 6, 5], [ 4, 7, 6, 6, 5, 5, 6, 7, 1, 2] ]) test_arr Out[4]: array([[ 1, 5, 3, 4, 5, 5, 4, 2, 10, 9], [ 7, 3, 2, 5, 2, 7, ..

[프로그래머스 겨울방학 인공지능 과정] numpy 복습

numpy 복습¶ 일반 list를 numpy.ndarray타입으로 바꾸기 : np.array(list) In [1]: import numpy as np In [2]: list = [1, 2, 3, 4, 5] # numpy.ndarray 타입으로 바꾸기 np.array(list) Out[2]: array([1, 2, 3, 4, 5]) numpy.ndarray 타입을 가진 배열의 모양 파악하기 : nparray.shape In [6]: # 2 * 2 * 3 형태의 np.array 생성 np_array = np.array( [ [[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]] ] ) # np_array의 형태 파악 : shape print(np_array.shape) (..

[프로그래머스 겨울방학 인공지능 과정] EDA Project2

Core Mission¶다음 질문에 답하라. 캐릭터는 저마다 지능, 힘 등 다양한 수치를 지니고 있다. 이러한 수치의 합이 가장 큰 캐릭터는 누구인가? 이를 보이기 위한 과정을 보여라. 좋은 캐릭터와 나쁜 캐릭터의 수치 분포를 알고 싶다. 이를 표현하기 위한 적절한 그래프를 선택하여 이를 위한 전처리를 진행하고, 시각화하라. In [1]: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline In [213]: abengers = pd.read_csv('D:/workspaces/WinterStudy2022/datasetAvengers/charcters_s..