반응형

전체 글 152

[재료역학] 좌굴(Buckling)과 오일러 임계하중

지금까지 재료역학 카테고리에서는 응력, 처짐, 충격하중처럼 부재가 "얼마나 많은 힘을 견디는가"를 다루는 강도(strength) 문제를 주로 다뤘습니다. 이번 포스팅에서는 조금 다른 성격의 문제, 압축부재의 안정성(stability) 문제인 좌굴(Buckling)에 대해 알아보겠습니다.좌굴이란?가늘고 긴 기둥에 압축하중을 가하면, 재료의 항복강도에 도달하기 한참 전인데도 갑자기 옆으로 휘어지면서 무너지는 현상이 발생할 수 있습니다. 이를 좌굴(buckling)이라고 합니다.핵심은 이것이 강도의 문제가 아니라 안정성의 문제라는 점입니다. 같은 단면적, 같은 재료라도 기둥이 짧고 굵으면 좌굴보다 재료 자체의 압축 파손이 먼저 일어나고, 기둥이 길고 가늘면 재료 강도와 무관하게 좌굴이 먼저 일어납니다. 자, ..

[머신러닝] 확률적 경사하강법(SGD)과 Adam Optimizer

[머신러닝] 확률적 경사하강법(SGD)과 Adam Optimizer지난 포스팅에서는 Gradient Descent의 기본 개념과 동작 알고리즘에 대해 알아보았습니다.[머신러닝] Gradient Descent (with Python)이번 포스팅에서는 실제 딥러닝 모델 학습에서 훨씬 더 많이 쓰이는 Stochastic Gradient Descent(SGD)와, 오늘날 가장 널리 쓰이는 옵티마이저인 Adam에 대해 알아보겠습니다.Batch Gradient Descent 복습지난 포스팅에서 다룬 Gradient Descent는 매 스텝마다 전체 데이터셋에 대한 기울기를 계산하여 파라미터를 업데이트합니다.$$\theta = \theta - \eta \nabla J(\theta)$$이 방식은 매 스텝의 방향이 정확..

[머신러닝] Gradient Descent (with Python)

이번 포스팅에서는 최적화 문제에서 널리 쓰이는 방법 중 하나인 Gradient Descent에 대해 알아봅시다.  Gradient Descent?Gradient Descent는 머신러닝과 최적화 문제에서 널리 사용되는 방법 중 하나로, 주어진 함수의 최소값을 찾기 위해 사용됩니다.  이 방법은 이름 그대로 cost function의 기울기가 낮은 방향으로 반복적으로 이동하며 최소값을 찾아가는 방법입니다. 기본적으로 최소화하고자 하는 목적 함수(cost function) $J(\theta)$와 입력변수 $\theta$, 그리고 목적함수의 기울기인 $\triangledown J(\theta)$를 필요로 합니다.   동작 알고리즘Gradient Descent의 동작 알고리즘은 아래와 같이 이루어집니다. 1. ..

[동역학] 오일러 각(Euler Angle)을 Python으로 구현해보기

이번 포스팅에서는 오일러 각(Euler Angle)을 Python으로 구현해보겠습니다.  오일러 각(Euler Angle) 기본기본적인 내용은 아래 글에서 다룬 바 있습니다. 2020.11.19 - [공학/동역학] - [동역학] 오일러 각(Euler angle) [동역학] 오일러 각(Euler angle)이번 포스팅에서는 오일러 각에 대해 알아보도록 합시다. 오일러 각(Euler angle) 오일러 각은 흔히 오일러 앵글이라고들 많이 부르는데, 3차원 공간에서 강체가 놓인 자세를 표현하기 위해 나타내study2give.tistory.com 다시 한번 간단하게 설명하자면, 3차원 공간에서 강체가 놓인 자세를 표현하기 위해 나타내는 3개의 각도를 말하며, 3차원 공간에서는 각 축방향으로 회전하는 순서에 따라..

공학/동역학 2024.07.23

[공학일반] Resampling

이번 포스팅에서는 Resampling의 개념과 예시에 대해 알아보겠습니다.  Resampling이란?Resampling은 원본 dataset의 sample을 다시 생성하는 것을 말하며, 주로 시계열 데이터에서 시간 간격을 재조정하기 위해 사용됩니다.   Resampling의 유형Resampling은 크게 두가지로 나눌 수 있는데요. 1. DownSampling   데이터의 빈도를 낮추는 방법을 말합니다.   예를 들어 초단위 데이터를 분단위로 변환한다거나,   0.01초 간격의 데이터를 0.1초 간격으로 변환하는 등의 방법이 있습니다. 2. UpSampling   이름에서 알 수 있듯이 위 방법과는 반대로 데이터의 빈도를 높이는 방법입니다.  위 두 방법에 대해 예시로 알아보겠습니다.   DownSamp..

공학/일반 2024.06.20

[Python] str.split() 메서드

이번 포스팅에서는 str class에 있는 split()이라는 문자열 분리 메서드에 대해 알아보겠습니다. str.split() split() 메서드는 str class에서 사용할 수 있는 함수입니다. 호출 시 str.split() 혹은 str class로 생성된 instance.split()로 사용할 수 있습니다. 사용하게 되면 split() 메서드는 대상 문자열을 분리하여 list 형태로 반환합니다. 예를 들어 x = str.split('Hello python') print(x) 의 실행 결과는 아래와 같습니다. 'Hello python'이라는 str을 띄어쓰기를 기준으로 분리하여 item 2개짜리 list로 반환하였습니다. 위와 같이 class로 호출하는 방법 외에 instance로도 호출할 수 있는..

[Python] print() 함수

이번 포스팅에서는 화면에 문자열 혹은 숫자를 출력하는 print 함수에 대해 알아보겠습니다. print()에 대하여 먼저 print 함수가 어떻게 정의되는지 python docs에 나와있는 내용을 살펴봅시다. 주어진 객체(object)를 출력하며, sep, end, file, flush 등이 있다면 무조건 키워드로 입력하여야한다고 설명되어 있네요. sep는 구분자를 말하며, 입력하지 않을 시 기본값은 ' '으로 스페이스바와 같습니다. end는 주어진 객체를 print한 후 입력되는 문자이며, 기본값은 \n으로 enter와 같습니다. print() 를 활용하여 문자열 & 숫자 출력하기 파이썬에서 화면에 문자열 혹은 숫자를 출력하기 위해서는 print() 함수를 사용하면 됩니다. 예를 들어, print("안..

[머신러닝] 얀센의 부등식(Jansen's inequality)

이번 포스팅에서는 얀센의 부등식에 대해 알아보겠습니다. (출처: 선형대수와 통계학으로 배우는 머신러닝 with 파이썬, 장철원 지음) 얀센의 부등식(Jansen's inequality) 얀센의 부등식은 기댓값의 convex 함수와 convex 함수의 기댓값 사이에 성립하는 부등식입니다. 얀센의 부등식은 아래와 같이 나타냅니다. $$f(wx_1+(1-w)x_2) \leq wf(x_1)+(1-w)f(x_2)$$ 앞서 언급했던 함수 $f$가 컨벡스(convex)할 조건과 같습니다. 이를 좀 더 일반화한다면 아래와 같이 나타낼 수 있습니다. $$f(w_1x_1+...+w_kx_k) \leq w_1f(x_1)+...+w_kf(x_k)$$ 여기서 $x_1, ... x_k$는 함수 $f$의 정의역이며, $w_1, ...

[머신러닝] 컨벡스 함수(convex function)

이번 포스팅에서는 컨벡스 함수(convex function)에 대해 알아보겠습니다. (출처: 선형대수와 통계학으로 배우는 머신러닝 with 파이썬, 장철원 지음) 컨벡스 함수란? 컨벡스 함수란 만약 함수 $f$의 정의역이 컨벡스 셋(convex set)이고, 모든 데이터 포인트 $x_1, x_2, 0\le w \le 1$에 대하여 $$f(wx_1 + (1-w)x_2) \le wf(x_1)+(1-w)f(x_2) \tag{1}$$ 를 만족하는 함수 $f$를 컨벡스 함수라고 합니다. 해석하면 두 점 $(x_1,f(x_1))$, $(x_2,f(x_2))$ 사이의 선분이 함수 $f$의 그래프보다 위에 있어야 한다는 의미입니다. 위 부등식을 그림으로 표현하면 아래와 같습니다. 만약 식 (1)에서 등호가 없다면 st..

[머신러닝] 손실함수(loss function) (2) - 엔트로피(Entropy)

이번 포스팅에서는 entropy에 대해 알아보겠습니다. (출처: 선형대수와 통계학으로 배우는 머신러닝 with 파이썬, 장철원 지음) 엔트로피(Entropy) entropy는 정보이론에서 불확실성의 척도로 사용합니다. (저는 사실 entropy는 열역학할 때만 쓰는 개념인 줄 알았습니다.) 확률변수 $x$의 entropy는 아래와 같이 정의합니다. Entropy $$H(x) = -\sum_{i=1}^n P(x_i)\log P(x_i)$$ entropy가 높다는 것은 정보가 많고 확률이 낮다는 것을 의미합니다. entropy는 하나의 분포를 대상으로 하는 반면, cross entropy는 두 분포를 대상으로 합니다. Cross Entropy $$H_{p,q}(x) = -\sum_{i=1}^n P(x_i)\..

반응형