전체 글 67

Model의 Bias(편향) & Variance(분산)

지도학습에서 학습된 Model이 내놓는 예측값의 경향을 표현하는 척도로 Bias와 Variance를 사용한다. Bias Bias(편향)은 학습된 Model의 예측값과 실제값(정답)과의 차이를 나타내는 값이다. model이 단순하면 training data를 제대로 학습하지 못하므로 Bias가 크다 (underfitting) Variance Variance(분산)은 학습된 Model의 예측값과 이 Model의 예측값 평균과의 차이를 나타내는 값이다. 즉, 예측값의 흩어진 정도를 나타낸다 (높을 수록 흩어진 모습을 보여준다) model이 복잡하면 variance가 크고 training data의 특성은 잘 반영하지만, 학습하지 않은 data에 대해서는 오류가 크다. (overfitting) 다음과 같은 분류..

stable baselines 3 사용법 기초

stable baselines3는 강화학습을 할 수 있게 해주는 툴이다.다음 공식 documents를 참고하였다.https://stable-baselines3.readthedocs.io/en/master/index.htmlInstallationubuntu를 기준으로 다음을 terminal에 입력하여 간단히 설치할 수 있다.pip install stable-baselines3Overviewstable baselines3의 코드는 크게 다음과 같이 나눌 수 있다.환경(env) 생성model 생성model 학습학습된 model 저장학습된 model 불러오기학습된 model을 이용하여 동작 실행 환경(env) 생성# gym에 있는 example 환경으로 만들기env = gym.make("CartPole-v1",..

연구/강화학습 2024.04.19

[Position Based Dynamics] 3.5. Damping

dynamic 물체의 퀄리티는 damping scheme에 의해 적절히 향상이 가능하다. 이전에는 선·각 운동량을 보존하기 위해 spring damping force를 사용했었다. 하지만, 이 논문은 새로운 방법을 제공한다. 위 overview의 (6) 단계에서 각 point들의 속도들은 (7) 단계에서 각 x들의 외력에 의한 추정값 p가 되기 전에 damp된다. damping은 다음의 과정을 거쳐서 진행된다. (1)~(5) 단계에서는 선·각 속도를 계산한다. (6)~(9) 단계에서는 각각의 devation에 대한 damping을 계산

카테고리 없음 2024.04.15

[Position Based Dynamics] 3.4. Collision Detection and Response

PBD의 장점은 collision에 대한 응답이 쉽다는 것이다. 충돌 처리는 크게 두 단계에서 진행된다.(5)에서 외력을 적용할 때 기본적인 충돌을 처리한다. 이때, 기본적인 충돌을 미리 처리하는 이유는 계산 효율성, 안정성, 즉시 충돌 대응 등에서 이점을 가지기 때문이다. (8)에서 충돌에 대한 좀 더 정교한 처리를 constraint를 통해 처리한다.   (8)에서 처리하는 충돌에 대한 constraint들은 충돌이 감지되면 만들어진다. 이때 M_coll개의 constraint가 생성되는데, 이 개수는 매 step에서 얼마나 많은 정점이 충돌하는지에 따라 다르다. 이 논문은 static object와 dynamics 물체 사이에 일어나는 continuous, static 충돌과 d..

[Position Based Dynamics] 3.3. Constraint Projection (2)

이전글 [Position Based Dynamics] 3.3. Constraint Projection (1)에서 설명한 constraint projection 식을 다음과 같은 예제에 적용하여 particle의 position을 update하는 방법을 설명하려고 한다. 예제의 조건들은 다음과 같다. 이 예제는 distance constraint 하나만 고려한다. point는 p1, p2 두 개만 고려한다. 일반적인 상황으로, 두 point의 mass가 다르다. constraint function 식은 다음과 같다 (p1, p2 사이의 거리가 d를 만족하도록 함) 이때, ∇C은 p1,p2 각각에 대해서 다음과 같다. 이는 두 point를 잇는 단위 벡터이다. 또한, mass가 다르므로 weighting을 ..

[Position Based Dynamics] 3.3. Constraint Projection (3)

type handling type handling은 constraint type 두 경우에 대해서 다음과 같이 한다 type이 equality : 항상 projection 진행 type이 inequality : C(p1, p2, ... , pn) < 0 에만 projection 진행 ※ constraint type equality : constraint function이 0을 만족해야 함 inequality : constraint function이 0보다 크거나 같아야 함 stiffness parameter k handling 물체의 stiffness k 는 k ∈ [0 ... 1] 을 만족한다. 가장 쉬운 방법은 앞서 구한 Δp에 k를 곱하여 인위적으로 projection을 만족하지 않게 하는 것으로 ..

Logistic Regression 코드 구현

Logistic Regression이 무엇인지 안다고 가정하고 진행한다. 이 Logistic Regression을 구현하기 위해서는 다음의 단계를 거친다. training data set 구하기 parameter W, b initialize하기 (이때, parameter 크기도 정함) sigmoid 함수 정의하기 for문을 돌면서 gradient decent 진행하기 (원래와 다르게 일정 횟수 진행) W와 X 행렬곱하고 b를 더하여 Z 행렬 구하기 Z 행렬에 sigmoid 함수를 적용한 A값 구하기 (A가 예측값인 y^ 행렬) A-Y를 통해 dZ 구하기 dZ를 이용하여 dW, db 구하기 구한 dW, db를 기존 w,b에 적용하여 gradient decent를 통해 W,b update 충분히 gradie..