IT 프로그래밍/AI 29

가속도계 자이로스코트, IMU

가속도계 중력 가속도를 3축으로 성분을 분해하여 각 축의 크기를 표시하는 것을 가속도계라고 합니다. 움직임의 변화에 따른 가속도의 변화를 순간적으로 탐지하는 이 가속도계는 가속도를 적분하여 물체의 진행 방향으로서의 속도를 계산할 수 있습니다.  가속도계는 기울기에 따라 측정 가속도값이 변화하며 수직 하방으로 물체는 중력가속도(-g)의 힘을 받습니다. 정지된 상황에서도 중력 방향을 작용하는 힘을 계산하여 각 축의 방향으로 기울어진 각도를 계산할 수 있습니다. 물체가 정지하여 있을 경우 방향이 기울어져 있을 때 중력 방향으로 G의 힘이 작용하여 아크탄젠트 계산을 통해서 각도를 알 수 있습니다. 하지만 물체가 움직일 경우, 가속도계만으로는 가속도 값을 구분하기 어려우므로 각속도센서를 사용합니다.  자이로스코프..

자이로 가속도 센서 설명

자이로 센서회전하는 물체의 각속도를 측정하기 위한 센서물체가 회전할 때 각도가 얼마나 변했는지 측정하기 위한 것으로 자이로 센서는 X, Y, Z 축으로 회전하는 정도를 알 수 있는 것입니다. 가속도 센서가속도를 측정하는 센서x, y, z 3축으로 물체가 얼마나 빠르게 이동하는지 확인하는 센서 즉 자이로 센서는 회전 속도를, 가속도 센서는 직선 가속도를 측정하며, 두 센서 모두 x, y, z 축의 3차원의 데이터를 수집해 물체의 정확한 움직임을 파악할 수 있도록 돕는 역할을 합니다.   자이로센서자이로센서는 각속도를 측정합니다. 각속도 : 시간당 회전하는 각도 각속도를 계산하는 공식은 전체 시간동안 각속도를 적분해서 기울어진 각도를 구하는 방식입니다. 그렇기에 각속도 센서라고도 불립니다.이건 matlab을..

folium을 활용한 지도 그리기

파이썬의 생태계의 강점인 데이터와 Leaflet.js 라이브러리를 통해 매핑 강점을 토대로 제작한 것이 fodium입니다.  이번에도 colab을 통해 실행하겠습니다.!pip install folium import folium import folium을 해주고 folium.Map(location=[37.5,126])이렇게 map을 출력해줍니다. 경도와 위도로 좌표를 찾아주면 됩니다. 구글 맵에서도 쉽게 경도와 위도를 찾을 수 있습니다. 여기에 그림을 그리고 싶다 변수로 저장을 해주면 됩니다.m = folium.Map(location=[37.5,126])m.save('index.html')m = folium.Map(location=[37.5,126], zoom_start=10)m  import folium..

Bokeh를 이용한 대화형 웹 시각화

설치 및 output!pip install bokehimport numpy as npfrom bokeh.io import output_notebook, showfrom bokeh.plotting import figureoutput_notebook()해당 코드는 colab을 통해 이용했습니다. output 기능을 이용해 바로 출력할 수 있도록 해주었습니다. p = figure(width=400, height=400)show(p)이렇게 크기를 설정해줍니다. x = [0,1,2,3,4,5]y = [0,1,2,3,4,5]p.circle(x, y, size=10)show(p)이후 예시 하나로 x와 y를 잡고서 이거에 대한 p.circle을 그린 그래프를 보겠습니다.보면 (0,0)에 1번째, (1,1)에 2번째....

seaborn의 Jointplot 코드 사용

판다스 이용해 랜덤 데이터 만들기pd.DataFrame(np.random.randn(500,2))이렇게 랜덤의 데이터가 만들어졌습니다. 그럼 이 데이터를 df라고 저장을 해주겠습니다.df = pd.DataFrame(np.random.randn(500,2), columns=['1', '2'])df x = 1, y = 2인 데이터 relplot 만들기sns.relplot(x='1',y='2', data=df)이렇게 분포도를 볼 수 있습니다. 여기서 relplot 즉 관계형 그래프를 이용했지만 이번에는 합치는 것을 목표이기 때문에 jointplot을 사용해보겠습니다. Jointplot 사용sns.jointplot(x='1',y='2',data=df)이렇게 면 분포가 가운데의 종모양으로 생겼구나, 정규화하게 나..

선형 회귀 가중치 w와 비용함수 관계 시각화코드

선형 회귀 가중치 w와 비용함수 관계 시각화코드import tensorflow as tfimport matplotlib.pyplot as plt# 데이터 정의X = tf.constant([1, 2, 3], dtype=tf.float32)Y = tf.constant([1, 2, 3], dtype=tf.float32)# 학습할 변수 정의W = tf.Variable(initial_value=0.0, dtype=tf.float32)# W의 값과 코스트를 저장할 리스트W_val = []cost_val = []# W의 값을 변화시키면서 비용(cost) 계산for i in range(-30, 50): # W 값을 업데이트 W.assign(i * 0.1) # 가설 계산 hypothesis ..

Hypothesis and Cost

H(x) = Wx + b이 cost를 최소화하는 Linear Regression을 구하는 것을 목표로 잡습니다.  Simplified hypothesis 작업을 해준다면 b를 빼주고 작업을 해주면 됩니다.  이렇게 W = 1일때, cost(W)는 얼마일까요? W=1일때 cost는 (1 * 1 - 1 )^2 + (1 * 2 - 2 )^2 + (1 * 3 - 3)^2 = 은 0이 됩니다.  W가 1일때 cost(W)은 0이 되는 것을 알 수 있습니다.같은 방법으로 W가 0일 때는 cost(W) = 4.67이 나오게 됩니다.  Gradient descent algorithm경사 하강 알고리즘이라고 부르며 이는 최적화 알고리즘 중 하나로 함수의 최솟값(혹은 최댓값)을 찾기 위해 사용됩니다. 주로 머신러닝에서 모..

머신러닝의 이해

아서 사무엘의 머신러닝 정의"프로그램이 개발자가 정하지 않고 프로그램이 학습하여서 무언가를 배우는 능력을 갖는 프로그램" 머신러닝을 할 때 프로그램은 학슴을 해야합니다. 그래서 데이터가 미리 주어져야하는데요. 그 데이터가 주어지는 방식에 따라서 지도학습, 비지도학습이라고 나뉘어지게 됩니다. 지도학습정해져있는 데이터을 기반으로 학습을 하는 것 비지도학습레이블이 없는 데이터를 기반으로 기계가 스스로 학습을 하는 것   지도학습Regression시험의 성적을 예측하는 것 Binary Classification성공했느냐 실패했는댜 두가지로 나누는 것 ( 범주를 통해 나누는 것 )을 바로 분류라고 합니다. 둘 중에 하나를 고르는 것입니다.  Multi-label classification A, B, C, E, F..

머신러닝의 정의와 유형

머신러닝의 정의Artgyr Samuel(1959)명시적으로 프로그래밍하지 않아도 컴퓨터가 학습할 수 있는 능력을 부여하는 연구 분야 ex) 1950년대의 체커 게임 프로그램 머신러닝의 두 가지 유형 지도학습x - > yinput - > output label주어진 입력 x에 대해 올바른 y의 정답을 입력하고 학습 알고리즘이 결국 출력값을 합리적으로 예측하거나 추측할 수 있도록 하는 것입니다.  즉 예를들면 input이 audio라면 output이 text transcripts 라면 speech regcognition이 됩니다. 정답이 포함된 데이터로 모델을 학습시키는 방식입니다. 데이터는 입력과 출력으로 구성되어 목표는 새로운 입력 데이터에 대해 올바른 출력을 예측할 수 있도록 모델을 훈련하는 것입니다...