일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 유니티
- MS-SQL
- MySQL
- 맛집
- PyQt5
- flutter
- mssql
- 라즈베리파이
- IOS
- tensorflow
- swift
- Excel
- 리눅스
- Unity
- pandas
- node.js
- port
- PER
- GIT
- 다이어트
- Linux
- 날짜
- sqlite
- ASP
- javascript
- python
- urllib
- 함수
- ubuntu
- PyQt
목록AI/TensorFlow (23)
아미(아름다운미소)
코드를 설명하기 전에 원핫 인코딩(one-hot encoding)에 대한 설명을 하도록하겠습니다. 데이터가 가질 수 있는 값들을 일렬로 나열한 배열을 만들고, 그 중 표현하려는 값을 뜻하는 인덱스의 원소만 1로 표기하고 나머지는 모두 0으로 채우는 것을 뜻합니다. 예를들어 조류, 포유류, 기타 세 가지의 결과값이 있을때, (1,0,0)는 조류, (0,1,0)는 포유류, (0,0,1)은 기타로 표현하는 것입니다.
인공 신경망은 뉴런의 동작 원리에 기초합니다. 뉴런은 가지돌기에서 신호를 입력받고, 축삭 돌기에서 신호를 전달한 다음에 축삭 말단에서 다음 뉴런으로 신호를 전달합니다. 인공 뉴런 또한 비슷한 원리입니다. 입력값을 주면 입력값에 가중치를 곱해주고(w), 편향값을 더해주고(b), 활성화 함수를 거쳐 다음 인공 뉴런에 전달하게 됩니다.
텐서플로우 주요한 함수는 아래와 같습니다. 텐서플로우에는 이외에도 많은 기본적인 수학함수를 제공하고 있습니다. 함수설명 tf.add 덧셈 tf.subtract 뺄셈 tf.multiply 곱셈 tf.div 나눗셈의 몫(Python 2 스타일) tf.truediv 나눗셈의 몫(Python 3 스타일) tf.mod 나눗셈의 나머지 tf.abs 절대값을 리턴합니다. tf.negative 음수를 리턴합니다. tf.sign 부호를 리턴합니다.(역주: 음수는 -1, 양수는 1, 0 일땐 0을 리턴합니다) tf.reciprocal 역수를 리턴합니다.(역주: 3의 역수는 1/3 입니다) tf.square 제곱을 계산합니다. tf.round 반올림 값을 리턴합니다. tf.sqrt 제곱근을 계산합니다. tf.pow 거듭제곱..
Q 러닝(Q-learning)이란 모델 없이 학습하는 강화 학습 기법 가운데 하나입니다. Q 러닝은 주어진 유한 마르코프 결정 과정의 최적의 정책을 찾기 위해 사용할 수 있고 주어진 상태에서 주어진 행동을 수행하는 것이 가져다 줄 효용의 기대값을 예측하는 함수인 Q 함수를 학습함으로써 최적의 정책을 학습합니다. 정책이란 주어진 상태에서 어떤 행동을 수행할지 나타내는 규칙이며 Q 함수를 학습하고나면 각 상태에서 최고의 Q를 주는 행동을 수행함으로써 최적의 정책을 유도할 수 있습니다. Q 러닝의 장점 중 하나는 주어진 환경의 모델 없이도 수행하는 행동의 기대값을 비교할 수 있다는 점입니다. 뿐만 아니라 Q 러닝은 전이가 확률적으로 일어나거나 보상이 확률적으로 주어지는 환경에서도 별다른 변형 없이 적용될 수 ..
종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) X와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 한 개의 설명 변수에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀라 합니다.
관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한뒤 적합도를 측정해 내는 분석 방법입니다. 회귀분석은 시간에 따라 변화하는 데이터나 어떤 영향, 가설적 실험, 인과 관계의 모델링등의 통계적 예측에 이용될 수 있으나 많은 경우 가정이 맞는지 아닌지 적절하게 밝혀지지 않은 채로 이용되어 그 결과가 오용되는 경우도 있습니다. 특히 통계 소프트웨어의 발달로 분석이 용이해져서 결과를 쉽게 얻을 수 있지만 적절한 분석 방법의 선택이였는지 또한 정확한 정보 분석인지 판단하는 것은 연구자의 역량입니다.
서포트 벡터 머신(support vector machine) 서포트 벡터 머신은 기계 학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용합니다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만듭니다. 만들어진 분류 모델은 데이터가 사상된 공간에서 경계로 표현되는데 SVM 알고리즘은 그 중 가장 큰 폭을 가진 경계를 찾는 알고리즘입니다. SVM은 선형 분류와 더불어 비선형 분류에서도 사용될 수 있습니다. 비선형 분류를 하기 위해서 주어진 데이터를 고차원 특징 공간으로 사상하는 작업이 필요한데, 이..
순서적인 측면을 고려할 수 있는 RNN은 순서적인 측면을 고려해서 판단할 수 있다는 특성은 특히 Sequence data를 다루는데 도움이 될 수 있습니다. Sequence data의 대표적인 형태로는 '문장'과 같은 데이터가 있습니다. 문장의 단어 같은 경우 현재의 단어만으로 의미를 해석하는 것이 아니라 앞 단어와의 관계를 통해서 현재 단어의 의미를 해석할 수 있습니다. 하지만 개별 데이터를 독립적으로 학습하는 FFNets의 경우는 Sequence data를 처리하는데 어려움이 있습니다. 이외에도 유전자, 손글씨, 음성 신호, 센서가 감지한 데이터, 주가 등의 배열(squence, 또는 시계열 데이터)를 처리하는데 자주 활용됩니다. 사진에 캡션을 달아주는 기능 역시 RNN을 활용할 수 있습니다. ..
지도학습(Supervised Learning) : 데이터에 정답 정보가 결합된 학습 데이터(또는 훈련 데이터)로 데이터의 특징을 모델링하는 과정을 의미합니다. 주로 식별과 예측 등을 목적으로 둘 때가 많으므로 데이터를 선형 결합으로 나타내려는 특성을 이용합니다. 자율학습(Unsupervised Learning) : 입력 데이터의 정답을 모르는 상태에서 사용하는 것으로 클러스터 분석, 차원압축, 밀도추정 등이 해당합니다.
신경망이 작동하는 방법에는 대표적으로 3가지가 있습니다. FFN은 정보들이 input(입력층)에서 hidden(은닉층)으로 hidden(은닉층)에서 output(출력층)으로 쭉 한 방향으로 흐르는 신경망으로써, 오차에 대한 가중치의 조절이 불가능합니다. 역전파(Backpropagation)의 경우 결과의 오차(실제값과 결과값의 차이)를 줄이기 위해 각 노드에서 다음 노드로 이어지는 가중치를 조절하는 방법으로 이때 가중치를 조절하기 위해 다시 뒤로 되돌아가기 때문에 역전파라고 합니다. 역전파는 FFN에 비해 가중치가 잘 나오는 편이고 또 상대적으로 빠른 편이어서 인공신경망에서 자주 사용합니다. 마지막으로 Recurrent Neural Network, 즉 RNN은 context unit이라는 부분을 통하여..