<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jingni__.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Sun, 14 Apr 2024 08:30:23 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jingni__.log</title>
            <url>https://velog.velcdn.com/images/jingni__/profile/6f4c1a39-e7d9-46b9-91da-cfa1fc5cd0b6/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jingni__.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jingni__" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[What is Neo4j]]></title>
            <link>https://velog.io/@jingni__/What-is-Neo4j</link>
            <guid>https://velog.io/@jingni__/What-is-Neo4j</guid>
            <pubDate>Sun, 14 Apr 2024 08:30:23 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jingni__/post/d4d1491d-97d4-4d00-8b6b-02823707dfbc/image.png" alt=""></p>
<h2 id="introduction">Introduction</h2>
<p><strong>GDBMS</strong>(Graph Database Management System)의 한 종류</p>
<ol>
<li>노드(Node)와 노드 사이의 관계(Relationship)로 데이터를 표현하며, 각 노드는 속성(Properties)을 가질 수 있다.</li>
<li><strong>Cypher</strong> 라는 그래프 쿼리 언어를 제공하여 그래프 데이터를 질의, 조작하는 데 사용된다. 또한 트랜잭션을 지원하며, 확장 가능한 아키텍처를 통해 대규모 데이터 세트를 처리할 수 있다.</li>
</ol>
<p>이러한 특징들로 관계형 데이터베이스보다 더 복잡한 연결성을 가진 데이터를 다루는 데 적합하며, 실시간 네트워크 및 그래프 분석에 유용하다.</p>
<h3 id="그래프의-구조">그래프의 구조</h3>
<p>Neo4j 는 속성 그래프 데이터베이스 모델을 사용한다.
<img src="https://velog.velcdn.com/images/jingni__/post/36f8a6b6-a03a-4b84-a342-32698fc71588/image.png" alt=""></p>
<p>구조는 관계로 연결될 수 있는 노드로 구성된다. 위의 그림에는 세 개의 노드(원)와 세 개의 관계(화살표)가 표시되어 있다.</p>
<h2 id="example-graph">Example graph</h2>
<p><img src="https://velog.velcdn.com/images/jingni__/post/037631b0-b900-4535-b6ae-54641a8f1c59/image.png" alt=""></p>
<pre><code>CREATE (:Person:Actor {name: &#39;Tom Hanks&#39;, born: 1956})-[:ACTED_IN {roles: [&#39;Forrest&#39;]}]-&gt;(:Movie {title: &#39;Forrest Gump&#39;, released: 1994})&lt;-[:DIRECTED]-(:Person {name: &#39;Robert Zemeckis&#39;, born: 1951})</code></pre><p>그래프의 구성 요소에는 크게 Node 와 Relationship 가 있으며, 추가적인 정보를 위해 Property(key-value 쌍)를 가질 수 있다, 또한 Label 을 통해 Node 를 그룹핑 할 수 있다.</p>
<h3 id="node노드">Node(노드)</h3>
<p>Database 에서 구조적으로 의미있는 단일 개체를 나타낸다.
고유한 식별자(ID)를 가지며, 라벨(Label)로 그룹화된다. 라벨은 노드 유형을 나타낸다.</p>
<p>Cypher 쿼리에서 (n:노드명)으로 표현한다.</p>
<p>ex) Label: 사용자 / Node: 이름, 나이</p>
<pre><code>CREATE (:Name:User {birth:2001, nationality: South Korea})</code></pre><h3 id="relationship관계">Relationship(관계)</h3>
<p>노드 간의 연결을 정의하는 데 사용된다. 또한 방향성을 가질 수 있다.</p>
<p>Cypher 쿼리에서 [r:관계명]으로 표현한다.</p>
<p>ex)
    - 사용자(Node) -&gt; 구매(Relationship) &lt;- 제품(Node)
    - 양방향: 친구 / 단방향: 팔로우</p>
<pre><code>CREATE (:User)-[:PURCHASE]-&gt;(:Product)</code></pre><h3 id="property속성">Property(속성)</h3>
<p>노드와 관계에 대한 추가적인 정보 제공
데이터를 세부적으로 설명하고 쿼리하는데 유용한 key-value 쌍이다.</p>
<p>int, float, string, boolean 의 다양한 데이터 타입으로 표현이 가능하며, list를 사용하기도 한다.</p>
<p>ex)
    - Relationship: 구매 / Property: 구매 날짜, 수량
    - Node: 이름 / Property: 생년월일, 국적</p>
<pre><code>CREATE (:Example {f: [1, 2, 3], g: [2.71, 3.14], h: [&#39;abc&#39;, &#39;example&#39;], i: [true, true, false]})</code></pre><h2 id="naming-conventions">Naming conventions</h2>
<p>대소문자를 구분한다. ( <strong>U</strong>ser is not <strong>u</strong>ser )</p>
<h3 id="node-label">Node label</h3>
<ul>
<li>대문자로 시작하는 Camel case
Upper Camel case : VehicleOwner</li>
</ul>
<h3 id="relationship">Relationship</h3>
<ul>
<li>대문자, 단어 간 밑줄 사용
Upper case, underscore : OWNS_VEHICLE</li>
</ul>
<h3 id="property">Property</h3>
<ul>
<li>소문자로 시작하는 Camel case
Lower camel case: firstName</li>
</ul>
<p>참고
<a href="https://neo4j.com/docs/getting-started/appendix/graphdb-concepts/">https://neo4j.com/docs/getting-started/appendix/graphdb-concepts/</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Mac 단축키 모음]]></title>
            <link>https://velog.io/@jingni__/Mac-keyboard-shortcuts</link>
            <guid>https://velog.io/@jingni__/Mac-keyboard-shortcuts</guid>
            <pubDate>Sun, 07 Apr 2024 08:02:04 GMT</pubDate>
            <description><![CDATA[<p>작업을 할 때, 단축키를 더하면 마우스를 움직이는 것보다 훨씬 편리하고 빠르게 동작을 수행할 수 있다. 활용도를 높이기 위해 현재 사용하는 Mac의 단축키를 정리해 보려고 한다.</p>
<h2 id="macbook-키보드-기호">MacBook 키보드 기호</h2>
<ul>
<li>Command(⌘): 단축키에 사용되는 가장 기본적인 키</li>
<li>제어(^): 시스템 수준 명령에 자주 사용되는 키</li>
<li>옵션(⌥): 흔히 키보드에서 Alt를 담당하는 키</li>
<li>Shift(⇧): 흔히 키보드에서 대문자를 쓸 때 사용하는 Shift 키의 Mac 버전</li>
<li>기능(fn): 일반 키보드에서 맨 윗줄 키(F1~F12)의 보조 기능에 사용되는 키</li>
</ul>
<h2 id="맥북-단축키">맥북 단축키</h2>
<blockquote>
<p>Windows의 Ctrl = Mac의 Command
Windows의 Alt = Mac의 Option</p>
</blockquote>
<h3 id="텍스트">텍스트</h3>
<table>
<thead>
<tr>
<th align="center">기능</th>
<th align="center">단축키</th>
</tr>
</thead>
<tbody><tr>
<td align="center">선택한 항목 복사</td>
<td align="center">⌘ + C</td>
</tr>
<tr>
<td align="center">선택한 항목 붙여넣기</td>
<td align="center">⌘ + V</td>
</tr>
<tr>
<td align="center">전체선택</td>
<td align="center">⌘ + A</td>
</tr>
<tr>
<td align="center">실행취소</td>
<td align="center">⌘ + Z</td>
</tr>
<tr>
<td align="center">문서에서 특정 단어 찾기</td>
<td align="center">⌘ + F</td>
</tr>
<tr>
<td align="center">잘라내기</td>
<td align="center">⌘ + X</td>
</tr>
<tr>
<td align="center">해당 방향의 끝 부분으로 이동</td>
<td align="center">⌘ + 방향키</td>
</tr>
<tr>
<td align="center">한영 전환</td>
<td align="center">control + spacebar</td>
</tr>
<tr>
<td align="center">이모지 뷰어 표시</td>
<td align="center">control + ⌘ + spacebar</td>
</tr>
<tr>
<td align="center">텍스트 확대/축소</td>
<td align="center">⌘ + (+,-)</td>
</tr>
<tr>
<td align="center">선택한 텍스트 <strong>볼드체</strong> on/off</td>
<td align="center">⌘ + B</td>
</tr>
<tr>
<td align="center">선택한 텍스트 <em>이탤릭체</em> on/off</td>
<td align="center">⌘ + I</td>
</tr>
<tr>
<td align="center">웹링크 추가</td>
<td align="center">command + K</td>
</tr>
<tr>
<td align="center">커서 기준 오른쪽 텍스트 삭제(Delete)</td>
<td align="center">fn + backspace</td>
</tr>
</tbody></table>
<h3 id="화면">화면</h3>
<table>
<thead>
<tr>
<th align="center">기능</th>
<th align="center">단축키</th>
</tr>
</thead>
<tbody><tr>
<td align="center">현재 화면 가리기</td>
<td align="center">⌘ + H</td>
</tr>
<tr>
<td align="center">현재 창 닫기</td>
<td align="center">⌘ + W</td>
</tr>
<tr>
<td align="center">현재 응용 프로그램 닫기</td>
<td align="center">⌘ + Q</td>
</tr>
<tr>
<td align="center">실행중인 앱 목록</td>
<td align="center">⌘ + tab</td>
</tr>
<tr>
<td align="center">현재 문서 저장</td>
<td align="center">⌘ + S</td>
</tr>
<tr>
<td align="center">현재 화면 프린트</td>
<td align="center">⌘ + P</td>
</tr>
<tr>
<td align="center">현재 앱의 환경설정</td>
<td align="center">⌘ + ,</td>
</tr>
<tr>
<td align="center">새로운 창 열기</td>
<td align="center">⌘ + N</td>
</tr>
<tr>
<td align="center">새 탭 열기</td>
<td align="center">⌘ + T</td>
</tr>
<tr>
<td align="center">해당하는 번호의 탭으로 이동</td>
<td align="center">⌘ + 숫자</td>
</tr>
<tr>
<td align="center">화면 확대/축소</td>
<td align="center">⌘ + (+,-)</td>
</tr>
<tr>
<td align="center">전체 화면</td>
<td align="center">⌘ + control + F</td>
</tr>
<tr>
<td align="center">Spotlight 검색창</td>
<td align="center">⌘ + space</td>
</tr>
<tr>
<td align="center">화면 잠금</td>
<td align="center">⌘ + control + Q</td>
</tr>
</tbody></table>
<h3 id="finder파인더-단축키">Finder(파인더) 단축키</h3>
<table>
<thead>
<tr>
<th align="center">기능</th>
<th align="center">단축키</th>
</tr>
</thead>
<tbody><tr>
<td align="center">선택한 파일 열기</td>
<td align="center">⌘ + o</td>
</tr>
<tr>
<td align="center">파일 삭제</td>
<td align="center">⌘ + backspace</td>
</tr>
<tr>
<td align="center">휴지통 비우기</td>
<td align="center">⌘ + shift + backspace</td>
</tr>
<tr>
<td align="center">새폴더 만들기</td>
<td align="center">⌘ + shift + n</td>
</tr>
<tr>
<td align="center">정보 가져오기</td>
<td align="center">⌘ + i</td>
</tr>
<tr>
<td align="center">파일 속성 보기</td>
<td align="center">⌘ + option + i</td>
</tr>
</tbody></table>
<h3 id="화면-스크린샷-단축키">화면 스크린샷 단축키</h3>
<table>
<thead>
<tr>
<th align="center">기능</th>
<th align="center">단축키</th>
</tr>
</thead>
<tbody><tr>
<td align="center">전체화면(바탕화면 .png)</td>
<td align="center">⌘ + shift + 3</td>
</tr>
<tr>
<td align="center">전체화면(클립보드)</td>
<td align="center">⌘ + control + shift + 3</td>
</tr>
<tr>
<td align="center">선택영역(바탕화면 .png)</td>
<td align="center">⌘ + shift + 4</td>
</tr>
<tr>
<td align="center">선택영역(클립보드)</td>
<td align="center">⌘ + control + shift + 4</td>
</tr>
<tr>
<td align="center">선택창</td>
<td align="center">⌘ + shift + 4 + spacebar</td>
</tr>
<tr>
<td align="center">화면 녹화 및 캡쳐</td>
<td align="center">⌘ + shift + 5</td>
</tr>
</tbody></table>
<p>정리를 하다보니 처음 접하는 유용한 단축 키를 많이 알게 되었다. 앞으로 작업하며 단축키를 생활화하여 맥북의 활용도를 높혀야겠다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[분류(Classification) & 회귀(Regression)]]></title>
            <link>https://velog.io/@jingni__/Classification-Regression</link>
            <guid>https://velog.io/@jingni__/Classification-Regression</guid>
            <pubDate>Sat, 30 Mar 2024 08:29:13 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jingni__/post/f8f64ab6-ed9d-4245-a8fd-f874800a6764/image.png" alt=""></p>
<h1 id="머신러닝">머신러닝</h1>
<p>지도 학습의 양대산맥인 분류(Classification)와 회귀(Regression)에 대해 이야기 해보려고 한다.</p>
<h2 id="지도-학습">지도 학습</h2>
<blockquote>
<p>머신러닝 알고리즘은 크게 지도 학습(supervised learning)과 비지도 학습(unsupervised learning), 강화 학습(Reinforcement learning)으로 나눌 수 있다.</p>
</blockquote>
<p>지도 학습은 <strong>데이터(입력)</strong>와 <strong>정답(타깃)</strong>을 가지고 모델이 정답을 맞힐 수 있도록 훈련하는 것인데, 훈련을 위해서는 입력 값과 타깃 값이 반드시 필요하다.</p>
<p>회귀(Regression)와 분류(Classification)는 데이터의 타입이 numerical(연속형)이냐, categorical(범주형)이냐에 따라 달라진다.
또한 종속변수와 독립변수가 사용되는데 개념을 설명하자면,</p>
<ul>
<li>독립 변수: 다른 변수에 영향을 미치는 변수</li>
<li>종속 변수: 다른 변수들에 영향을 받는 변수</li>
</ul>
<p>아래의 예시를 통해 이해해보자!</p>
<h2 id="classification-분류">Classification (분류)</h2>
<blockquote>
<p>입력 데이터를 미리 정의된 여러 개의 클래스(class) 중 하나로 분류하는 것</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jingni__/post/3adbfa4d-ed45-4079-9416-fb33569bc9de/image.png" alt=""></p>
<p> 문자를 스팸으로 구분하는 것을 예시로 들 수 있다. 여러 가지 메일과 발송 기관 등을 샘플로 훈련하여 스팸메일인지 아닌지를 분류할 수 있도록 훈련되어야 한다.</p>
<ul>
<li>독립변수: 메일 발신일, 발송 기관</li>
<li>종속변수: 스팸 메일 여부</li>
<li>훈련 데이터: 메일 구분</li>
</ul>
<p>스팸 메일 분류, 손글씨 숫자 인식, 질병 진단 등 주어진 입력 데이터를 이산적인 카테고리(범주형)로 분류하기 위해 사용된다.</p>
<h3 id="분류-알고리즘">분류 알고리즘</h3>
<ul>
<li>로지스틱 회귀(Logistic Regression)</li>
<li>나이브 베이즈(Naive Bayes)</li>
<li>결정 트리(Decision Tree)</li>
<li>서포트 벡터 머신(Support Vector Machine)</li>
<li>K-최소 근접(K-Nearest Neighbor) 알고리즘</li>
<li>심층 신경망(Deep Neural Network)</li>
<li>앙상블 학습(Ensemble Learning)</li>
</ul>
<h2 id="regression-회귀">Regression (회귀)</h2>
<blockquote>
<p>입력 데이터와 연속적인 출력 변수 간의 관계를 모델링하는 것</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jingni__/post/552dce78-d0bd-449c-a437-e959f144ffad/image.png" alt=""></p>
<p>특성을 사용하여 타깃의 수치를 예측하는 방법이다.</p>
<p>학생들의 나이에 따른 키의 기록을 예로 들 수 있다.</p>
<ul>
<li>독립변수: 나이</li>
<li>종속변수: 키</li>
<li>훈련 데이터: 학생들의 나이에 따른 키 기록</li>
</ul>
<p>학생들의 키 예측, 주택 가격 예측, 판매량 예측, 온도 예측 등 연속적인 값을 예측하는 경우에 회귀를 사용한다. </p>
<h3 id="회귀-알고리즘">회귀 알고리즘</h3>
<ul>
<li>단순 선형 회귀(Simple Linear Regression)</li>
<li>경사 하강법(Gradient Descent)</li>
<li>다항 회귀(Polynomial Regression)</li>
<li>규제 모델(Regularization)<ul>
<li>릿지 회귀(Ridege Regression)</li>
<li>라쏘 회귀(Lasso Regression)</li>
<li>엘라스틱넷 회귀(Elastic Net Regression)</li>
</ul>
</li>
<li>회귀 트리(Regression Tree)</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>