목록ML_AI (68)
archive

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)을 계산할 수..

1. 앙상블 러닝-앙상블 러닝 배경 : 단일 알고리즘보다 적당한 알고리즘을 여러 개 조합하여 단일 알고리즘보다 성능이 향상되는 것을 기대하는 기법- 어떠한 특정 알고리즘도 어떠한 모든 데이터셋에 대하여 최적의 성능을 낼 수 없음, 즉 개별 데이터셋에 최적화된 알고리즘은 따로 존재한다는 것에 의거하여 만들어진 방식- 하나의 알고리즘보다는 하나 이상의 알고리즘을 앙상블하는 것이 효과적이라는 결론을 도출할 수 있음-앙상블 러닝 정의 : 여러 개의 결정 트리 (Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법-앙상블 학습의 핵심은 여러 개의 약분류기(Weak Classifier)를 결합하여 강분류기 (Strong Classifier)를 만드는 과정- 여러 개의 단일 ..

1. 하이퍼 파라미터 튜닝이란?-하이퍼 파라미터 정의 : 학습 과정에서 컨트롤하는 파라미터 value, 모델이 학습하는 과정에서 표현하는 파라미터와는 구분되는 개념임을 잊지 말기, 하이퍼파라미터는 사람이 직접 설정하는 것-하이퍼 파라미터 튜닝 정의 : 학습 알고리즘에 있어 가장 이상적인 하이퍼 파라미터 세트를 찾는 것 -하이퍼 파라미터 튜닝 방법(1) Manual Search: 자동화 툴을 사용하지 않고 매뉴얼하게 실험할 하이퍼 파라미터 셋을 정하고 하나씩 바꿔가면서 테스트해 보는 방식(2) Grid Search: 테스트 가능한 모든 하이퍼 파라미터 셋을 테스트해보면서 어떠 하이퍼파라미터 셋이 좋은지 기록, 가장 BruteForce한 방식:위의 이미지를 보면 모든 셋을 검사하기 때문에 녹색의 눈금이 일정..