분류 전체보기
-
[Machine Learning] Local Minima(Local Minimum) 의 존재확률적 관점공부/ML 2019. 11. 18. 18:01
머신러닝을 공부하고 다양한 예제를 작성하다 보면 몇몇 상황에서 원하지 않는 결과가 나오는 상황을 볼 수 있다. 이유야 다양하지만(learning step, data의 특성, 나의 실력) 이번에는 Local minimum에 대한 것을 살펴보자. (바쁜 당신을 위해 빠른 진행) 일반적으로 cost function을 최소화하기 위해서 열나게 모델을 작성한다. 위 같은 경우 크게 문제없이 최적의 값(w)을 찾아낼 수 있다. 심플하게 사람이 저기에서 걷는다고 했을 때, 아무 생각 없이 오르막길 나올 때까지 걸으면 끝이다. (우측 그림의 unregularized에 대해서는, 이 글에서 자세히 다루지 않지만, 데이터의 변수 간의 분포가 일정하지 않을 경우, 우측 그림과 같이 찌그러지게 되는데, 이 경우 oversho..
-
[Machine Learning] cost function - 왜 제곱을 사용하는 것일까?공부/ML 2019. 10. 23. 17:51
머신러닝을 공부하다 보면 COST 함수에 대한 내용을 접하게 된다. INPUT 값에 대한 기댓값으로 얼마가 나오겠지...라는 예측과 차이의 정도를 반환하는 함수로, 이 값이 작으면 작을수록 정확하게 예측했다고 판단할 수 있다. 식을 보게 되면 예측값 [ x(i) ], 정답 [ y(i) ] 의 값의 차이를 제곱하고 있는 것을 확인할 수 있다. 이에 대해서 "예측값과 정답의 차이가 크다면 더욱 더 weight를 가해서 좀 더 정확한 modeling을 하기 위해서 제곱 값을 적용한다."라고 흔히들 많이 설명한다. 맞는 말이다. 하지만... 왜 하필 제곱을 사용하는 것일까? 예측값과 다른 것이 문제가 되어서 사용한다면 왜 3 제곱, 4 제곱... 100 제곱을 사용하면 되는 게 아닐까? 그럼 더 정확해지지 않을..
-
[C++] OpenCV - RAW이미지 읽기공부/C++ 2019. 10. 22. 17:57
OpenCV의 경우 IMREAD를 통해 이미지를 MAT에 반환하여 출력을 하는데, RAW 이미지의 경우 지원을 하지 않는다. 따라서 별도의 FREAD로 얻은 값을 FILE에 넣어준 뒤, 이를 CHAR [][]에 넣은 후, MAT을 사용하면 된다. FILE * file1 = fopen("lena(512x512).raw", "rb"); //파일명으로 오픈 fread(arr1, 512 * 512, 1, file1); // 이미지 사이즈만큼 할당하여 arr1에 저장 Mat before1(512, 512, CV_8UC1, arr1); //arr1을 Mat에 row,col,type,array 순으로 값을 넣어준다. imshow("111", before1);
-
Programmers [기지국 설치]공부/programmers 문제 2019. 10. 1. 11:32
#include #include using namespace std; int solution(int n, vector stations, int w) { int head = 0, tail = 0, answer = 0; int cur, val; for (int i = 0; i =head && tail!=0) { val = tail - head + 1; if ((val % (2 * w + 1)) == 0) val = (val / (2 * w + 1)); else val = (val / (2 * w + 1)) + 1; answer += val; } head = cur + w + 1..
-
Programmers [섬 연결하기] - 분명 Prim's algorithm...? 을 짰는데..공부/programmers 문제 2019. 10. 1. 11:25
#include #include #include #include #include using namespace std; int arr[100][100]; int visit[100]; priority_queue q; int solution(int n, vector costs) { int answer = 0, cur, s = costs.size(); bool flag = false, skip = false; pair temp; if (n == 1){return 0;} for (int i = 0; i < s; i++) { arr[costs[i][0]][costs[i][1]] = costs[i][2]; arr[costs[i][1]][costs[i][0]] = costs[i][2]; } cur = costs[0][..
-
priority queue의 pair를 정렬하고 싶은데...궁금증 2019. 9. 30. 16:30
pair의 데이터를 가진 priority queue를 사용하던 도중, 2번째 배열을 사용하여 정렬을 하고 싶었다. 평소에 class node하나 만들어서 하던 것처럼 operator를 override 하고 봤더니... 어음.... 이상하게도 first를 기준으로 오름차순만 되었다. 왜일까... node선언해서 하는 건 심플하게 되었는데; pair의 경우 override 하는 도중 뭔가가 정상적으로 먹히지 않은 듯한데, 이유는 잘 모르겠다.
-
치킨, 그냥 시키는것 보다는 조금만 찾아보자 ver.2일상/주저리 2019. 9. 27. 10:57
우연히 이번 BBQ 황금올리브 사건(2019.07.11)을 보고, 가끔 치킨집에서 순살을 시키면 항상 뻑살이 와서 실망스러웠던 기억이 떠올랐다. 자료는 매우 오래된 자료... 를 기반으로 하였음. 현재와는 다를 가능성이 존재한다. 기름이 깨끗하냐를 따지는 분들도 있는데, 그것에 대한 자료로 사용할 수 있겠다. 요즘 치킨을 보면 순살의 종류를 고를 수 있을 정도로 소비자의 선택지가 늘어나 있다. 그러니 위의 자료는 참고만 하도록 하자. ( 여기에 나와있지 않지만 내가 정말 좋아하는 오빠닭은 100% 다리살을 사용하고 있다) 물론 뻑살을 좋아하는 분들도 있을지 모르겠지만.. 난 순살이 좋아.. 굽네가 월등히 낮지만 이건 굽는 치킨의 특성이기 때문에... 그렇다고 "이야 굽네는 먹어도 살이 안 찌겠네? 개꿀~..