일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디지털컨텐츠과
- pwnable.kr
- apollo
- 이비즈니스과
- 등교개학
- 중3
- 학생
- WebHacking
- 웹개발
- 디미고특별전형
- 해킹방어과
- 코로나19
- 시스템해킹
- Flutter
- 디미고입학
- 웹프로그래밍과
- 인공지능
- TensorFlow
- 머신러닝
- 플러터
- 특별전형
- coursera
- 딥러닝
- graphql
- 우분투
- 디미고
- 대나무숲
- 일상
- 워게임
- 풀스택
- Today
- Total
목록전체 글 (30)
꿈이 너무 많은 한 대학생의 공간
1. 준비물 - Visual Studio (2019 권장) - CMake (C/C++ 프로젝트 빌트 툴) - 튜토리얼 코드 위 준비물이 모두 갖춰진 상태에서 CMake를 연다. .zip 파일인 튜토리얼 코드를 압축 해제한 후, CMake의 Where is the source code: 부분에서 압축 푼 디렉토리를 선택한다. 이후 원하는 폴더를 하나 새로 만들고, 그 경로를 지정한다. (그 폴더로 완전히 빌드가 완료된 파일들이 들어갈 것이다) Configure을 한번 누르고, Visual Studio 16 (2019) 를 선택한 뒤 아래 Finish를 누른다. CMake가 해당 IDE에 대해 여러 설정을 하면 위의 화면처럼 빨갛게 항목이 그어질 것이다. 아래 Configure를 한번 더 눌러주자. 그렇게 ..
저번 강의에서 우리가 h(x) = ax + b에서 b가 0일때, a값만 정하는 비용 함수에 대해서 알아봤습니다. 또, a를 구하는 경사하강법 공식은 아래와 같습니다. 전에 설명한 학습 빈도 α를 제외하고, 뒤에 붙어있는 이상한 ∂ 등이 붙어있는 부분이 있습니다. 만약 미적분을 공부해보신 분은 알겠지만(저는 중학생이라 잘 모릅니다) 이 부분은 미분계수라고 합니다. 근데 이 미분계수와는 관계없이, a(세타1)은 언젠가는 최소값에 다다르게 됩니다. 아래의 그림처럼, 만약 기울기가 음수라면 a(세타1)의 값은 증가하고 기울기가 양수라면 a(세타1)의 값은 감소합니다. 그래야 비용함수 J의 최소값에 다다를 수 있기 때문이죠. 또한, 우리는 경사하강법을 제대로 진행시키기 위해 α 값을 조정해야 합니다. 만약 α값이..
자 이제 우리는 함수 h(x)를 가지고 있고, 이 함수를 데이터셋에 어떻게 최적화시키는 지 알 수 있게 되었습니다. 이제 우리는 h(x) 함수의 변수(a, b)를 평가해야 합니다. 이것이 경사하강법(Gradient Descent)가 나온 이유입니다. a(세타1), b(세타0), 비용 함수 J를 축으로 하는 3차원 그래프가 있다고 가정합시다. 그렇다면 그래프는 아래와 같은 형식으로 만들어지게 됩니다. 우리는 모두 비용 함수가 최소화되었을 때, 즉 하나의 점의 3차원 그래프상에서 매우 아래쪽에 있을 때, 우리는 변수 a, b의 값을 매우 잘 정한 것을 압니다. 위 그래프 상에서의 빨간색 점을 주목해주세요. 우리가 이걸 하는 방법은 우리 비용 함수를 위한 미분계수(함수의 탄젠트값)을 구하기 위해서입니다. 함수..
등치선 그래프(Contour Plot)는 많은 등치선을 가지고 있는 그래프를 뜻합니다. 2개의 변수를 가지고 있는 등치선은 똑같은 점에서 불변하는 값을 가지고 있습니다. 대표적으로는 아래 그림 중 오른쪽 그림이 등치선 그래프입니다. 오른쪽 그림에서 하나의 색을 정하고 원을 따라 가보세요. 아마 하나의 값은 그때의 비용 함수(J)일 것입니다. 예를 들어, 초록색으로 찍힌 3개의 점은 똑같은 선을 지나고 있으므로, 이 세 점의 a(세타 1), b(세타 0)의 관계는 같습니다. 동그라미 친 X는 b(세타0)이 800이고 a(세타1)가 -0.15 일때를 의미합니다. 또 다른 값을 잡는다면, 그래프는 아래와 같이 변화하게 됩니다. 만약 b(세타0)이 360이고 a(세타1)이 0이라면, h(x)는 x축에 평행한 그..
우리가 시각적으로 생각한다면, 훈련 데이터셋은 x, y로 이루어진 평면에 흩어져 있습니다. 우리는 h(x)라고 정의한 함수를 흩어져있는 데이터셋을 지나는 직선으로 만들기 위해 노력할 것입니다. 우리의 목적은 흩어진 점(데이터셋)을 다 지나는 최고의 직선을 만드는 것입니다. 그 직선은 전 시간에 설명했던 평균제곱오차, 즉 비용 함수가 제일 적을 때의 변수 값이 필요합니다. (h(x) = ax+ b라고 정의했을 때, 비용 함수 J(a, b)가 최소가 되야 합니다) 이상적으로는, h(x)의 직선 그래프는 훈련 데이터셋의 모든 점을 지나가야만 합니다. 즉, 아래와 같은 경우에서는 h(x) = ax + b라고 정의할 때 b의 값은 0이어야 합니다. 아래의 예시는 우리의 비용 함수가 0이 되는 우리가 제일 바라는 ..
우리는 함수 h(x)의 변수 값을 비용 함수(Cost Function)을 사용함으로써 정할 수 있습니다. 이 비용 함수는 x값과 실제 y값의 평균적인 차이를 필요로 합니다. 즉, 수식은 아래와 같은 형태를 띄게 됩니다. 수식을 쉽게 설명하자면, h(x)가 예측한 값과 실제 y값의 차이를 제곱한 뒤, 그것을 모두 더하고 1/2 * 훈련 데이터량(m)을 한 것이 비용 함수입니다. 이 함수는 제곱오차함수(Squared Error Function), 또는 평균제곱오차(Mean Squared Error) 라고 부릅니다. 평균은 경사하강법(Gradient Descent)의 계산을 편리하기 위해서 반으로 줄어들며, 나중에 이 함수의 미분계수가 반으로 줄은 것을 다시 곱해 원래대로 되돌려줄 것입니다. 아래의 이미지는 ..
머신러닝을 공부하면서 사용하기 위해 개념을 하나 세우자면, 우리는 x(위첨자 i)를 입력값으로 놓을 것입니다. (주택 가격 예측 문제를 예로 들면, 주택의 평수 등) 그리고 y(위첨자 i)를 출력값으로 놓을 것입니다. (우리가 예측할려는 주택의 가격) x(위첨자 i), y(위첨자 i) 쌍은 훈련 데이터셋(Training Example)이라고 부릅니다. 또한, 우리는 모델을 학습시키기 위해서 이 훈련 데이터셋을 활용할 것입니다. 위첨자 i는 몇 번째 훈련 데이터셋인지 표시하는 역할을 합니다. 또한, X를 입력값들의 공백, Y를 출력값들의 공백으로 놓을 것이며, 이 예제에서는 X = Y = ℝ 입니다. 지도학습을 더 공식적으로 묘사한다면, 훈련 데이터셋을 받은 상태에서 우리의 목표는 h(x)를 y 값들의 데..
원문 : www.coursera.org/learn/machine-learning/supplement/1O0Bk/unsupervised-learning Unsupervised Learning (비지도 학습) 비지도 학습은 데이터 값 사이의 관계나 결과값을 모르는 상태에서, 문제에 대해 접근하는 방식을 말합니다. 우리는 딱히 알 필요 없는 변수의 효과를 모르는 상태에서, 데이터 사이의 패턴을 데이터 값 안의 관계를 통해 클러스터링(묶음)함으로써 이끌어 낼 수 있습니다. 비지도 학습에서는, 예측 결과에 대해 모델에 대한 피드백이 필요가 없습니다. 예제 : 클러스터링 : 백만개의 각각 다른 유전자에 대한 정보를 가지고, 우리는 이 유전자들을 수명, 위치, 역할, 그런 관계를 통해 어떻게 해서든 묶어내야 합니다...