반응형

SW 2011

앱플랫폼 : 코틀린의 장점과 자바의 단점

자바는 오류가 발생하기 쉽다Java의 가장 큰 결함 중 하나는 "널 (null)"을 처리하는 방식이며, NPE (NulPointerException) (일반적으로 The Billion Dollar Mistake)로 이어집니다. 그것을 10 억 달러의 실수라고 부릅니다. 이것은 1965 년에 null 참조의 발명이었습니다. 이로 인해 수많은 오류, 취약점 및 시스템 충돌이 발생하여 지난 40 년 동안 수십억 달러의 고통과 피해를 초래했을 것입니다. — 찰스 안토니 리차드 호 아어 오늘날 NPE는 Android 앱에서 가장 일반적인 충돌 원인 중 하나입니다. 사실, 하나의 NullPointerException 없이 프로덕션에 앱을 만드는 것은 거의 불가능합니다. 그리고 "무효성"은 Android에서 훨씬 더..

SW/앱플랫폼 2019.08.27

파이썬 : 프로그래머스 : 완주하지 못한 선수 : 풀이

풀이 def solution(participant, completion): participant.sort() completion.sort() for i in range(len(completion)): if participant[i] != completion[i]: return participant[i] return participant[-1] 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.04ms, 10.8MB) 테스트 3 〉 통과 (0.24ms, 10.9MB) 테스트 4 〉 통과 (0.50ms, 11MB) 테스트 5 〉 통과 (0.47ms, 11MB) 효율성 테스트 테스트 1 〉 통과 (36.75ms, 87.5MB) 테스트 2 〉 통과 (64.52m..

SW/알고리즘 2019.08.25

파이썬 : 프로그래머스 : 예산 : 풀이

풀이 def solution(d, budget): answer = 0 d.sort() for dVal in d: budget = budget - dVal answer += 1 if budget = 0: return answer else: return answer -1 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.6MB) 테스트 2 〉 통과 (0.04ms, 10.6MB) 테스트 3 〉 통과 (0.03ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.03ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.6MB) 테스트 8 〉 통과 (0.05..

SW/알고리즘 2019.08.24

인공지능 : Software Agent : 개념, 개요, 분석

소프트웨어 에이전트에이전트”에 대한 공식적인 정의 [Wooldridge, 2002]는 다음과 같습니다. 에이전트는 일부 환경에 위치한 컴퓨터 시스템입니다. 설계를 충족시키기 위해 환경에서 자율적인 작업 가능합니다. 목표• 주요 속성– 자율성 : 독립적으로 행동 할 수 있으며, 통제력을 보여줍니다- 내부 상태와 행동– 상황 • 살 곳 : 일부 환경에서 • 지각 능력 : 환경을 지각하는 능력 • 이펙터 기능 : 환경을 수정하는 기능– 지속성 : 살아있는 한 계속 작동합니다. • 적응 : 상담원은 환경과 사용자에 적응 경험– 기계 학습, 지식 발견, 데이터 마이닝 등을 통해– 메타 데이터 교환, 중개 및 촉진을 통해– 인터페이스 에이전트는 사용자 모델을 획득하고 사용합니다.– 환경에 위치하고 있습니다. • 협..

SW/인공지능 2019.08.24

c++ : istreambuf_iterator와 istream_iterator의 차이점

istream_iterator 와 istreambuf_iteratorstd::istream_iterator는 형식화된 추출을 위한 반복자입니다. 예를 들어, 파일 안 내용에 정수가 있고 컨테이너에 복사하려면 std::istream_iterator를 사용하면 int에서 추출한 값을 내부적으로 컨테이너에 복사합니다. (연산자 >>() 사용) std::copy(std::istream_iterator(file), std::istream_iterator(), std::back_inserter (some_container)); std::istreambuf_iterator는 형식화되지 않은 추출을 위한 반복자입니다. 생성자를 통해 제공된 std::streambuf 객체에서 직접 작동합니다. 따라서 파일 형식에 대해 ..

SW/C++ 2019.08.23

앱 플랫폼 : 코틀린 : 개념, 장점, 추천 이유

Android 개발에 Kotlin을 사용해야하는 이유 Java가 Android 개발에 가장 널리 사용되는 언어이지만 이것이 항상 최선의 선택임을 의미하지는 않습니다. Java는 오래되고 장황하며 오류가 발생하기 쉬우며 현대화하는 데 시간이 오래 걸렸습니다. 코틀린은 가치있는 대안입니다. OpenJDK 개발자는 Java 8과의 격차를 해소하기 시작했지만 Android는 Java 8의 모든 기능을 사용하지 못합니다. 개발자는 여전히 오래된 Java 7 및 6 세계에 갇혀 있기 때문에, 가까운 장래에 크게 개선되지는 않습니다. Kotlin의 강점은 바로 여기에 있습니다. JVM (Java Virtual Machine)을 기반으로 하는 비교적 새로운이 오픈 소스 언어는 Android 소프트웨어 엔지니어에게 큰 ..

SW/앱플랫폼 2019.08.23

인공지능 : Agent : 개념, 개요, 뜻

에이전트는 무엇입니까? - “에이전트는 센서를 통해 환경을 인식하고 이펙터를 통해 해당 환경에 작용하는 것으로 볼 수있는 모든 것입니다.” - "자율 에이전트는 복잡한 동적 환경에 거주하고이 환경에서 자율적으로 감지 및 행동하는 컴퓨팅 시스템이며, 이를 통해 일련의 목표나 작업을 실현할 수 있습니다." - "자율 에이전트는 환경에 감지되고 환경을 감지하고 시간이 지남에 따라 자체 안건을 추구하고 미래에 감지되는 영향을 미치기 위해 환경에 작용하는 시스템입니다." - "자율성, 사회적 능력, 반응성, 능동성이라는 속성을 즐기는 하드웨어 또는 소프트웨어 기반 컴퓨터 시스템" - “지능형 에이전트는 세 가지 기능을 지속적으로 수행합니다. 환경의 동적 조건에 대한 인식; 환경 조건에 영향을 미치는 행동; 지각을..

SW/인공지능 2019.08.22

파이썬 : 프로그래머스 : 전화번호목록 : 풀이

풀이 def solution(phone_book): phone_book.sort() for i in range(len(phone_book) - 1): if phone_book[i] in phone_book[i+1]: return False return True 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.8MB) 테스트 2 〉 통과 (0.04ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.06ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.04ms, 10.7MB) 테스트 9 〉 통과 (0...

SW/알고리즘 2019.08.21

인공지능 : Intelligent Agents : 개념, 속성, 문제

지능형 에이전트지능형 에이전트는 설계 목표를 달성하기 위해 유연한 자율 작업을 수행 할 수있는 에이전트입니다. 즉 에이전트와 유연성을 둘 다 가지고 있다고 생각하면 좋습니다. 유연성에 대한 속성– 반응성 : 에이전트는 환경을 인식하고 디자인 목표를 충족시키기 위해 환경 변화에 적시에 대응할 수 있습니다.– 사전 대응성 : 지능형 에이전트는 설계 목표를 충족시키기 위해 이니셔티브를 취함으로써 목표 지향적 행동을 보일 수 있습니다.– 사회적 능력 : 지능형 에이전트는 설계 목표를 충족시키기 위해 다른 에이전트 (및 가능한 사람)와 상호 작용할 수 있습니다. 공개 연구 문제– 순전히 반응성은 구현이 쉽다.– 반응하는 것 자체는 어려운 것은 아닙니다– 그러나 유연성 사이의 균형을 잡을 수 있는 에이전트 디자인은..

SW/인공지능 2019.08.20

인공지능 : 활성화 함수, 원핫인코딩, 소프트맥스, 멀티클래스 : 개념, 원리

Activation 함수뉴런의 상호 작용을 담당합니다. 이러한 중요한 역할을 하는 Activation 함수들의 종류도 다양한 데 어떠한 것을 선택해야 할까요? 우선 주목해야 할 것은 비선형성입니다. 현실의 데이터는 n차원 비선형 분포로 존재합니다. 따라서 활성화 함수는 신경망에서 비선형 분포를 반영할 수 있도록 하는 역할을 담당합니다. 무엇이 좋은 activation 함수일까요? 이전에는 시그모이드 함수를 사용해왔습니다. 하지만 시그모이드 함수는 문제점이 존재하였고, 대책으로 좋은 RELU 활성화 함수가 제안되었습니다. One Hot EncodingN개의 Class를 가진 데이터의 Y Target 값을 설정할 때 One Hot Encoding을 사용합니다. N 사이즈의 배열에서 0, 1을 사용하여 해당하..

SW/인공지능 2019.08.19

인공지능 : Binary Classification : 개요, 개념, 원리

Binary Classification Output Y (Target 출력)딥 러닝에서는 그룹이라는 용어를 사용하지 않고 Class 용어를 사용합니다. 분류 출력은 입력이 어떤 Class에 속할지에 대한 확률을 의미합니다. 신경망은 확률을 0~1로 표현합니다. 바이너라 분류의 경우 Y 타겟을 0, 1로 표현합니다. X (입력)신경망에서 보통 하나의 입력은 하나 이상 여러가지 특징을 가지고 있습니다. 하나의 특징을 지칭할 떄 Feature라는 용어를 사용합니다. 신경망 입력은 n개의 feature 정보를 가진 입력을 n 사이즈의 배열로 입력받을 수 있습니다. 선형 함수는 다항의 1차 함수입니다. Sigmoid Function어떤 입력을 받아도 0 ~ 1 사이에서 값을 얻을 수 있습니다. 분류를 할때는 확률..

SW/인공지능 2019.08.18

인공지능 : 손실 함수, 최적화, 백프로파게이션 : 개념, 개요

Error Function, Cost Function, Loss Function이 세 함수는 다 같은 것을 의미합니다. 신경망 모델이 피드포워드 계산한 값과 실제 타겟 값을 비교하는 데 사용되는 함수입니다. 다양한 손실 함수들이 존재하며, 데이터 성격에 맞는 함수를 사용합니다. 대표적으로는 MSE (mean square error), categorical cross-entropy를 많이 사용합니다. MSE (mean square error)평균 제곱근 편차를 의미합니다. Optimizer신경망에서 1차 함수에 w, b를 어떻게 업데이트 시킬 것인지에 사용되는 알고리즘을 의미합니다. 다양한 최적화 메소드가 존재합니다. Gradient descent가 대표적입니다. Back Propagation아웃풋 값의 ..

SW/인공지능 2019.08.17

인공지능 : Perceptron, Feed Foward : 개념 원리

딥 뉴럴 네트워크프로그램 인공 신경은 인풋, 히든, 아웃풋 레이어로 이루어져 있습니다. 퍼셉트론도 역시 유사합니다. 하지만 히든 레이어 부분이 활성화 함수와 선형 함수가 포함되어있습니다. Supervised 학습은 이 input과 output을 입력하여 신경망을 학습시키는 구조입니다. 인풋 값을 히든 레이어에서 처리한 값이 아웃풋과 같아질 수 있도록 학습을 하는 방식입니다. Regression해당 학습을 통해 만약 x 값이 입력되면 y 값이 무엇이 될지에 대해 학습을 하고자하는 것이다. 따라서 여러개의 인풋이 들어가면 각각 선형 함수와 활성화 함수를 통해 아웃풋이 나오게 됩니다. Classification새로운 점은 어떠한 그룹인지 구별을 하는 것을 의미합니다. 여러 점의 포인트 값을 주고 해당하는 그룹..

SW/인공지능 2019.08.16

인공지능 : Batch Normalization : 개념, 원리, 개요

신경망에서의 배치 정규화배치 정규화를 간단한 방법으로 설명합니다. Fast.ai와 deeplearning.ai에서 배운 내용을 읽은 후, 기사를 번역하였습니다. 필요한 이유, 작동 방식, VGG와 같은 사전 훈련된 네트워크에 포함시키는 방법부터 시작하겠습니다. 배치 정규화를 사용하는 이유는 무엇입니까?활성화를 조정하여 입력 레이어를 정규화합니다. 예를 들어 0에서 1까지, 1에서 1000까지의 기능이 있으면 학습 속도를 높이기 위해 정규화해야합니다. 입력 레이어가 이익을 얻는다면, 항상 변경되는 숨겨진 레이어의 값에 대해서도 동일한 작업을 수행하고 훈련 속도를 10 배 이상 향상 시키십시오. 배치 정규화는 숨겨진 단위 값이 이동하는 양 (공분산 이동)에 따라 양을 줄입니다. 공분산 변화를 설명하기 위해 ..

SW/인공지능 2019.08.15

인공지능 : ensemble : 개념, 활용 방법, 성능

딥 네트워크의 앙상블 모델의 앙상블은 여러 통계 모델의 예측을 결합하여 하나의 최종 예측을 형성하는 방법을 나타냅니다. 이것은 모델의 표현력의 다양성에 대한 기회를 열어줍니다. 이 개념은 여러 의사의 의견을 구하는 것과 같은 일화와 유사합니다. 모델의 앙상블은 의사 결정 트리를 임의의 포리스트로 업그레이드하는 것과 같이 기존의 머신 러닝 모델을 매우 일반적으로 향상시킵니다. 머신 러닝 모델과 달리 딥 모델은 학습하는 데 시간이 오래 걸리므로 처음부터 학습한 딥 모델의 앙상블을 형성하는 것은 실용적이지 않습니다. FMoW는 특정 작업에 사용되는 데이터 세트이며 Hydra의 바디는 ResNet 및 DenseNet 설계에 따라 조립 된 많은 신경망 레이어로 구성됩니다. Hydra의 각 헤드는 FMoW 데이터 ..

SW/인공지능 2019.08.14

인공지능 : ReLU(Rectified Linear Unit) : 개념, 원리, 개요

소개ReLU(Rectified Linear Unit)는 딥 러닝 모델에서 가장 일반적으로 사용되는 활성화 함수입니다. 이 함수는 음의 입력을 받으면 0을 반환하지만 양수 x의 경우 해당 값을 다시 반환합니다. 따라서 f (x) = max (0, x)로 쓸 수 있습니다. 그래픽적으로는 다음과 같습니다 이러한 간단한 함수(두 개의 선형 부분으로 구성된 함수)가 모델이 비선형과 상호 작용을 잘 설명 할 수 있다는 것은 놀라운 일입니다. 그러나 ReLU 기능은 대부분의 응용 프로그램에서 훌륭하게 작동하며 결과적으로 매우 널리 사용됩니다. 작동하는 이유 인터랙션 및 비선형성 소개활성화 기능은 두 가지 주요 목적으로 사용됩니다. 1) 모델이 인터랙션 효과를 설명하도록 도와줍니다.인터랙션 효과는 무엇입니까? B의 가..

SW/인공지능 2019.08.13

인공지능 : agent와 taxonomy : 분류법

분류법은 유기체의 명명, 묘사 및 분류 과학이며 세계의 모든 식물, 동물 및 미생물을 포함합니다. 분류 학자들은 형태 학적, 행동적, 유전적, 생화학적 관찰을 사용하여 과학에 새로운 것들을 포함하여 종을 분류하고 분류합니다. 분류법은 생물학적 다양성에 관한 협약의 관리 및 이행을 뒷받침하는 기본 지식을 제공하는 생물학적 다양성의 구성 요소를 식별하고 열거합니다. 불행하게도 분류학 지식은 완전하지 않습니다. 지난 250 년간의 연구에서 분류 학자들은 약 1,78 백만 종의 동물, 식물 및 미생물을 명명했지만, 총 종 수는 알려져 있지 않으며 아마도 5 천에서 3 천만 사이 일 것입니다. 종의 이름을 지정하는 방법 : 분류 과정분류 학자들은 종을 대표한다고 생각되는 세트를 분리하기 위해 표본을 분류하는 것으..

SW/인공지능 2019.08.12

인공지능 : Agents vs Objects : 개념, 분석, 차이

에이전트와 개체에이전트는 다른 이름으로 객체라 할 수 있을까요? 개체란 어떤 상태를 캡슐화하고, 메시지 전달을 통해 의사소통을 합니다. 또한, 특정 상태에서 수행될 수 있는 작업과 방법이 존재합니다. 에이전트와 개체의 주요한 차이점은 무엇일까요? 에이전트는 자율적입니다. 에이전트는보다 자율성 개념을 구현합니다. 특히 에이전트는 수행할지 여부를 스스로 결정합니다. 다른 에이전트의 요청에 따른 조치를 취할 줄 압니다. 에이전트은 영리합니다 : 유연한 (사후, 능동적, 사회적) 행동이 가능합니다. 표준 객체 모델은 이러한 유형의 행동에 대해 아무 반응도 하지 않습니다. 에이전트가 활성 상태인 경우 : 다중 에이전트 시스템은 본질적으로 다중 스레드입니다. 각 에이전트는 하나 이상의 활성 제어 스레드를 가지고 있..

SW/인공지능 2019.08.11

인공지능 : Agents vs Expert Systems : 차이, 개념, 분석

에이전트와 전문가 시스템에이전트는 다른 이름의 전문가 시스템이 아닐까요? 전문가 시스템은 일반적으로 일부에 대해 '전문 지식'을 구현한 것입니다. 예를 들어 MYCIN은 인간의 혈액 질환에 대해 알고 있습니다. 규칙의 형태로 혈액 질환에 대한 풍부한 지식을 가지고 있습니다. 의사는 MYCIN 사실을 알려 혈액 질환에 대한 전문가의 조언을 얻을 수 있습니다. 질문에 대답하고 질문을 제기에이전트와 주요 차이점에 대해 알아보겠습니다. – 에이전트 : MYCIN은 세계를 인식하지 못합니다.사용자는 단지 질문을 통해 정보를 얻는 것입니다. – 에이전트 행동 : MYCIN은 환자에게 작동하지 않습니다.일부 실시간 (일반적으로 프로세스 제어) 전문가 시스템은 에이전트입니다.

SW/인공지능 2019.08.10
반응형