분류 전체보기

https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 브루트 포스를 이용하면 간단하다. n = 2000 이고 for 반복문을 두 번 돌면 O(n^2) 이니 시간초과는 걱정하지 않아도 된다. 그냥 x 와 y 를 -999 부터 999 까지 돌리자. import java.io.*; import java.util.StringTokenizer; publi..
1. 리지 회귀 (Ridge Regression) 리지 (Ridge) 도 회귀를 위한 선형 모델이므로 최소적합법에서 사용한 것과 같은 예측 함수를 사용합니다. 하지만 리지 회귀에서의 가중치 (w) 선택은 훈련 데이터를 잘 예측하기 위해서 뿐만 아니라 추가 제약 조건을 만족시키기 위한 목적도 있습니다. (* 앞서 말한 과소적합과 과대적합 사이를 세밀하게 조정할 수 있을듯) 가중치의 절댓값을 가능한 한 작게 만드는 것입니다. 다시 말해서 w의 모든 원소가 0에 가깝게 되길 원합니다. 직관적으로 생각하면 이는 모든 특성이 출력에 주는 영향을 최소한으로 만듭니다(* 기울기를 작게 만듭니다). 이런 제약을 규제(Regularization) 라고 합니다. 규제란 과대적합이 되지 않도록 모델을 강제로 제한한다는 의미..
1. K-NN Regression k-최근접 이웃 알고리즘은 회귀 분석에도 쓰입니다. mglearn.plots.plot_knn_regression(n_neighbors = 1) 을 통해 그림으로 확인 할 수 있고, n_neighbors 의 값을 바꿔서도 확인할 수 있습니다. 여러개의 최근접 이웃을 사용할 땐 이웃 간의 평균이 예측값이 됩니다. 회귀를 위한 k-최근접 이웃 알고리즘은 KNeighborsRegression 에 구현되어 있고, 사용법은 비슷합니다. from sklearn.neighbors import KNeighborsRegressor X, y = mglearn.datasets.make_wave(n_samples=40) # 데이터 받기 # wave 데이터셋을 훈련 세트와 테스트 세트로 나눕니다..
1. 분류와 회귀 머신러닝(Machine Learning) 은 크게 두 종류로 나타낼 수 있습니다. 분류(Classification) 회귀(Regression) 분류 (Classification) 는 미리 정의된 가능성 있는 여러 클래스 레이블 중 하나를 예측하는 것입니다. 분류는 딱 두 개의 클래스로 분류하는 이진 분류와 셋 이상의 클래스로 분류하는 다중 분류로 나뉩니다. 이메일에서 스팸을 분류하는 것이 이진 분류 문제의 한 예입니다. 회귀 (Regression) 는 연속적인 숫자 또는 프로그래밍 용어로 말하면 부동소수점 (Floating Point) 수를 예측하는 것입니다. 어떤 사람의 교육 수준, 나이, 주거지를 바탕으로 연간 소득을 예측하는 것이 회귀 문제의 한 예입니다. 출력값이 연속성이 있는지..
https://www.acmicpc.net/problem/10101 10101번: 삼각형 외우기 문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다. www.acmicpc.net 간단하다. 세 각을 받아준다음 세 각의 관계를 조건문으로 분기하여 결과를 출력해주면 된다. 이때 중요한점은 세 각이 모두 같은 경우를 먼저 분기해주고, 두 각이 같은 경우를 따져야한다는 점이다. 만약 두 각이 같은 경우를 먼저 분기한다면, 세 각이 같은 경우는 모두 두 각이 같은 경우에도 속하기 때문에, 결국 모두 두 각이 같은 경우에 들어가게된다. 조건문의 분기지점이 중요한 문제였다. import java.io.*; public class Main { public sta..
https://www.acmicpc.net/problem/9063 9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 간단하다. 각 점들의 좌표를 받고, 각 점들 중 가장 작은 x 좌표값과 가장 큰 x 좌표값의 차이가 임씨가 받을 수 있는 대지의 가로 너비이다. 마찬가지로 각 점들 중 가장 작은 y 좌표값과 가장 큰 y 좌표값의 차이가 대지의 세로 너비이다. 그렇다면, 대지의 면적을 계산하기 위해서 좌표를 받는동안 x 좌표와 y 좌표의 최대와 최소를 찾으면 된다. 그 후, 가로 너비와 세로 너비를..
https://www.acmicpc.net/problem/15894 15894번: 수학은 체육과목 입니다 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서 www.acmicpc.net 형석이가 말한대로 이 문제에는 어떤 수학적인 트릭이 숨어있을것이다. n = 1 일 때, 결과는 4이다. n = 2 일 때, 결과는 8이다. ... 이렇게 일일히 하면 성원이와 다를게 뭔가. 문제를 분석해보자. n = k 일 때의 결과 값을 x 라고 해보자, n = k+1 일 때의 결과 값은 무엇일까? n이 k 에서 k+1 로 증가하면서 어떤 변화가 있었는지 알아보자. 증가되는 요인 (+)..
https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net -1 이 나오면 무한 루프를 빠져 나올 수 있게 설정한다. 모든 수의 약수는 1을 포함하니 sum = 1 로 먼저 초기화 해주고, for 문은 2부터 num 까지 반복한다. 만약, 약수를 찾았다면 sum 에 더해주고, StringBuilder 에 append 해준다. (마지막에 출력할 때, 약수들을 다시 불러와야 한다. 완전수임을 찾은 다음에 다시 약수들을 각각 구하는 것보다는 약수를 찾을..
건대다니는 컴공생
'분류 전체보기' 카테고리의 글 목록 (19 Page)