skinOptions.hljs
[머신러닝] 서포트 벡터 머신 (SVM) 개념 & 구현 / 파이썬 Python
·
공부정리/Deep learnig & Machine learning
1. 서포트 벡터 머신(Support Vector Machine) 서포트 벡터 머신은 분류, 회귀에 모두 사용할 수 있는 매우 강력한 모델로서, 특히 복잡한 분류 문제, 작거나 중간 크기의 데이터셋에 적합하다. 1,2,3번 중 어느 직선이 가장 두 집단을 잘 분류했다고 할 수 있을까? 그리고 잘 분류했다는것은 어떤 의미일까? 여기서 서포트 벡터 머신의 개념이 나온다. 서포트 벡터 머신은 여러 집단들을 가장 잘 구분할 수 있는 최적의 선을 찾는것이 목표이다. 오른쪽 그림의 3개의 직선 중에서는 1번 직선이 두 집단을 가장 잘 분류한 최적의 직선이라고 할 수 있다. 2. 서포트 벡터 머신(Support Vector Machine)에서의 최적의 직선 그렇다면 왜 1번 직선이 최적의 직선이라고 할 수 있을까? ..
[Data Science from Scratch] Chapter 16. LogisticRegression
·
공부정리/Data Science
참고 서적 도서명: Data Science from Scratch (밑바닥부터 시작하는 데이터 과학) 저자 : Joel Grus 출판 : 프로그래밍 인사이트 Ch 16. Logistic Regression Logistic Regression 다음과 같이 독립변수가 p개인 다중 선형 회귀 식이 있다. 선형 회귀는 종속변수 y가 연속형이며, 아파트 가격을 예측 하는 것이 하나의 예시가 될 수 있을 것이다. 선형 회귀는 독립변수 x와 종속변수 y의 관계가 선형이라고 가정하고, 이를 가장 잘 설명하는 회귀계수들을 데이터로부터 추정하는 모델이다. 선형 회귀의 그래프를 그려보면 아래와 같다. 하지만, 종속변수 y가 범주형 변수라면, 어떻게 될까? 타이타닉 데이터를 예로 들었을 때, 왼쪽그림과 같은 경우 0 = 사망..
[Data Science from Scratch] Chapter 15. Multiple Regression
·
공부정리/Data Science
보호되어 있는 글입니다.
[Data Science from Scratch] Chapter 14. Simple LinearRegression
·
공부정리/Data Science
보호되어 있는 글입니다.
문제 / 합이 같은 부분집합(DFS) / Python 파이썬
·
coding test - python/기본기 문제
문제 제목: 합이 같은 부분집합(DFS) N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. ▣ 입력설명 첫 번째 줄에 자연수 N(1 total // 2: return 모범답안 def DFS(L,sum): if sum > total // 2: return..
[핵심 머신러닝] 정규화모델 1(Regularization 개념, Ridge Regression)
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상: https://www.youtube.com/watch?v=pJCcGK5omhE [핵심 머신러닝] 정규화모델 1(Regularization 개념, Ridge Regression) 좋은 모델이란? 현재 데이터(training data)를 잘 설명하는 모델 Explanatory modeling 미래 데이터(testing data)에 대한 예측 성능이 좋은 모델 Predictive modeling 현재 데이터(training data)를 잘 설명하는 모델 = traing error를 minimize 하는 모델 MSE(traning) = (Y-Y^)^2 기본적인 ..
[핵심 머신러닝] SVM 모델 2 (Soft Margin SVM, Nonlinear SVM, Kernel)
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상: https://www.youtube.com/watch?v=ltjhyLkHMls&list=PLpIPLT0Pf7IoTxTCi2MEQ94MZnHaxrP0j&index=19 Linearly Nonseparable Case (soft Margin SVM) 선형으로 분리할 수 없는 경우 linear SVM -> hard margin svm 어떠한 식으로 해도 2차원 공간에서 파란색과 초록색을 트레인 에러가 0이되도록 만들 수 있는 직선이 없는 경우 -> 비선형 지난 시간 리뷰 마진을 최대화 시키는 하이퍼파라미터를 찾는 것이 목표였음 선형 SVM과 다른 점 정규화는 ..
[핵심 머신러닝] SVM 모델 1 (Margin, Hard Margin Linear SVM)
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상: https://www.youtube.com/watch?v=qFg8cDnqYCI [핵심 머신러닝] SVM 모델 1 (Margin, Hard Margin Linear SVM) 고차원 데이터 분류문제에 좋은 성류를 보임 2차원 방정식 문제로 프로그래밍 한다. training data에 대해서 성능이 좋아야함 trade-off 가 있음 SVM 은 성능을 최대화 할 수 있고 탄탄하당 ^__^ 기본적으로 분류 문제를 다룰 것이다. 그 중 2Class (이진)문제를 다루어보자.. 이 둘을 나누는 것을 하이퍼 플레인이라고 한다. 우리의 목적 w와 b를 찾는 것 그럼 어..
Programmers / 3 x n 타일링 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 3 x n 타일링 (2단계) - DP 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 가로 길이가 2이고 세로의 길이가 1인 직사각형 모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 3이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경..
Programmers / 땅따먹기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 땅따먹기 (2단계) - DP 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없..
Programmers / 2 x n 타일링 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 2 x n 타일링 (2단계) - DP 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경..
Programmers / 타겟 넘버 (DFS) / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 타겟 넘버 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 (오답...) def solution(numbers, target): answer = 0 n = len(numbers) ch = [0]*n # v가 나타내는게 def DFS(v,n): global answer # 전역변수로 사용 if v == n: tmp = 0 for i in range(1, n):..