전체 글 35

[AI-02] '배움'의 목표를 잡다: 비용함수와 제곱오차

이전 글에서는 기계 학습의 기본적인 개념에 대해 소개하고, 그 본질이 많은 데이터의 분포를 최소의 손실로 아우를 수 있는 최적의 '선형 회귀' 식(式, Function)을 찾는 것이며 식의 가중치(Weight)와 편향(Bias)을 보정하여 가장 적은 손실을 만들어 가는 과정을 기계의 '학습'이라고 부른다는 사실을 공부해보았다. 이 때 데이터와 학습 과정에서의 회귀 식이 그리는 어떤 가상의 선(線) 간의 거리를 비용(Cost)이라고 하는데, 즉 학습의 목표는 특정 작업의 데이터에 대해 이 비용이 가장 적은 선에 대한 식을 찾는 것으로 다시 정리할 수 있겠다. 그런데, 그렇다면 그냥 선과 점 사이의 거리(차)를 모두 구해 더한 평균을 내면 그 식의 비용을 계산할 수 있지 않을까? 위의 도식에서 X=1일때와 ..

[AI-01] 선으로 돌아가는 대수 : 선형회귀

기계학습 (Machine Learning). 첫 인상으로는 상당히 복잡해보이고 어려워보이는 개념이다. 뭔가 단어는 많이 들어봤는데, 워낙 전문적인 용어처럼 느껴져서 자세히 알아본 적이 없었던 탓이다. 그러나 기계학습, 조금 자세히 알아보니 개념 자체는 생각보다 어렵지 않다. 그럼 어떤 개념일까? "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E." 카네기 멜론 교수이자 인공지능 연구의 대가 중 한 명인 ..

[RN-03] 컴포넌트 (Component) 이해하기

이전에 소개한 바와 같이, 리액트 네이티브는 JSX라는 자바스크립트 언어 기반의 마크업이 결합된 형태의 언어를 사용한다. 이로 인해 리액트 네이티브 개발 시에는 컴포넌트 패턴(Component Pattern)으로 분류되는 디자인 패턴을 주로 사용하게 된다. 컴포넌트 패턴을 이해하기 위해 기존의 모델(Model)-뷰(View)-컨트롤러(Controller)로 대표되는 MVC 패턴과 비교하여 보자면, MVC 패턴은 데이터와 사용자 UI, 그리고 이들을 조작하는 조작부가 각기 분리되어 모듈화 됨으로써 작동하였다. 매우 거칠게 대표적으로 전통적인 웹 개발에서의 사례를 들면, DB-HTML+CSS-JS 와 같은 형태가 이에 해당한다고 할 수 있다. 반면 JS를 기반에 둔 리액트 (네이티브)는 태생적으로 뷰와 컨트..

React.Native 2024.04.22

[RN-02] JSX 이해하기

리액트는 JSX라는 언어를 사용하는데, 이는 Javascript XML의 줄임말이다. Javascript 라는 말이 들어가는 것에서 알 수 있듯이 Javascript 언어를 기반으로 하는데, 뒤에 XML(Extensible Markup Language) 이라는 말이 붙는 것에서 이것이 HTML과 같이 마크업으로 쓰이는 언어라는 것을 보여준다. import React from 'React'; import {StyleSheet, View} from 'react-native'; export default function App () { return ( ); } const styles = StyleSheet.create ({ container : { flex: 1, backgroundColor: '#fff', ..

React.Native 2024.04.19

[RN-01] 리액트 네이티브, 기본부터 알고 가자.

모든 것을 시작하기에 앞서서, 리액트 네이티브를 이해하기 위한 기본 개념을 알고 넘어가고자 한다. 리액트 네이티브는 '크로스 플랫폼' 타겟의 '스크립트 언어 기반' '모바일 어플리케이션 개발 라이브러리'이다. 이 말부터 한번 이해해보자. 1. 크로스 플랫폼 크로스 플랫폼 (Cross Platform)이란 말 그대로, '플랫폼'을 넘나드는 것을 의미한다. 당연히 여기서 말하는 플랫폼이란, 리액트 네이티브가 목표로 하는 모바일 어플리케이션 플랫폼을 의미하고 현 시점에서는 양대 모바일 플랫폼인 AndroidOS 와 iOS를 의미한다. 크로스 플랫폼은 '하이브리드 앱' 이라고도 하는데, 개발된 UI를 브릿지 (Bridge)를 통해 Android와 iOS 각각의 베이스인 네이티브 스레드(Native Thread)..

React.Native 2024.03.22
반응형