https://www.acmicpc.net/problem/1026 #include #include #define MAX 50 using namespace std; bool compare(int i, int j) { return j>N; for(int i=0; i>A[i]; } for(int i=0; i>B[i]; } //A를 오름차순 정렬하기 sort(A, A+N); //B를 내림차순 정렬하기 sort(B, B+N, compare); int S = 0; for(int i=0; i
머신러닝으로 문제를 해결한다는 것은 데이터에 맞는 모델, 적합한 손실함수, 최적화 방법, 평가 방법을 찾는 과정이다. 8.1 모델 문제 모델 자체에서 비롯된 문제를 해결해서 모델의 성능을 향상하는 방법을 크게 둘로 나눠 설명한다. 첫 번째는 학습할 때는 잘 동작했는데 실제로 사용하니 성능이 생각보다 잘 나오지 않는 과학습(오버피팅, 과적합, 과적응) 문제를 해결하는 방안을 알아보고, 두 번째는 데이터에 적합한 모델을 효과적으로 찾는 방법에 대해 알아보자. 1) 과학습 머신러닝 시스템을 기존 데이터로 학습시킨 후 평가했을 때는 좋은 성능이 나와 학습이 잘 되었다고 판단했는데, 새로운 데이터에서는 예상대로 성능이 나오지 않는 경우의 원인은 대부분 과학습 때문이다. 과학습은 말그대로 모델이 과하게 학습 데이터..
7.1 이미지 처리의 기본 개념 1) 픽셀 디지털 이미지는 픽셀로 구성되어 있다. 픽셀은 컴퓨터 모니터에서 표시할 수 있는 가장 작은 단위이다. 픽셀은 밝기의 강도와 컬러 채널값을 가진다. 컬러 이미지는 픽셀 하나가 R(빨간색), G(녹색), B(파란색) 세 채널로 구성되고 각각 0~255의 강도를 가진다. 예를 들어 빨간색은 [255,0,0], 녹색은 [0,255,0], 파란색은 [0,0,255] 이런 식이다. 따라서 채널별로 높이 m 픽셀과 넓이 n 픽셀을 가지는 이미지를 m x n 행렬로 표현할 수 있다. 채널이 하나인 그레이스케일 이미지는 m x n x 1 행렬로, 컬러 이미지는 m x n x 3 행렬로 표현할 수 있다. 2) 필터링 기존 이미지의 픽셀값을 선형적으로 조합하여 새로운 픽셀값으로 변..
6.2 유사도 계산 유사도란 두 객체가 얼마나 유사한지 나타내는 척도이다. 두 문서 간의 유사도 평가와 협업 필터링에 자주 사용하는 자카드 계수와 코사인 유사도, 그리고 단어의 유사도 평가에 사용하는 편집 거리에 대해 알아보자. 자카드 계수와 편집 거리는 문서 안의 문자열을 그대로 사용하여 유사도를 계산할 수 있다. 코사인 유사도는 문서안의 문자열의 빈도를 사용한다. 1) 자카드 계수 : 두 집합이 공유하는 원소 수에 기반한 유사도 집합 S와 T가 있을 때, 두 집합의 자카드 계수는 두 집합의 교집합의 원소 수를 합집합의 원소 수로 나눈 값이다. |S∩T| / |S∪T| 영화 줄거리에 출현하는 단어와 전체 단어 사이에는 다음과 같은 관계가 있다. * P00 : 영화 1과 영화 2의 줄거리에 사용되지 않은..
endl은 개행문자를 출력할 뿐만 아니라 출력 버퍼를 비우는 역할까지 합니다. 그래서 출력한 뒤 화면에 바로 보이게 할 수 있는데, 그 버퍼를 비우는 작업이 매우 느립니다. 게다가 온라인 저지에서는 화면에 바로 보여지는 것은 중요하지 않고 무엇이 출력되는가가 중요하기 때문에 버퍼를 그렇게 자주 비울 필요가 없습니다. 그래서 endl을 '\n'으로 바꾸는 것만으로도 굉장한 시간 향상이 나타납니다. cin.tie(NULL)은 cin과 cout의 묶음을 풀어 줍니다. 기본적으로 cin으로 읽을 때 먼저 출력 버퍼를 비우는데, 마찬가지로 온라인 저지에서는 화면에 바로 보여지는 것이 중요하지 않습니다. 입력과 출력을 여러 번 번갈아서 반복해야 하는 경우 필수적입니다. ios_base::sync_with_stdio..
문서의 내용을 분석해서 분류하거나, 문서의 주제를 추출하거나, 문법 분석을 해서 문장 구조를 파악하거나, 고유 명사를 추출하는 등의 용도로 사용한다. 5.1 문서 분류 시스템 만들기 1) 문서 분류에 많이 사용하는 피처 ** 단어 빈도 피처 문서 내용을 완벽하게 이해하는 머신러닝 시스템은 아직 존재하지 않는다. 그래서 간단한 모델을 이용하여 약간은 부정확하지만 적당한 수준의 시스템을 만든 후 많은 문서로 학습시켜 조금씩 더 나은 좋은 결과를 만들어내는 방식이 주로 사용된다. 이러한 간단한 모델에 사용되는 피처의 예로는 단어 빈도를 들 수 있다. 이 피처는 문서에서 단어가 얼마나 자주 나오는지 측정해서 문서 내용을 파악하는 방법이다. 단어 빈도는 단어가 문서에서 얼마나 나오는지 계산한 후 문서 전체 단어 ..
4.1 군집화 데이터 특징을 이용한 그룹핑 문제에서는 특정 패턴을 정의하여 모델을 만드는 방법보다는 비슷한 데이터를 한데 모으는 방법이 더 효율적이다. 이 방법을 군집화라고 한다. 이 방법은 미리 그룹을 정의하지 않기 때문에 비지도학습에 속한다. 크게 중심 기반 군집화, 계층적 군집화, 밀도 기반 군집화로 나눌 수 있다. 군집화의 핵심 아이디어는 비슷한 데이터를 한데 묶는다는 것이다. 비슷하다는 것, 즉 유사도가 높다는 것은 데이터를 이루는 피처값이 비슷하다는 것이다. 각 피처의 총합 ∑_(i=1)^m (x_i-y_i) 가 적을수록 비슷한 사용자라고 할 수 있다. 하지만 단순히 차이를 모두 합하면 한 피처에 대해 +가 나오고, 다른 ㅏㅎㄴ 피처에 대해 -가 나오면 두 데이터 사이의 피처가 많이 다름에도 ..
- Total
- Today
- Yesterday
- 백트래킹
- 조합
- 덱
- 프로그래머스
- 자료구조
- 1182
- 수학
- 삼성청년소프트웨어아카데미
- 큐
- 백준
- 1358
- 2805
- 딕셔너리
- heapq
- 10845
- 싸피
- 브루트포스
- 1715
- 러스트
- 스택
- 10815
- 17478
- 10816
- dp
- 빌림
- 파이썬
- 11051
- 10971
- 1764
- 1759
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |