Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, … - Selection from Hands-On Machine Learning with Scikit-Learn www.oreilly.com Machine Learning (의미와 종류) Hands-On Machine Lear..
기계학습/Machine Learning 검색 결과
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, … - Selection from Hands-On Machine Learning with Scikit-Learn www.oreilly.com 1. 머신러닝 일반적으로 명시적인 프로그래밍 없이 컴퓨터 스스로 학습하는 능력을 갖추..
1. 회귀분석 1) 회귀분석의 정의 하나 이상의 독립변수들이 종속변수에 미치는 영향을 추정하는 통계 기법 X의 정보를 활용해서 Y를 예측하는 방법 2) 회귀분석의 변수 X(영향을 주는 변수) : 입력변수, 설명변수, 독립변수, 예측변수 Y(영향을 받는 변수) : 출력변수, 반응변수, 종속변수, 결과변수 2. 단순 선형 회귀분석 하나의 독립변수가 종속변수에 미치는 영향을 추정할 수 있는 통계법 1) 단순 선형 회귀분석의 구성 B0 : 절편 B1 : 기울기 ε : 오차항 B0과 B1은 회귀계수로도 불림 2) 최소제곱법(최소자승법)을 이용한 회귀계수의 추정 실제 값의 오차의 제곱의 합이 최소가 되는 값을 구하는 방식으로 잔체제곱이 가장 작은 선을 구하는 것 최소제곱법 : 근사적으로 구하려는 해와 실제 해의 오..
1번 글에서는 '오차 역전파'를 통해서 역방향 계산을 하는 과정을 포스팅 했었다. 실제로는 경사하강법은 '손실함수'라는 개념을 사용하여 나온 방법이다. 경사하강법의 정의 : '어떤 손실함수(loss function)가 정의되었을 때, 손실 함수의 값이 최소가 되는 지점을 찾아가는 방법' 앞에서 본 결과는 손실 오차 중 제곱오차(Squared Error)를 미분한 결과와 동일하다. ■ 손실함수란 무엇인가? 어떤 모델이 좋은 모델이고 어떤 모델이 안좋은 모델일까? 그것에 대한 기준은 무엇일까? 모델A가 모델 B보다 좋은 모델이다.' = '모델 A가 모델 B보다 나쁘지 않은 모델이다.' 라는 아이디어에서 착안하여 모델의 적합성을 판단하는 기준 : 오차의 정도 (이 글에서는 손실함수 중 제곱 오차(SE)를 사용..
선형회귀란? 가장 간단 + 딥러닝의 기초가 되는 머신러닝 알고리즘으로, 데이터들을 가장 잘 표현하는 1차 함수식을 만드는 것이다. (이번 포스팅에서는 기초적인 내용의 이해를 위해 "특성이 1개"인 모델에 대해 이야기 한다.) 일반적으로 우리가 아는 1차 함수식은 y = a*x + b의 형태 이것을 머신러닝에서 쓰는 방식으로 바꾸면 y_hat = W*x + b이다. (선형함수식이라고 표현을 한다.) x: 입력값 y: 타겟값 W: 가중치 b: 절편 1차 함수식을 y와 x에 대한 식으로 이해를 하듯이 위 식을 W와 y_hat에 대한 식으로 이해를 하면 된다. ☞왜 y가 아니라 y_hat? y와 y_hat의 차이점을 설명하자면, y는 이미 우리가 가지고 있는 정답이라고 볼 수 있고, y_hat은 y를 예측하기 ..
6. 플레이스홀더(placeholder), Feeding 다른 텐서를 할당하기 위해 사용한다. 위 말의 의미가 이해하기 어려울 수도 있다. 쉽게 말해서, 입력값(X)을 넣어놓을 빈 통이라고 생각 하면 된다. "플레이스 홀더(빈 통)에 입력값을 넣어주는 과정"을 피딩(Feeding)이라고 한다. ※세션을 작동시킬 때(sess.run(y, feed_dict={W: , b: })),의 형태로 모든 placeholder값을 feed_dict에 넣어주어야 한다. 왜 굳이 입력값을 플레이스 홀더라는 곳에 입력값을 넣어야 되는가? 에 대해서 내가 생각해본 결과 입력값은 여러 데이터들(수치가 정해진) 값을 포함한 형태이다. 상수는 변하지 않는 수이고 값이 1개가 들어가는 경우가 통상적이다. 따라서 상수로 입력값을 받는..
텐서플로우의 기본 개념 텐서플로우는 뉴럴네트워크를 위한 라이브러리이므로, 기존에 우리가 알던 파이썬 프로그래밍과는 조금 다른 형태를 보인다. 머신러닝, 딥러닝은 여러 연산처리를 해야하는 과정이다. 파이썬으로만 프로그램을 돌리게 된다면, 속도가 너무 느려진다. 텐서플로우는 파이썬에서 그래프(연산)의 여러 계산들을 디자인(설계)하고, 그 디자인 된 것들을 돌리는 것은 파이썬 외부 device(CPUs, GPUs)에서 하는 것이다. (이때, 아래 나올 변수 초기화를 위해 device를 C, C++로 이해를 하면 편하다.) - 연산은 graph로 표현합니다. - graph는 Session내에서 실행됩니다. - 데이터는 tensor로 표현합니다. - 변수(Variable)는 그 상태를 유지합니다. - 작업(ope..
최근댓글