반응형

전체 글 2439

44. 딥러닝 : MNIST 분류 예제, 구현 : 데이터 전처리

패키지 임포트 import numpy as np import tensorflow as tf import tensorflow_datasets as tfds 필요한 패키지를 위와 같이 임포트합니다. 자세한 내용은 이전 포스팅을 참조해주세요. 데이터 전처리 mnist_dataset, mnist_info = tfds.load(name='mnist', with_info=True, as_supervised=True) mnist_train, mnist_test = mnist_dataset['train'], mnist_dataset['test'] num_validation_samples = 0.1 * mnist_info.splits['train'].num_examples num_validation_samples = t..

SW/딥러닝 2020.09.05

43. 딥러닝 : MNIST 분류 예제 : 패키지 임포트, 데이터 준비

MNIST 분류를 위한 심층 신경망 이 섹션에서 얻은 모든 지식을 적용하여 심층 신경망을 작성합니다. 선택한 문제는 딥 러닝의 "Hello World"라고 합니다. 왜냐하면 대부분의 학생들이 처음 보는 딥 러닝 알고리즘이기 때문입니다. 데이터 세트는 MNIST라고 하며 손으로 쓴 숫자 인식을 나타냅니다. Yann LeCun의 웹 사이트 (페이스 북 AI 리서치 이사)에서 더 많은 정보를 찾을 수 있습니다. 그는 이야기 해 왔던 것과 오늘날 널리 사용되는 CNN (covolutional neural network)과 같은 더 복잡한 접근법의 선구자 중 한 명입니다. 데이터 세트는 70,000 개 이미지 (28x28 픽셀)의 손글씨 숫자 (이미지 당 1 자리)를 제공합니다. 목표는 쓰여진 숫자를 감지하는 알..

SW/딥러닝 2020.09.04

42. 딥러닝 : MNIST : 무엇이고 왜 경험해보아야 하는가?

그동아 개념에 대한 포스팅을 하였습니다. 코딩으로 돌아 오기까지는 오랜 시간이 걸렸지만 지금까지의 모든 포스팅은 기본적인 딥러닝을 하기 위해 이해나는데 필요한 영역이라 할 수 있습니다. 앞으로도 꾸준히 복습을 해야할 것 같습니다. 모델링을 시작했을 때 텐서플로우를 도입하여 템플릿을 제공하고 그 안에 넣는 것이 쉬웠을 것입니다. 이제 이론을 알았으므로 전체 과정과 진행되는 모든 것을 진정으로 이해할 수 있습니다. 이번에 선택한 문제는 기계 학습의 핼로우 월드라고 할 수 있습니다. 종종 이것은 학생들이 직면하는 첫 번째 문제 중 하나입니다. Mnist라고 불리는 사면 데이터 세트는 손으로 쓴 숫자의 약 70000 개의 이미지로 구성됩니다. 10 자리 숫자이기 때문입니다. 0부터 9까지 10 개의 클래스가 있..

SW/딥러닝 2020.09.03

41. 딥러닝 : 원핫, 바이너리 인코딩 : 개념, 차이, 장단점, 적용 차이

이진 인코딩을 소개하는 포스팅을 시작하겠습니다. 바이너리 인코딩부터 시작하겠습니다. 빵은 1 번, 요구르트는 2 번, 머핀은 3 번, 2 진수로 지정하면 이 숫자를 바꾼 값을 의미합니다. 이진수 1로 이진수는 01. 그래서 빵은 01이고 2는 10이됩니다 그래서 요구르트는 10이 될 것입니다. 3의 이진수는 11이 될 것입니다. 그래서 머핀은 11이 됩니다. 프로세스의 다음 단계는 다시 나누는 것입니다. 마치 첫 번째 변수에 대해 두 개의 새로운 변수를 만드는 것처럼 서로 다른 열로 표시해야 합니다. 빵은 0, 요구르트는 1, 머핀은 2인 것을 기억해야 합니다. 빵이 3개 있으면 11이 되어 머핀으로 인코딩 되지 않도록 유의해야 합니다. 빵시 3개가 되어 머핀이 될 수 없으므로, 이러한 상관관계를 유의해..

SW/딥러닝 2020.09.02

SW면접 : 데이터베이스 : 관계 모델, 장점, 단점, 종류, 개념

관계 모델 데이터를 행과 열로 된 관계의 표 형태로 저장하고, 한 표의 지정된 행을 이용합니다. 다른 표에 추가적인 데이터를 찾는 식으로 검색하는 데이터 모델, EF 코드가 제창한 데이터 모델의 하나입니다. 그러나, 단순한 표 형식으로 나타내는 것으로부터 시작하여, 여러 가지 관계의 정규형이 제안되어 있습니다. 데이터 모델에니는 이 외에도 계층 모델, 망 모델 등이 있습니다. 데이터 베이스 관리 시스템은 DBMS에서 가장 많이 구현하는 것은 관계 모델입니다. 관계 데이터 모델의 장점 데이터 모델 구조가 탄력적입니다. 따라서 요구될 때 테이블 사이의 연결을 통해 데이터를 생성하거나 처리할 수 있습니다. 데이터 정의 언어와 데이터 조작언어가 간단합니다. 따라서 비전문가도 쉽게 활용할 수 있습니다. 데이터들간..

SW/면접 2020.09.01

SW 면접 : 데이터베이스 : Trigger(트리거) 개념, 장점

트리거 특정한 안정 상태를 갖기 위해 전자 회로를 사용합니다. 이러한 전자 회로나 기계나 프로그램을 자동으로 동작 시키는 것을 의미합니다. 전자는 컴퓨터에서는 CPU와 그 주변 장치에 사용되는 논리회로의 스위칭에 연계되어 활용되고 있습니다. 익히 들어보았떤 오실로스코프 등에서 비주기적으로 발생하는 파형을 관측하기 위한 디바이스를 의미하기도 합니다. 관측하고자 하는 신호, 그 신호와 관계 있는 신호의 일부에서 트리거 신호라고 하는 펄스 형의 파형을 생성합니다. 이 신호는 음극 선관의 시간 축 방향의 톱니형 파형을 시작 시키는 방법이기도 합니다. 이러한 방법은 어떤 종류의 파형이라도 관계없이 파형상과 같은 로케이션에서 측정할 수 있습니다. 그렇기 떄문에 매우 일반적입니다. 특히 펄스 파형의 관측에서 유효합니..

SW/면접 2020.08.31

40. 딥러닝 : Categorical Data (범주형 데이터) : 개념, 필요성, 종류

대부분은 거래량, 가격 등을 거래하는 수치 변수의 예를 알아보았습니다. 짧은 범주형 데이터도 다루어야 합니다. 종종 우리의 고양이 개 예제와 같은 그룹 또는 범주를 참조합니다. 알고리즘은 값이 아닌 숫자만 취하므로 범주형 데이터로 작업 할 때 문제는 범주를 숫자로 변환하는 방법이 필요합니다. 모델 또는 출력에 입력할 수 있어야 합니다. 결국에는 분명히 다른 숫자의 의미가 연관되어야합니다. 각 범주에 의미에 대해 알아보겠습니다. 우리 가게에 빵 요구르트와 머핀 세 가지 제품이 있다고 가정해보겠습니다. 이제 이러한 범주를 숫자로 어떻게 변환 할 수 있을까요? 가능한 해결책은 다음과 같이 열거하는 것입니다. 빵, 요구루트, 머핀은 각 1개, 2개, 3개가 있습니다. 이것은 주문이 있음을 의미합니다. 머핀이 빵..

SW/딥러닝 2020.08.30

39. 딥러닝 : Standardization(정규화) : 개념, 종류, 컨셉

숫자 데이터로 작업 할 때 가장 일반적인 문제는 크기의 차이에 관한 것입니다. 첫 번째 강의에서 언급했듯이 이 문제에 대한 쉬운 해결 방법은 표준화입니다. 이 용어에 다른 용어로 기능 확장 및 정규화가 있습니다. 머신 러닝 내에서도 몇 가지 추가 개념을 참조 할 수 있습니다. 이것이 바로 표준화 및 정규화 또는 기능 확장이라는 용어를 고수하는 이유입니다. 작업중인 데이터를 표준 규모로 변환하는 프로세스입니다. 이 문제에 접근하는 매우 일반적인 방법은 다음과 같습니다. 평균을 빼고 표준 편차로 나누면 데이터 셋에 관계없이 항상 평균이 0 인 분포를 얻을 수 있습니다. 예를 사용하면 알고리즘을 쉽게 증명할 수 있는 1의 표준 편차인 데이터가 있습니다. 입력 변수 유로 달러 환율과 일일 거래량을 3 일 동안의..

SW/딥러닝 2020.08.29

38. 딥러닝 : Basic Preprocessing (기본 전처리) : 개념, 사용, 예시

가장 간단한 전처리 중 하나로 시작합니다. 종종 주식에 관심이 없지만 주가를 전처리할 때 일반적으로 발생하는 상대 가치에 대해 알아보겠습니다. Google을 열고 Apple의 주가를 입력하면 얻을 수 있는 것은 Apple의 주가입니다. 그러나 빨간색 또는 녹색 숫자는 Apple 주가의 상대적인 변화를 의미합니다. 이것은 매우 흔한 전처리의 예입니다. 이러한 상대적 메트릭은 주가와 같은 시계열 데이터로 존재하고 있을 때 특히 유용하다고 생각하지 않습니다. 그러나 곧 금융의 세계에서 이러한 상대적인 변화를 로그로 더 변환 할 수 있습니다. 많은 통계 및 수학적 방법이 로그를 활용하여 머신 러닝에서 더 빠른 계산을 촉진하기 때문에 로그 변환은 일반적이지 않지만 학습 속도를 높일 수 있습니다. 이것은 예시로 제..

SW/딥러닝 2020.08.28

37. 딥러닝 : Preprocessing (전처리) : 개념, 목적

전처리 머신 러닝 알고리즘 생성을 시작할 때 수행해야하는 첫 번째 활동에 관한 것이며, 전처리는 모델을 통해 실행하기 전에 데이터 세트에 적용하는 모든 조작을 의미합니다. 이미 훈련에 적합하게 데이터를 사전 처리했습니다. 텐서플로우 인트로에서 이미 일부 사전 처리를 보았고 수행 한 모든 훈련을 PC 파일로 저장했습니다. Excel 파일 csv 또는 NPC 파일에 저장하는 것은 전처리의 한 유형이지만 이전과 같이 순서를 변경하는 것보다 주로 데이터 변환에 중점을 두고 알아보겠습니다. 전처리의 목적 몇 가지 중요한 사항이 있습니다. 하나는 이전 10 분의 1에서 본 라이브러리와의 호환성 또는 Excel 스프레드 시트 및 데이터 과학이 아닌 텐서플로우에 관한 것입니다. 종종 어떤 형식 으로든 데이터가 제공되며..

SW/딥러닝 2020.08.27

SW 면접 : 데이터베이스 : 클러스터드 인덱스, 넌클러스터드 인덱스 : 개념, 차이점, 성능 비교

클러스터드 인덱스 클러스터드 인덱스는 한 테이블에 하나만 사용할 수 있습니다. 데이터는 기본적으로 오름차순으로 정렬을 진행합니다. 기본 키를 설정하면 자동으로 클러스터드 인덱스가 적용되어집니다. 정렬된 데이터 페이지는 4개로 나누어집니다. 갓 첫 번쨰 포인터 주소를 상위 루트 페이지에 차례대로 들어가집니다. 조회 시 직접적인 액세스를 할 수 가 있습니다. root -> leaf, data 데이터 순서가 정렬이 되어 있으면, 액세스 시 바로 찾을 수 있습니다. 리프 페이지 생성으로 데이터를 정렬하고 분할합니다. 루트 페이짓를 생성하면 데이터를 조합하고 주소를 지정합니다. 루트 페이지는 바로 리프 페이지로 이동이 가능하기 때문에 속도가 빨라집니다. 클러스터드 인덱스 주의사항 제약 조건의 정의는 대게 테이블 ..

SW/면접 2020.08.26

SW 면접 : 데이터베이스 : INDEX 원리, 의미, 장점, 단점, 목적

INDEX의 의미 DBMS에서 검색 속도를 향상 시키기 위해 사용하는 기술 중 하나입니다. INDEX는 색인이라고 할 수 있습니다. 하나의 테이블의 컬럼을 색인화하여 검색합니다. 해당 테이블의 레코드를 전체 검색하는 것이 아니라 색인화 되어 있는 INDEX 파일을 검색합니다. 이렇게 해당 파일을 검색하면, 검색 속도를 향상 시킬 수 있습니다. 이런 인덱스는 트리 구조로 색인화합니다. RDBMS에서 사용하는 인덱스는 균형 서치 트리를 사용합니다. INDEX의 원리 인덱스를 해당 컬럼에 할당합니다. 그러면, 테이블 생성시 만들어진 MYD, MYI, FRM 3개의 파일이 있습니다. 이 중에서 MYI에 해당 column을 indexing하여 저장합니다. 물론 인덱스를 사용하지 않을 경우에는 해당 파일은 비어있게..

SW/면접 2020.08.25

36. 딥러닝 : Adaptive Moment Estimation : 개념, 분석, 개요

지금까지 서로 다른 두 가지 최적화 알고리즘 업데이트 규칙에 새로운 아이디어를 가져 왔음을 알았습니다. 이러한 개념을 결합하고 더 나은 결과를 얻을 수 있다면 더 좋을 것입니다. 가장 유용하다고 생각하는 최적화 알고리즘의 상태에 도달 할 수 있는 rate와 모멘텀은 Adaptive 모멘트 추정이라고하며, 실제로 적용되는 최첨단 최적화 프로그램이며 2014 년 12 월 22 일에 제안된 새로운 기능입니다. 2014년 또는 2015 년에 대학에서 머신 러닝을 공부 한 사람이 있다면 이 방법을 보지 못했을 것입니다. 이는 또한 공부를 마친 후에도 ML 공부가 끝이 없다는 이야기를 뒷받침합니다. 아담 (Adam)은 이번 포스팅의 주제이며 Adaptive Moment Estimation의 줄임말입니다. ADA g..

SW/딥러닝 2020.08.23

35. 딥러닝 : Adaptive Learning Rate Schedules : 개념, 방법, 개요

딥러닝의 다른 것들과 마찬가지로 학습 속도 비율에 대해 더 깊이 파고들어야 합니다. 간단한 규칙을 사용하여 학습 속도를 조정하는 대신, 이 주제에 대한 고급 연구 결과를 사용할 수 있습니다. Ada grad를 사용하면 마술이 평소대로 일어날 것이라고 말할 수 있습니다. 머신 러닝으로 훈련 할 때 최첨단 머신 러닝으로 전체 비디오를 살펴 보는 것이 좋습니다. 모델 훈련을 위한 최상의 방법을 선택할 수 있어야 합니다. 먼저 우리는 Ada grad는 Adaptive Gradient 알고리즘의 약자이며 2011년에 새로 제안되었으므로 각 업데이트 및 모든 가중치에 대해 학습 속도를 동적으로 변경하므로, 원래 규칙은 다른 방식이었습니다. w의 변화는 m과 같습니다. 학습 속도와 W에 대한 손실의 부분 미분 값을 ..

SW/딥러닝 2020.08.22

SW면접 : 데이터베이스 : Primary Key와 Unique Key : 개념, 차이

프라이머리키 일차키, 주키, 기본키라고도 불립니다. 이 키는 레코드 또는 투플을 확인하기 위해 사용됩니다. 속성값으로 하나의 레코드를 확인하기도 합니다. 또 투플을 하나의 뜻으로 확인하기 위해 이용됩니다. 이러한 키를 기본 키라고 합니다. 2차키와는 대비됩니다. 유니크 키 유일성을 가지기 위함입니다. 그러기 위해 설정한다고 생각하면 됩니다. 테이블에 있는 데이터를 유일하게 식별합니다. 그러기 위해, 무결성 이라는 제약 조건 중 하나입니다. 유일한 값을 식별하는 것이 주된 목적입니다. 이 목적에 맞게 사용해야 합니다. 따라서 null을 허용할 이유는 없다고 할 수 있습니다. 차이점 기본키는 즉, 프라이머리 키는 해당 테이블의 식별자 역할을 합니다. 바로 이 제약조건으로 테이블에 하나만 지정할 수 있습니다...

SW/면접 2020.08.21

SW 면접 : 데이터베이스 : 트랜잭션 개념, 특징

데이터 베이스 트랜젝션 데이터베이스 트랜젝션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위입니다. 유사한 시스템이란 트랜젝션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미합니다. 이론적으로 데이터 베이스 시스템은 각각의 트랜젝션에 대해 원자성, 일관성, 고립성, 영구성을 보증합니다. 이 성질을 첫 글자를 따 ACID라고 부릅니다. 그러나, 실제로는 성능향상을 위해 이런 특성들이 종종 완화되곤 합니다. 어떤 시스템들에서는 트랜젝션들은 논리적 작업 단위로 불립니다. 트랜젝션의 목적 데이터 베이스 기능 중, 트랜젝션을 조작하는 기능은 사용자가 데이터베이스 완전성 유지를 확신하게 합니다. 단일 트랜잭션은 데이터 베이스 내에 읽거나 쓰는 여러개 쿼리를 요구합니..

SW/면접 2020.08.20

Vue.js : 템플릿 구문과 인스턴스가 함께 작동하는 방법

HTML 코드 {{ sayHello() }} SCRIPT 코드 new Vue({ el: '#app', data: { title: 'Hello World!' }, methods:{ sayHello: function(){ return 'Hello!'; } } }) 결과 vue 인스턴스의 데이터 필드에 저장된 단일 속성을 출력하는 방법을 보았습니다. 이것은 vue 인스턴스에 저장된 데이터는 데이터 속성과 같이 중요합니다. 제목은 템플릿에서 이와 같이 출력 될 수 있습니다. this.title을 쓸 필요가 없으며 데이터 객체의 모든 속성에 액세스 할 수 있습니다. 이를 염두에 두는 것이 중요합니다. 물론 출력해야 합니다. vue 인스턴스에 수동으로 액세스하거나 액세스 할 변수에 저장하지 않기 때문에 매우 쉽습니..

SW/Vue.js 2020.08.19

Vue.js : 템플릿 이해하기

HTML {{ title }} Java Script new Vue({ el: '#app', data: { title: 'Hello World!' } }) 출력 결과 아주 간단한 프로젝트입니다. 제목을 출력하고 제목은 단순히 hello world입니다. 모듈로 다른 텍스트를 출력하며, 이벤트는 따로 없습니다. 왜냐하면 시작하려는 것은이 vue 인스턴스와 이 html 코드 사이의 연결에 대해 알아보기 위함입니다. 이러한 연결이 있다고 설명하기 전에 한 가지 중요한 것이 있기 떄문입니다. 이 새로운 vue js 인스턴스를 만들어서 강조하고 싶은 것은 변수에 저장하지 않는다는 점에 유의해야 합니다. 이 인스턴스를 인스턴스화하여 생성하지만 vue js는 이 연결을 만들고 vue js는 이 HTML 코드를 가져옵니..

SW/Vue.js 2020.08.18

SW 면접 : 데이터 베이스 : DDL, DML, DCL 개념과 차이점

DDL (Data Definition Language) 객체의 생성, 변경, 삭제 명령어를 뜻합니다. 예를 들어, create, alter, drop, rename 등이 있습니다. schema, domain, table, view, index를 정의, 변경, 삭제할 때 사용하는 언어입니다. 주로 데이터베이스 관리자나 데이터 베이스 설계자가 사용합니다. 데이터 정의어는 3가지 유형으로 craete, alter, drop이 있습니다. DML (Data Manipulation Language) 레코즈 제어 명령어 입니다. 예를 들어, select, insert, update, delete 등이 있습니다. 데이터 베이스 사용장와 데이터 베이스 관리 시스템 간의 인터페이스를 제공합니다. 데이터 베이스 사용자가 응..

SW/면접 2020.08.17
반응형