일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- acmicpc.net
- 머신러닝 강좌
- 인공지능
- Gradient Descent
- 파이썬강좌
- 효묘블로그
- 머신러닝 강의
- supervised learning
- 딥러닝공부
- 경사하강법
- 백준 알고리즘
- python강좌
- 자바강좌
- 자바시작하기
- 딥러닝
- java
- c언어 오목
- 비지도학습
- Python강의
- 지도학습
- 머신러닝공부
- 머신러닝
- unsupervised learning
- C언어
- 자바
- feature scaling
- 선형회귀
- 비용함수
- 파이썬강의
- JAVA강좌
- Today
- Total
목록컴퓨터 (47)
컴공과컴맹효묘의블로그
이번에 알고리즘을 공부하려고 하는데 책의 도입부분에서 알고리즘의 시간을 측정할 수 있는 방법을 알려주었다. 실행시간을 측정하는 아이디어는 프로그램(알고리즘)을 실행하기 전의 시간을 측정하고, 실행한 후의 시간을 한번 더 측정해서 측정된 수 시간의 차를 계산하는 것이다. [헤더파일] 일단 clock()함수를 사용하려면 time.h 를 인클루드 해야한다. [함수 설명] clock()함수는 호출되었을때 밀리세컨드 단위로 시스템 시각을 반환한다. +밀리세컨드(ms, millisecond)란? 밀리세컨드는 1초(sec)를 1000등분으로 쪼갠 시간을 뜻한다. 따라서 1초는 1000밀리세컨드가 된다. [주요 상수] CLOCKS_PER_SEC은 time.h에 정의되어있다. #define CLOCKS_PER_SEC 1..

경사하강법에서 학습률이란 한번 학습할때 얼만큼 변화를 주는지에대한 상수입니다. 예를들어 부산에서 서울까지 가는데에 순간이동을 한다고 합시다. 만약 서울방향으로 10km씩 순간이동을 하면 금방 갈것입니다. 하지만 만약 1m씩 순간이동을 하면 너무 오래걸리겠죠. 그리고 1000km씩 순간이동을 하면 서울을 지나 오히려 더 멀어질것입니다. 얼마큼씩 이동할때 이 거리가 바로 학습률입니다. 이 블로그에서 처음 학습률이 등장하는 포스트 : https://hyomyo.tistory.com/13?category=820909 수알못의 머신러닝 공부 : 경사하강법 저번 시간에는 비용함수에 대해서 공부했습니다. 다시 정리하지면, 비용함수는 "오차를 표현해주는 미분 가능한 함수" 입니다. 비용함수가 오차들의(제곱의)평균이므로..

안녕하세요 효묘입니다. 이번 포스팅에서는 지금까지 소개한 내용을 바탕으로 경사하강법을 좀 더 보기 간결하게 수학적으로 짧게 표현하도록 하겠습니다. 행렬이란 : https://hyomyo.tistory.com/15 행렬곱 : https://hyomyo.tistory.com/16 전치행렬이란? : https://hyomyo.tistory.com/17 경사하강법 : https://hyomyo.tistory.com/13 이전에는 X 즉, 학습 훈련집합의 종류가 하나였습니다. 수학적으로는 y = a + b*x 라는 것이죠. 하지만 만약 학습 훈련집합의 종류가 여러개라면 변수가 너무 많아질겁니다. y = a + b*x_1 + c*x_2 + d*x_3 ... 이런 길고 복잡한 식이 나오게 되는데, 수학의 "행렬"을 ..

이번 수업에서는 행렬의 역행렬과 전치행렬을 공부했습니다. 역행렬 역행렬의 개념을 알아가기 앞서서 예전에 배운 역수라는 것을 다시한번 짚어봅시다. 역수란, 0이아닌 어떤 특정한 수에대해 어떠한 수를 곱하면 1이되게하는 것이 역수입니다. 예를들어서 3의 역수는 1/3, 3/5의 역수는 5/3입니다. 1같은 경우는 1의 역수는 똑같이 1이기 때문에 1은 독자성(identity)라고 불립니다. (중요하진 않습니다) 이제 역행렬에대해 알아보겠습니다. 역행렬이 존재하기 위한 몇가지 조건이 있습니다. 첫 번째로 행과 열의 크기가 똑같은 m x m 행렬이여야 합니다. 예를들어 A를 위와같이 정의합시다. A의 역행렬은 A^-1과 같이 표현합니다. 그리고 역행렬의 정의는 다음과 같습니다. 위를 만족하는 행렬 A^-1이 역..

행렬곱에서는 특별한 조건이 필요합니다. 곱하는 행렬(왼쪽)의 열과, 곱해지는 행렬(오른쪽)의 행이 같아야합니다. 즉 행렬의 크기는 (m*n) x (n*o) = (m*o)입니다.

행렬 matrix 행렬(matrix)란, 2차원 형태로 되어있는 구조를 말합니다. 예를 들어서, 위 사진은 행렬입니다. 행렬은 저렇게 생겼습니다. 행렬에 있는 각각의 숫자들을 '원소'라고 부릅니다. 가로줄을 행, 세로줄을 열이라고 부릅니다. 예를들어 1행은 (12 1 2)입니다. 저 행렬은 행(row)이 2개이고, 열(column)가 3개입니다. 위처럼 생긴 행렬은 2x3행렬이라고 부릅니다. 여기 3x1행렬이 있습니다. 이렇게 생긴 행렬은 벡터(vector)라고 부릅니다. 벡터의 형태는 nx1의 형태로 되어있고, 이를 n차원 벡터라고 부릅니다.(n-divisional vector) 위 사진은 3x1행렬이기때문에, 3차원 벡터라고도 부를 수 있습니다. 보통 mxn행렬은 대문자로 표현합니다. 그리고 벡터나 ..

지금까지 공부한 선형회귀를 수식적으로 표현한 후에 Python으로 구현해볼려고 합니다. 아래의 수식들은 이전 포스팅에서 자세히 다뤘습니다. 바로가기 수알못의 머신러닝 공부 : 비용함수 수알못의 머신러닝 공부 : 경사하강법 일단 점들을 지나는 직선을 표현해보겠습니다. 그리고 오차를 구합니다. 위 수식의 오차는 쓸모가 없습니다. 이유는 만약, 2개의 데이터셋에서 오차가 각각 -1, 1이 나온다면, 오차들의 평균은 0이기때문에 적절한 오차를 구할 수 없습니다. 따라서 절댓값 혹은 제곱을 씌워줍니다. 절댓값은 미분 불가능한 점이 나올 수 있기때문에 제곱을 씌워줍니다. 그리고 데이터셋의 개수인 m으로 나누고, 미분하면 2가 떨어지니 1/2을 또 곱합니다. 비용함수를 구했습니다. 이제 비용함수의 극소값을 구하기 위..

저번 시간에는 비용함수에 대해서 공부했습니다. 다시 정리하지면, 비용함수는 "오차를 표현해주는 미분 가능한 함수" 입니다. 비용함수가 오차들의(제곱의)평균이므로 오차의 최소값을 구해야겠죠? 실제로 최소값(global minimum)을 구하는 것은 어려우니, 경사하강법으로 극소값(local minimum)을 구할 수 있습니다. 따라서 경사하강법은 비용함수의 극소값을 구하는 방법입니다. 경사하강법 Gradient descent 경사하강법은 특정한 점 x를 잡고, 비용함수의 기울기를 구한 후, 기울기에 따라서 x의 값을 변화시켜주는 방법입니다. 그림으로 쉽게 설명하겠습니다. 여기 단순한 y=x^2의 그래프가 있습니다. 그리고 이 그래프의 아무점, 예를들어서 7.5를 잡아본다고 하겠습니다. x = 7.5일 때,..
반복문은 프로그램이 특정한 패턴을 반복해서 연산할 때 쓰입니다. for 문 예를들어 Hello World를 100번 출력하고 싶으면, 코드를 100줄 써야하지만, 반복문을 쓰면 단 두줄로 끝낼 수 있습니다. for i in range(100): print("Hello World") 반복문도 조건문과 같게 콜론 ':'과 들여쓰기를 사용합니다. 반목분의 형태는, for 변수 in 리스트 형태로 구성되는데요, 리스트의 각각의 '요소'가 변수에 들어가면서 리스트의 '요소'의 갯수만큼 반복합니다. range()함수는 리스트를 자동으로 만들어주는 함수입니다. range(100)은 리스트를 0부터 100 미만인 99까지 100의 길이를 가진 리스트를 생성합니다. 즉, i는 100번 반복하면서 반복할 때마다 0부터 9..

안녕하세요, 효묘입니다. 요즘 앤드류 응 교수님의 강의를 들으면서 배운 내용을 블로그에 기록해보려고 합니다. 첫 번째로 쓸 내용은 비용함수입니다. Cost function 경제학에서, 비용함수는 어떤 생산량에서의 최소 생산비용을 대응한 함수이다. 이를 그림으로 나타낸 그래프를 비용곡선이라 한다. 고정 생산요소의 존재여부에 따라 장기와 단기 비용곡선을 나누며, 총비용함수 TC=TC(Q) 에서 한계비용함수와 평균비용함수를 유도한다.-wikipedia 위키피디아에서 뜻을 검색해봤는데 잘 모르겠네요. 아무튼 제가 이해한 방식으로 설명 해보겠습니다. 제가 서울에서 택시를 타고 이동하려고 합니다. 이때, 택시의 거리에 따른 값의 그래프를 그려보겠습니다. 거리에따른 택시 요금의 실제 데이터라고 가정합시다. 이 데이터..