목록PROGRAMMING (318)
MY MEMO
Lecture 7-1Application & Tips : Learning rate,data preprocessing, overfitting 1. Learning rate 우리는 tensorflow에서 다음과 같이 코드를 구현하며 gradient descent function을 구할 수 있었다.위의 알파 값을 우리는 코드에서 Learning Rate이라고 나타내었다. 적당한 Learning Rate을 구하는 것은 매우 중요하다하지만 Learning Rate이 너무 크면 어떻게 될까? 위처럼 Learning Rate이 너무 클때 한 step에 많은 거리를 움직이고 결국 답으로 도달하지 못하고 계속 밖으로 나갈 수 있다. 그렇다면 Learning Rate이 너무 작으면 어떻게 될까? 너무 작은 Learning..
Lecture 6-1,2softmax classification : Multinomial classification 이 전에 우리는 Logistic regression을 공부했습니다.데이터를 바탕으로 일차함수를 찾았는데 우리는 이 일차함수가 가장 큰값이 1 작은 값이 0으로 가게 만들고 싶어서Logistic 함수를 썼습니다. multinomial classification A,B,C학점을 부여하고 싶을 때 위와 같은 좌표를 그릴 수 있다. 왼쪽부터 좌표를 1,2,3이라고 가정하면 1번 좌표에서 그래프를 그렸을 때, C학점을 찾을 수 있다.2번째 좌표는 B학점을 찾을 수 있고, 3번째는 A학점을 찾을 수 있다. 위를 계산하기 위해서는 아래와 같은 방법을 이용해야한다. matrix로 나타내면 위와 같이 되고..
전구의 개수, testcase명령 0 : start_index end_index -> ON을 OFF로 OFF를 ON으로명령 1 : start_index,end_index 켜진 전구 개수 출력 #include #include #include #include using namespace std; #define ON 1 #define OFF 0 int main() { ifstream fcin; fcin.open("input.txt"); int bulb_count, testcase, order, start_index, end_index; fcin >> bulb_count >> testcase; vectorbulb(bulb_count+1, OFF); while (testcase--) { fcin >> order>..
1.십진수-이진수 변환 : string, while문, shift연산이진수 대칭 확인 : string_front,string_back,string_front.compare(string_back) #include #include #include #include #include #define CHECK_TIME_START __int64 freq, start, end; if (QueryPerformanceFrequency((_LARGE_INTEGER*)&freq)) {QueryPerformanceCounter((_LARGE_INTEGER*)&start); #define CHECK_TIME_END(a,b) QueryPerformanceCounter((_LARGE_INTEGER*)&end); a=(float)((..
#include #include #include #include #include #include "stdio.h" #include "time.h" using namespace std; //!%1한2%!345글eng이li다sh^&()@* int main() { clock_t before; double result; before = clock(); string english, korean, character,number; CString input = "!%1한2%!345글eng이li다sh^&()@*"; for (int j = 0; j = input.GetAt(j) || 127 < input.GetAt(j))) korean.push_back(..
1) Logistic (Regression) classification -정확도가 높고 자주 쓰이는 알고리즘 => 중요함 우리가 Regression을 사용할때에는 아래와 같은 데이터와 식이 주어진다 Binary Classification => 두가지의 결과 중 하나를 고르는 것 ex) Spam Detection : Spam or Hamex) Facebook feed : show or hide => facebook에서 사용자의 "좋아요"피드를 기반으로 타임라인 중에 어떤라인을 보여줘야하는지 자동으로 판단ex) Credit Card Fraudulent Transaction detection : legitimate/fraud =>그동안의 카드 사용량을 바탕으로 평소와 다르게 소비를 한다면 -> 이것은 가짜다!..
Multi variable linear regression linear regression을 위해 3가지가 필요함1) hypothesis2) cost function3) gradient descent algorithm 위의 식은 linear 즉 2개의 값을 이용해서 cost function과 gradient descent algorithm을 사용하여 예측했다 하지만 multi variable 즉 2개 이상의 값이 존재할때 어떻게 값을 예측할까? exam score를 예측하는 값이다 하지만 2개의 값이 아닌 3개의 값이 존재한다.그렇다면 자연스럽게 hypothesis와 cost function의 값도 아래와 같이 변화한다.
Simplified hypothesis => cost function어떻게 cost function값이 가장 작은 것을 찾을 수 있을까?=> cost function 값을 그래프로 그려 가장 작은 값을 도출하면 가능하다! 이 함수에서 가장 작은 수를 찾으려면 새로운 함수(algorithm)이 필요하다!=> Gradient descent algorithm (gradient = 경사 descent = 내려감) => 경사를 따라 내려가는 algorithm
1) Machine Learning 기본 개념 Supervised Learning : 정해져있는 데이터(이미 label이 정해져있음 = training set) ex) 이미지를 주면 자동으로 이미지를 구별해주는 것 -> machine learning을 이용 어떻게 만들까? 사람이 고양이, 강아지등의 그림을 미리 줌 그것을 바탕으로 그림을 구분해냄ex) Email spam filterex) Predicting exam score regression / binary classification / multi-label classification - Predicting final exam score based on time spent => regression 데이터의 범위가 넓음- pass / non-pass ..
algospot ORDERING : https://algospot.com/judge/problem/read/ORDERING priority_queue로 풀었어야 했는데 queue로 풀어서30분도 안걸려 풀 문제를 1시간에 걸쳐 돌아왔다코드는 매우 간단하다 #include #include #include #include #include #include using namespace std; vector graph; vector indegree; priority_queue memory; void main_function() { for (int j = 0; j < indegree.size(); j++) { if (indegree[j] == 0) memory.push(j); } while (!memory.empt..