반응형

2737

22. 딥러닝 : 오버피팅(과적합) : 분류 문제, 개념, 예제, 차이, 사진

오버피팅 분류에 대해 알아보겠습니다. 지도 학습의 주요 유형은 회귀와 분류입니다. 회귀 및 분류 측면에서 가장 많은 개념을 알아보도록 노력하여야 합니다. 위 그림에는 두가지 범주가 있습니다. 개와 고양이라고 할 수 있습니다. 모든 데이터를 설명하는 좋은 모델은 이전 예제에서 보았듯이 로직에 따라 약간의 오류가 있는 이차 함수처럼 보입니다. 오버피팅된 모델은 어떨까요? 물론 선형 모델의 경우 선형 모델 데이터가 변화되지 않은 경우 정확도가 약 60% 정도 올바르게 분류하고 과적합 모델이 예측치를 완벽하게 분류할 수 있습니다. 데이터 세트의 고양이 및 개 사진을 가지고 다시 새로운 사진으로 테스트를 진행한다면 성능이 매우 저하됩니다. 잘 훈련된 모델은 어떤 것일까요? 잘 알려지지 않은 모델과 과적합 모델 사..

SW/딥러닝 2020.03.10

jQuery : element 존재 여부 체크 방법 : 주의사항, 팁

동적 요소를 사용할 때 Javascript에서 element에 특정 수행하기 전에 요소가 존재하는지 확인해야합니다. 그렇지 않으면 element에 정의되지 않은 오류가 발생합니다. 다른 방식으로 수행된다는 점을 제외하고는 jQuery와 다르지 않습니다. JavaScript에서는 document.getElementById를 사용하여 요소가 존재하는지 확인합니다. element가 존재하는지 확인하는 순수 JavaScript if(document.getElementById('div')){ //do stuff } 요소가 존재하는지 확인하는 JQuery 접근법 jQuery에서는 다음과 같이 구현할 수 있다고 생각하실 수 있습니다. if($('#div')){ //do stuff } 그러나 셀렉터를 사용할 때마다 j..

SW/JavaScript 2020.03.09

21. 딥러닝 : 오버피팅(Overfitting) : 개념, 예제, 차이, 의미

인터뷰에서 가장 일반적으로 묻는 질문 중 하나는 과적합에 관한 것입니다. 면접관은 아마도 주제를 제기하고 과적합이 무엇인지, 어떻게 다루는지를 묻습니다. 이번 포스팅에서는 바로 오버피팅, 과적합에 대해 알아보겠습니다. 서로 관련이있는 두 가지 개념이 있습니다. 오버피팅과 언더피팅입니다. 언더피팅은 오버피팅의 반대의 의미를 가집니다. 언더피팅은 모델이 데이터의 기본 논리를 포착하지 못했으므로 어떻게 해야할지 몰라 정확한 결과와는 거리가 멀다는 것을 알 수 있습니다. 먼저 회귀를 살펴보고 분류 문제를 고려할 것입니다. 여기에서 약간의 노이즈가있는 파란색 함수에 여러 데이터 요소를 볼 수 있습니다. 알고리즘은 위와과 같은 모델을 생성합니다. 완벽하지는 않지만 실제 관계에 매우 가깝습니다. 선형 모델의 언더 피..

SW/딥러닝 2020.03.09

MySQL : 가장 높은 ID 값으로 로우 데이터 업데이트 하는 방법 : 예제

최근에 테이블의 마지막 삽입 행을 업데이트해야 했지만 어쨌든 테이블에서 가장 높은 ID가 무엇인지 알 수 없었습니다. max () 함수를 사용하여 테이블에서 가장 높은 ID를 선택하면 쉽게 할 수 있습니다. SELECT MAX(id) FROM table; 그런 다음 UPDATE 쿼리에서이 쿼리의 결과를 사용하여 ID가 가장 높은 레코드를 편집 할 수 있습니다. 그러나 이것은 매우 쉬운 쿼리이므로 UPDATE에서 중첩 된 선택 쿼리를 사용하여 하나의 쿼리 에서이 작업을 수행 할 수 있어야합니다. UPDATE table SET name='test_name' WHERE id = (SELECT max(id) FROM table) 그러나 이것의 문제점은 MAX () 함수가 중첩된 선택내에서 작동하지 않으므로 이를..

SW/MySQL 2020.03.08

20. 딥러닝 : 역전파(Backpropagation) : 구조, 시각화 표현, 개념

여기에 표시된 역전파의 구조를 살펴 봅시다. 네트워크는 매우 간단합니다. 단일 히든 레이어가 있습니다. 각 노드에는 레이블이 지정되어 있습니다. 그래서 입력 레이어, 히든레이어, 출력 레이어를 갖습니다. 그리고 마지막으로 타겟 T1과 T2가 있습니다. 가중치는 신경망의 첫번째 유닛에 대한 w11, w12, w13, w21, w22, W23가 있습니다. u11, u12, u21, u22, u31, u32가 있습니다. 따라서 우리는 두가지 유형의 가중치를 구분할 수 있습니다. 이것이 매우 중요합니다. 알려진 타겟에 따라 , y1, y2와 관련된 오류를 알 수 있습니다. 따라서 e1, e2의 오류를 구할 수 있습니다. 이를 기반으로 레이블이 지정된 가중치를 조정할 수 있습니다. 각 u는 단일 오류에 기여합니다..

SW/딥러닝 2020.03.08

MySQL : Group by : 각 그룹에서 최신 데이터 가져오기

Group By에서 마지막 레코드를 가져올 때 MySQL로 사용하는 방법을 살펴 보겠습니다. 예를 들어 이 테이블 세트를 보겠습니다. id category_id post_title ------------------------- 11Title 1 21Title 2 31Title 3 42Title 4 52Title 5 63Title 6 제목 3, 제목 5 및 제목 6인 각 범주에서 마지막 데이터를 얻을 수 있기를 원합니다. 범주별로 게시물을 가져 오려면 MySQL Group By 키워드를 사용합니다. select * from posts group by category_id 그러나 이 쿼리에서 얻은 결과는 다음과 같습니다. id category_id post_title ----------------------..

SW/MySQL 2020.03.07

19. 딥러닝 : 역전파(Backpropagation) : 개념, 원리, 구조

역전파는 가장 직관적인 훈련이지만 수학 용어로 이해하기가 가장 어렵습니다. 먼저 탐구한 다음 수학을 살펴볼 것입니다. 수학은 선택 사항이지만 더 나은 이해를 위해, 수학적으로도 살펴보아야 한다고 합니다. 백프로파게이션의 재미있는 부분이기 떄문에, 이 레슨에 대해 잘 알아야 합니다. 먼저 지금까지 알고있는 것을 정리하고, 레이어가 쌓이는 방식의 로직을 이해하고 있어야 합니다. 또한 학습 과정에서 객관적인 기능을 최적화하기 위해 그라이던트 디센트를 통해 매개 변수 업데이트 하는 것으로 훈련과정이 구성되어 있다는 것을 이야기 하였습니다. 최적화 과정은 최소화로 구성되어 있습니다. 업데이트는 손실의 일부 파생 과정으로 구성되어 있음을 이야기 하였습니다즉 , 당사의 업데이트는 손실의 일부 파생과 직접 관련이 있으..

SW/딥러닝 2020.03.07

MySQL : IN 연산자 : 순서 유지 : 방법, 예제, 사용법

여러 개의 다른 ID로 동일한 테이블을 여러번 호출해야 하는 경우 MySQL의 기본 팁은 IN 연산자를 사용하는 것입니다. 동일한 테이블을 여러 번 호출하는 대신 레코드를 얻는 ID 목록이 있으면 IN을 사용하여 하나의 데이터베이스 호출로 결합할 수 있습니다. SELECT * FROM foo f where f.id IN (1, 2, 3); 그러면 다음과 같이 이러한 행의 레코드 세트가 반환됩니다. +----+--------+ | id | name | +----+--------+ | 1 | first | | 2 | second | | 3 | third | +----+--------+ 3 rows in set (0.00 sec) 그러나이 호출의 문제점은 이 ID를 IN 문에 전달하는 순서가 반환되는 방식과 ..

SW/MySQL 2020.03.06

18. 딥러닝 : 소프트맥스(Softmax) : 개념, 원리, 차이점

대부분의 그리스 문자를 포함하는이 표를 계속 탐색해 봅시다. softmax 함수에 명확한 그래프 y가 없다고 말했으므로 공식을 주의 깊게 살펴보면 이 함수와 다른 함수의 주요 차이점을 볼 수 있습니다. 따라서 softmax 함수는 위치에 있는 요소의 지수와 같습니다. 벡터의 모든 요소의 지수의 합으로 나눕니다. 따라서 다른 활성화 함수는 입력 값을 얻습니다. SoftMax는 가지고 있는 전체 수에 대한 정보를 고려하는 다른 요소들에 관계 없이 변환합니다. 예를 들어 보겠습니다. A는 잘 알려진 모델인 xw + B와 같습니다. 3의 유닛을 가진 숨겨진 레이어를 보겠습니다. 여기서 a는 선형 조합을 통해 변환한 후 hw + B와 같습니다. 0.2에서 1을 빼고 세 개의 유닛을 가진 벡터를 얻습니다. 이제 S..

SW/딥러닝 2020.03.06

Java : Spring Boot : Jar, Maven, Gradle : 배포하는 방법, 예제

명령어로 Spring Boot 앱 실행 터미널 창의 명령어로 Spring Boot 앱을 실행하는 방법에 대해 알아보겠습니다. 몇가지 방법이 있으며, 이미 Spring boot 앱이 있다는 가정하에 진행하겠습니다. 을 알려 드리겠습니다. 몇 가지 방법이 있으며 이미 Spring Boot 앱을 만들었다고 가정하겠습니다. POM.XML에 Maven 플러그인 추가 Spring Boot 응용 프로그램을 단일 실행 가능한 Java jar 파일로 실행하려면 먼저 프로젝트의 pom.xml 파일을 업데이트하고 maven 플러그인에 추가해야합니다. pom.xml 파일을 열고 프로젝트 종속성 목록 아래에 다음 XML 스니펫을 추가합니다. org.springframework.boot spring-boot-maven-plugi..

SW/Java 2020.03.05

17. 딥러닝 : 활성화함수(Activation Function) : 종류, 원리, 개념, 의미

지금 자세히 알아보지는 않았지만, 지난 포스팅에서 비선형성에 대해 이야기했습니다. 이것은 이 학습에서 기계 학습 맥락에서 다룰 주제입니다. 비선형성은 활성화 함수라고도 합니다. 활성화 함수가 입력을 다른 종류의 출력으로 변환하는 방법을 설명합니다. 외부 온도에 대해 생각해보십시오. 깨어나고 태양이 빛나고 있다고 가정합니다. 따라서 외출하고 따뜻하고 편안한 옷을 입습니다. 오후에는 온도가 내려 가기 시작하면서 손에 재킷을 들고 다닙니다. 처음에는 뇌가 차가워지고 있다고 말하더라도 어느 시점에서 큰 차이나는 행동을 하지 않습니다. 온도에서 활성화 함수는 이 입력을 재킷을 입는 행동으로 변형 시킵니다. 이것은 변환 후의 출력이기도합니다. 비선형성 배후의 논리는 온도의 변화가 선형 모델을 따르고 있었는데, 활성..

SW/딥러닝 2020.03.05

Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제

리눅스 상에서 echo 명령어 예제 Linux의 echo 명령어는 인수로 전달되는 텍스트 / 문자열을 표시하는 데 사용됩니다. 이 명령어는 쉘 스크립트와 배치 파일에서 주로 현재 상태를 화면이나 파일로 출력하는데 사용되는 내장 명령어입니다. 문법 : echo [option] [string] 텍스트나 문자열을 보여줍니다. 문법 : echo [문자열] 예제 : 에코 명령어 옵션 NOTE :- -e 백슬래시 이스케이프를 해석할 수 있습니다. 1. \b : 텍스트 사이의 모든 공백을 제거합니다. 예제 : echo -e "Geeks \bfor \bGeeks" 2. \c : 새로운 라인없이 해당 옵션을 사용하여 후행 줄 바꿈을 억제합니다. 예제 : echo -e "Geeks \cfor Geeks" 위의 예에서 \ ..

SW/리눅스 2020.03.04

16. 딥러닝 : 왜 딥러닝에는 비선형성이 필요한가? : 개념, 원리

더 복잡한 관계를 표현할 수 있도록 비선형성이 필요하다고 말했습니다. 하지만, 비선형성을 포함시키는 중요한 이유는 선형 레이어를 쌓을 수있는 능력은 선형만 있을 때 레이어를 쌓을 수 없다는 점입니다. 하나의 숨겨진 레이어가 있고 비선형성이 없다고 상상해보십시오. 숨겨진 레이어에는 8 개의 입력 노드가 9 개의 헤드와 노드가 있고 4 개의 출력 노드가 있으므로 8 x 9 개의 행렬이 있습니다. 입력 레이어와 숨겨진 레이어 사이의 관계를 매트릭스 W라고합니다. 선형 모델 H에 따라 숨겨진 유닛은 x 곱하기 w와 같습니다. 잠시 바이어스를 무시하고 생각해보겠습니다 .그래서 숨겨진 유닛은 행렬 H로 1 x 9의 형태로 요약됩니다. 출력 배치 선형 모델 Y에 따라 숨겨진 레이어에서 다시 한 번 h x W2와 같습..

SW/딥러닝 2020.03.04

15. 딥러닝 : 딥 뉴럴 네트워크 : 기본 구조 이해, 원리, 개념

이미 이 그림을 보았습니다. 딥 러닝의 기본 그림이라고 할 수 있습니다. 이 포스팅에서 간단하게 알아보도록 하겠습니다. 첫 번째 레이어는 입력 레이어입니다. 각 원은 별도의 입력을 나타냅니다. 이 그래프에는 8 개의 입력이 있습니다. 이 입력은 텐서플로우 프레임 워크에서 모델을 학습하기 위해 공급하는 데이터입니다. 예측을 할 떄, 8 개의 입력이 있다고 상상하십시오. 예를 들어 평균, 온도, 최고 온도, 최저 온도, 습도, 강수량, 대기압, 구름, 거리의 가시성 등이 있습니다. 이러한 입력을 선형으로 결합한 다음 비선형성을 추가합니다. 선형화하는 것은 쉽습니다. 좋은 오래된 선형 모델을 사용합니다. 입력은 X입니다. 이를 선형적으로 결합하려면이 예제에서 가중치가 필요합니다. 가중치는 8 x 9입니다. 1..

SW/딥러닝 2020.03.03

14. 딥러닝 : 딥 뉴럴 네트워크 : 개념, 원리 : 파라미터, 하이퍼 파라미터 차이점

레이어에 대해 광범위하게 이야기 할 것이라고 약속했습니다. 딥 뉴럴 네트워크의 가장 일반적인 그림 표현은 위와 같습니다. 첫 번째 레이어는 입력 레이어라고합니다. 이것은 기본적으로 가지고있는 데이터입니다. 신경망의 기본 이론적 근거는 이제 이 출력을 다른 레이어의 입력으로 사용할 수 있고, 마지막 학습을 중지하기로 결정할 때, 그 레이어를 출력 레이어를 사용할 수 있다는 것입니다. 첫 번째 레이어는 입력 레이어이고 마지막 레이어는 출력 레이어입니다. 사이의 모든 레이어를 숨겨진 레이어라고합니다. 입력을 알고 출력을 얻지만 이러한 작업이 숨겨진 스태킹 계층마다 하나씩 딥 네트워크를 생성하거나 이를 딥넷이라고 하므로 어떻게되는지 알 수 없습니다. 숨겨진 계층의 빌딩 블록을 숨겨진 유닛 또는 노드라고 합니다...

SW/딥러닝 2020.03.02

13. 딥러닝 : 레이어 : 선형성과 비선형성 : 의미, 개념

다시 한 번 더 깊이 파고 들어야 할 시점입니다. 이전 섹션 중 하나에서 심층 신경망을 살펴볼 계획입니다. 간단한 선형 회귀 모델을 훈련하는 방법을 보았습니다. 두 개의 입력과 단일 출력이 있습니다. 이 떄, 배운 선형 모델을 사용했습니다. 이 함수는 L2 뉴런 손실에 따라 몇 백 번의 데이터가 가장 적합합니다. 이제 대부분의 실제 생활에 적용하기 위해서는 선형 레이어를 조합해 더 나은 예측 인공지능이 필요합니다. 이것은 대부분 선형 모델보다 복잡한 모델로 작업하는 것을 의미합니다. 복잡함은 일반적으로 선형 혼합과 비선형 연산을 의미하며, 이러한 복잡성은 임의의 함수를 표현할 수 있게 합니다. 선형으로 결합된 입력에 출력을 할당한 다음 출력을 생성하는 비선형 변환을 수행하게 되는 것입니다. 아마도 비선형..

SW/딥러닝 2020.03.01

12. 딥러닝 : 텐서플로우 2.0 예제 : 결과 해석과 가중치와 바이어스 추출

# 문제에 대한 관련 라이브러리를 항상 가져와야합니다. import numpy as np import matplotlib.pyplot as plt import tensorflow as tf # 먼저, 생성하고자하는 훈련 세트의 크기를 포함하는 변수를 선언해야합니다. observations = 1000 # 입력으로 두 개의 변수를 사용할 것입니다. # 이전 예제에서 x1과 x2로 생각할 수 있습니다. # 우리는 x와 z를 구분하기가 쉽기 때문에 선택했습니다. # 균일 한 분포로 그림을 무작위로 생성합니다. # 이 방법에는 3 가지 인수 (낮음, 높음, 크기)가 있습니다. # xs와 zs의 크기는 관측치 x 1입니다.이 경우 : 1000 x 1입니다. xs = np.random.uniform(low=-10,..

SW/딥러닝 2020.02.29

28. 딥러닝 : 초기화(Initialization) : 개념, 방법, 필요성, 의문점

머신 러닝의 중요한 부분인 초기화에 대한 첫 번째 포스팅입니다. 세계에서 가장 빠른 컴퓨터조차도 세부 사항을 말하면서 도움을 줄 수는 없습니다. 초기화는 가중치의 초기 값을 설정하는 프로세스입니다. 부적절한 초기화로 인해 최적화 프로그램 모델이 발생하지 않을 수 있으므로 이 개념을 알아두는 것이 중요합니다. 가장 간단한 그라디언트 디센트를 소개 할 때 5x^2 + 3X - 4 함수를 사용합니다. 그라디언트 디센트를 수행합니다. 다시 말해 초기 가중치를 우연히 발견한 다음 경우에 간단한 값 4로 가중치를 초기화했습니다. 그런 다음 마이너스 0 범위에서 무작위로 가중치를 초기화했습니다. 스스로에게 질문하지 않았다면 지금이 시간입니다. 초기 가중치가 무엇인지 아는 것이 중요합니다. 임의의 초기 가중치가 필요하..

SW/딥러닝 2020.02.28

10. 딥러닝 : 텐서플로우 2.0 : 기본 예제 : 모델 선언 방법

import numpy as np import matplotlib.pyplot as plt import tensorflow as tf observations = 1000 xs = np.random.uniform(low=-10, high=10, size=(observations,1)) zs = np.random.uniform(-10, 10, (observations,1)) generated_inputs = np.column_stack((xs,zs)) noise = np.random.uniform(-1, 1, (observations,1)) generated_targets = 2*xs - 3*zs + 5 + noise np.savez('TF_intro', inputs=generated_inputs, targ..

SW/딥러닝 2020.02.27
반응형