목록분류 전체보기 (213)
archive

1. 딥러닝 기본 용어 설명 -딥러닝 Key Components(1) 모델이 학습할 데이터(2) 데이터를 변환할 (인덱스로, 라벨로, 정답값으로) 모델(3) 모델의 성능을 평가할 손실함수 loss function(4) 손실을 최소화하고자 하는 알고리즘 (optimizer) 2. Historical Review(1) 2012 Alexnet : Convolutional neural network model, 합성곱 신경: 224*224 이미지가 들어왔을 때 분류해내는 것이 이 모델의 목적:이전에는 SVM, 커널 기반 모델 등의 고전적인 모델들을 조합하는 방법들이 1등을 하였지만, 12년도 Alexnet이 1등 (2)2013 DQN : Q 러닝이라고 불리는 강화학습 적용 (3)2014 Encoder/Dec..

1. 딥러닝에서 확률론이 필요한 이유-딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있음-기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 됨-즉, 예측이 틀릴 위험 (risk)를 최소화하도록 데이터를 학습하는 원리는 통계적 기계학습의 기본 원리이다. -회귀분석에서 손실함수로 사용되는 L2노름은 예측 오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도-분류 문제에서 사용되는 교차 엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도-분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야 한다.-두 대상을 측정하는 방법을 통계학에서 제공, 따라서 기계학습을 이해하려면 확률론의 기본 ..

1. 비선형모델 신경망 (Neural Network)- 비선형 모델 안에는 선형 모델이 그 안에 숨겨져있음-그 선형 모델과 비선형 함수들의 결합으로 이루어져있다-각 행벡터 O(i)는 데이터 x(i)와 가중치 행렬W 사이의 행렬곱과 절편 b 벡터의 합으로 표현된다고 가정-데이터가 바뀌면 결과값도 바뀌게 된다, 출력벡터의 차원은 d에서 p로 바뀌게 된다-x라는 행벡터가 주어지게 되었을 때, x라는 행벡터를 O라는 행벡터로 선형결합하여 연결하게 될 때, p개의 모델을 만들어야하는데,-x1에서 출발하는 화살표 p개 -화살표는 p*d개가 필요하다, 이는 가중치 행렬의 원소의 개수가 된다-즉, 가중치행렬의 각각의 값은 곧 가중치값과 연결되게 된다. 즉, 각각의 화살표들은 이 화살표의 시작점과 끝점에 상응하는 가중치..

1. 미분-미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 제일 많이 사용하는 기법이다.-미분은 변화율의 극한(limit)으로 정의한다.-요즘은 sympy.diff 를 가지고 미분을 컴퓨터로 계산 가능하다.import sympy as symfrom sympy.abc import xsym.diff(sym.poly(x**2 + 2*x + 3), x) -미분은 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기를 구한다-한 점에서 접선의 기울기를 알게 된다면,어느 방향으로 점을 움직여야 함수값이 증가하는지 감소하는지 알 수 있다.-증가 시키고 싶다면 미분값을 더하고, 감소시키고 싶다면 미분값을 빼면 된다. -미분값을 더하면 경사 상승법(gra..

1. 행렬-행렬(matrix)는 행벡터를 원소로 가지는 2차원 배열이다-벡터는 숫자를 원소로 가지는 1차원 배열의 정의를 가지느 수학적 용어였음-행렬은 볼드체로 표시-행렬은 행(row)과 열(column)이라는 인덱스를 가지게 된다, 인덱스 순서는 행-> 열 순서임-행렬의 특정 행을 고정하면 행벡터라고 부르고, 특정 열을 고정하면 열벡터라고 한다.-행렬의 전치행렬(transpose matrix)은 행과 열의 인덱스가 바뀐 행렬을 이야기한다.-벡터가 공간에서 한 점을 의미한다면, 행렬은 여러 점들을 나타낸다.-행렬의 행 벡터 x(i)는 i번째 데이터를 의미한다.-행렬은 벡터를 원소로 가지는 2차원 배열이므로, 행렬끼리 같은 모양을 가지면 덧셈과 뺄셈을 계산할 수 있 -numpy를 활용하면 구현 가능-성분곱..

1. 벡터란?-벡터는 숫자를 원소로 가지는 리스트 또는 배열- numpy의 array 함수를 주로 사용해서 벡터를 표현하게 된다 -> 행벡터로 처리-열벡터와 행벡터의 차이는 벡터의 차원, 원소의 개수가 n일 때 열벡터는 n차원인 것에 비해 행벡터는 1차원이다.-벡터는 공간에서 한 점을 나타내는 개념임-인공지능에서 다루는 벡터는 차원이 훨씬 큼, 일반적으로 n차원이라고 함-벡터는 원점으로부터의 상대적 위치를 표현한다.-벡터에 숫자를 곱해주면 길이만 변한다. (스칼라곱)-벡터끼리 "같은 모양을 가지게 되면" 덧셈과 뺄셈을 계산할 수 있게 된다-모양이 다르게 된다면 덧셈과 뺄셈이 불가능하게 된다, numpy로 코딩 시 에러를 출력-벡터끼리 같은 모양을 가지면 성분곱(Hadamard product)을 계산할 수..