Group Study (2021-2022) 83

[머신러닝 입문 스터디] 5주차 - 트리 알고리즘

결정 트리 결정 트리는 예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘 불순도는 결정 트리가 최적의 질문을 찾기 위한 기준 사이킷런은 지니 불순도와 엔트로피 불순도를 제공 정보 이득은 부모 노드와 자식 노드의 불순도 차이를 나타내며 결정 트리 알고리즘은 정보 이득이 최대화되도록 학습함 가지치기는 결정 트리의 성장을 제한하여 훈련 세트의 과대적합을 막는 방법으로 사이킷런의 결정 트리 알고리즘은 여러 가지 가지치기 매개변수를 제공 특정 중요도는 결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정보를 나타내는 값 교차 검증과 그리드 서치 검증 세트는 하이퍼파라미터 튜닝을 위해 모델을 평가할 때, 테스트 세트를 사용하지 않기 위해 훈련 세트에서 다시 떼어낸 데이터 세트 교차 검증은 훈련..

[코딩테스트 스터디] 2주차 - 구현

CH02 구현(Implementation) 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 흔히 알고리즘 대회에서 구현 유형의 문제란? 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 구현 유형의 예시 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 실수 연산을 다루고, 특정 소수점까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 일반적으로 알고리즘 문제에서의 2차원 공간은 행렬(Matrix)의 의미 #09 문자열 압축 문제설명 더보기 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있..

[언리얼엔진입문스터디] 1주차 - Your First hour in Unreal Engine5

강의 링크 Introduction to Your First Hour in Unreal Engine 5 - Your First Hour in Unreal Engine 5 (epicgames.com) Introduction to Your First Hour in Unreal Engine 5 Creating your First Project Working with Additional Assets Building your First Level Working with Visuals Working with Blueprints Conclusion to Your First Hour in Unreal Engine 5 Introduction to Your First Hour in Unreal Engine 5 언리얼 엔진5..

[머신러닝 입문 스터디] 3주차 - 다양한 분류 알고리즘

로지스틱 회귀 로지스틱 회귀: 선형 방정식을 사용한 분류 알고리즘. 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하요 클래스 확률을 출력할 수 있다. 다중 분류: 타깃 클래스가 2개 이상인 분류 문제. 로지스틱 회귀는 다중 분류를 위해 소프트맥스 함수를 사용하여 클래스를 예측한다. 시그모이드 함수: 선형 방정식의 출력을 0과 1사이의 값으로 압축하며 이진 분류를 위해 사용한다. 소프트맥스 함수: 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만든다. 확률적 경사 하강법 확률적 경사 하강법: 훈련 세트에서 샘플을 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘. +) 미니배치 경사 하강법: 샘플을 여러 개씩 사용 +) 배치 경사 하강법: 한 번에 ..

[웹FE 심화 스터디]3주차 - CSS-in-JS/Styled Components

CSS-in-CSS CSS module css를 모듈화하여 사용하는 방식으로, css 클래스를 만들면 자동으로 고유한 class name을 만들어 scope를 지역적으로 제한한다. 모듈화된 css를 번들러로 불러오면, 아래 그림과 같이 사용자가 정의한 class name과 고유한 class name으로 이루어진 객체가 반환된다. 장점: 동일한 프로젝트 소스 안에 중복되는 css 클래스 이름이 있더라도, 새로운 이름이 입혀져 중복의 위험성이 적다. css 네이밍 규칙이 간소화된다. 단점: 한 곳에서 모든것을 작성하지 않기에 별도로 많은 css 파일을 만들어 관리해야 한다. CSS 전처리기 자신만의 특별한 구문(syntax)를 가지고 css를 생성하는 프로그램. 변수, 함수, 상속 등 일반적인 프로그래밍 개..

[코딩테스트 스터디] 1주차 - 그리디 알고리즘

그리디(Greedy), 탐욕법 현재 상황에서 지금 당장 좋은 것만 고르는 방법 기준에 따라 좋은 것을 선택하는 알고리즘 문제에서 ‘가장 큰/작은 순서대로’ 등의 기준을 제시 주로 정렬 알고리즘과 짝을 이루어 출제 문제를 풀 때 먼저 탐욕적인 해결법이 존재하는지 고려 최적의 해를 찾기 위한 정당성 검토 필요 다익스트라, 크루스칼 알고리즘 등이 속함 예제 1 - 거스름돈 문제: 거슬러 줘야 할 돈이 N원일 때 필요한 동전의 최소 개수 (거스름돈: 500/100/50/10) 풀이: 가장 큰 화폐 단위부터 돈을 거슬러주기 화폐 종류(K개)만큼 반복 수행 ⇒ O(K) 비고: 화폐 단위가 작은 단위의 배수일 때 성립 ⇒ 정당성 검토 필요 n = 1260 # 잔돈 count = 0 # 큰 단위의 화페부터 차례로 확인..

[머신러닝 입문 스터디] 2주차 - 회귀 알고리즘과 모델 규제

k-최근접 이웃 회귀 회귀는 임의의 수치를 예측하는 문제이며 타깃값도 임의의 수치가 됨 k-최근접 이웃 회귀는 k-최근접 이웃 알고리즘을 사용해 회귀 문제를 풀며 가장 가까운 이웃 샘플을 찾고 이 샘플들의 타깃값을 평균하여 예측을 함 KNeighborsRegressor는 k-최근접 이웃 회귀 모델을 만드는 사이킷런 클래스이며 n_neighbors 매개변수로 이웃의 개수를 지정하고 기본값은 5 사이킷런에 사용할 훈련 세트는 특성과 샘플로 이루어진 2차원 배열이므로 넘파이의 reshape() 메소드로 배열의 크기를 바꿈 결정계수(R²)은 대표적인 회귀 문제의 성능 측정 도구로 1에 가까울수록 좋고, 0에 가깝다면 성능이 나쁜 모델 과대적합은 모델의 훈련 세트 성능이 테스트 세트 성능보다 훨씬 높을 때 일어나..

[머신러닝 입문 스터디] 1주차 - 나의 첫 머신러닝, 데이터 다루기

인공지능과 머신러닝, 딥러닝 인공지능: 사람처럼 학습하고 추론할 수 있는 지능을 가진 시스템을 만드는 기술로, 강인공지능과 약인공지능으로 나눌 수 있다. 머신러닝: 규칙을 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야로, 대표적인 라이브러리로 사이킷런이 있다. 딥러닝: 인공 신경망이라고도 하며, 대표적인 라이브러리로 텐서플로와 파이토치가 있다. 마켓과 머신러닝 특성: 데이터를 표현하는 하나의 성질. ex) 생선의 길이, 생선의 무게 훈련: 머신러닝 알고리즘이 데이터에서 규칙을 찾는 과정. 사이킷런에서는 fit() 메서드 사용 k-최근접 이웃 알고리즘: 어떤 데이터에 대한 답을 구할 때 주위의 다른 데이터를 보고 다수를 차지하는 것을 정답으로 사용하는 알고리즘. 모델: ..

[클린코드 북리뷰 스터디] 2주차 - 주석, 형식 맞추기

4장. 주석 나쁜 코드에 주석을 달지 마라. 새로 짜라 _ 브라이언 W.. 커니핸, P.J. 플라우거 주석은 나쁜 코드를 보완하지 못한다. 코드에 주석을 추가하는 일반적인 이유는 코드의 품질이 나쁘기 때문이다. 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 주석은 코드의 변화에 따라가지 못하고, 방치된다. 코드는 컴파일되어 관리되지만, 주석은 그저 주석이기 때문에 그 자리에 방치되고 결국 의미 없는 텍스트가 되어버리게 되는 것이다. 따라서, 나쁜 코드를 주석으로 설명하려고하지 말고, 코드를 개선하는데 시간을 보내야 한다! 코드로도 의도를 표현할 수 있다! //직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if ((employee.fl..

[웹FE 심화 스터디] 2주차 - Webpack + babel

webpack이란? 여러개의 파일을 하나의 파일로 합쳐주는 모듈 번들러 webpack이 애플리케이션을 처리할때, 내부적으로는 프로젝트에 필요한 모든 모듈을 매핑하고 하나 이상의 번들을 생성하는 디펜던시 그래프를 만든다. 앤트리 포인트에서 시작하여 애플리케이션에 필요한 모든 모듈을 포함하는 디펜던시 그래프를 재귀적으로 만들고 모든 모듈을 브라우저에 의해 로드 되는 작은 수의 번들로 묶는다. Entry : 앤트리 포인트는 webpack이 내부의 디펜던시 그래프를 생성하기 위해 사용해야 하는 모듈 webpack은 앤트리 포인트가 의존하는 모든 모듈과 라이브러리를 찾아냄 // 단일 앤트리 구문 module.exports = { entry: './path/to/my/entry/file.js', }; or // 다..