EurekaMoments

ロボットや自動車の自律移動に関する知識や技術、プログラミング、ソフトウェア開発について勉強したことをメモするブログ

Fundamentals of Classification by Supervised Learning ~1 dimensional input~

Table of Contents

  • Table of Contents
  • Introduction
  • Author
  • GitHub
  • Input sample data: Weight of insect
  • Target sample data: Sex of insect
  • Sample data generation
  • Policy to solve problem
  • Classification with probability
  • Maximum likelihood estimation
  • Logistic Regression
  • Cross entropy error
  • Calculating parameter by Gradient method
  • Summary of classification sequence
    • 1. Creating "Logistic regression model"
    • 2. Defining "Likelihood"
    • 3. Defining "Mean cross entropy error"
    • 4. Calculating "Partial derivative" of
    • 5. Calculating parameters by Gradient method

Introduction

This is my studying log about machine learning, supervised classification. I referred to a following book.

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版 (AI & TECHNOLOGY)

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版 (AI & TECHNOLOGY)


I extracted some important points and some related sample python codes and wrote them as memo. In particular, this article focuses on 2 class classification with 1 dimensional input.

Author

researchmap.jp

GitHub

Sample codes and any other related files are released at the following GitHub repository.
github.com

続きを読む

SLAM Beginner's Program ~Input/Output~

Table of Contents

  • Table of Contents
  • Introduction
  • Reference
  • External sensor
  • Internal sensor
  • Robot pose
  • Map
    • Metrical map
    • Topological map
    • Feature map
    • Occupancy grid map
      • Expressing change over time
      • Disadvantage of Occupancy grid map

Introduction

I studied SLAM refer to the following book. I'm introducing my studying log in dividing into multiple articles. In this article, I wrote an system configuration of SLAM sample program.

Reference

SLAM入門: ロボットの自己位置推定と地図構築の技術

SLAM入門: ロボットの自己位置推定と地図構築の技術

続きを読む

SLAM Beginner's Program ~Fundamental knowledge~

Table of contents

  • Table of contents
  • Introduction
  • Reference
  • Executable form
  • Type
  • Diagram of 2D SLAM
  • Accumulated error problem
  • Data association
  • Loop closure
  • Batch processing
  • Sequential processing

Introduction

I studied SLAM refer to the following book. I'm introducing my studying log in dividing into multiple articles. In this article, I wrote some fundamental knowledge of SLAM as memo.

Reference

SLAM入門: ロボットの自己位置推定と地図構築の技術

SLAM入門: ロボットの自己位置推定と地図構築の技術

続きを読む

How to decide required performance of Obstacle detection function

Table of content

  • Table of content
  • Introduction
  • Reference
  • Finding boundary of obstacle
    • Taking a detour
  • Detecting an obstacle in a short term
    • Case of running out into road
    • How to calculate a braking distance
      • Free running distance
      • Braking distance
      • Reference about brake
    • How to decide reaction performance
      • Distance for halving collision accident
    • Calculating relative velocity
    • Predicting obstacle behavior
    • Judging the object is obstacle or not

Introduction

Obstacle detection system needs multiple functions to detect an obstacle and escape a collision. When we develop the system, it is very important to decide that the system should have what kind of function and how performance the functions should satisfy.
In this article, I'm introducing how to consider functions and performance the obstacle detection system should satisfy.

Reference

I read the following book as a reference. This book has good exlanations about techniques of perception with LiDAR, RADAR and Camera.

トランジスタ技術 2019年 03月号

トランジスタ技術 2019年 03月号

続きを読む

What is a thing a software test professional take care?

Table of content

  • Table of content
  • Introduction
  • Test has already started as of requirement definition
  • How should we decide to write a test code or not?
  • How can we reduce test cases effectively?
  • What we should do to improve our test

Introduction

I read the following article for studying "What should we take care in testing software?" and "How can we do a good test?".

employment.en-japan.com

The content of this article is an interview with 2 engineers, Hiroyuki Sato and Shunsuke Tanioka who are working at SHIFT Inc.. This company's businesses are software quality assurance and testing.
I am writing about a thing what I studied by reading this interview.

続きを読む

How can we improve our test skills?

  • Introduction
  • Rule of system level test
  • How about our system test environment?
  • What miwa's team can get by testing as system level
  • We should make our simulator's structure simpler
  • We should correlate test cases to development history
  • Trying to test by another procedure except planned test case

Introduction

I have been studying how to do software test effectively these days. When I was searching how to improve my test skills, I found the following blog.

miwa719.hatenablog.com

This blog was written by a software tester for medical equipment, miwa.
twitter.com

As she said in this blog, all of programmer in her team is good at testing very well and the main reason is "they test their software as system level for a hour every day."
In addition, she described what the rule of her system test is and what they can learn by testing every day.
I tried thinking how my software team and I can improve our test skills by reading the above blog and wrote memo about it in this article.

続きを読む

Refactoring for Legacy software

Table of contents

  • Table of contents
  • Introduction
  • Start refactoring
  • Preparation for refactoring
  • Code review
  • Special event
  • Risk
  • Mikado Method
  • Commented out code
  • Test
  • Documentation
  • Construction of development environment
  • Keeping quality of code

Introduction

I have a lot of times to read or modify a legacy code at my company.
The code sometimes let me feel that I want to refactor because it has a bad design and is difficult for me to read.
I read the following book and studied a lot of things to refactor the legacy code.

レガシーソフトウェア改善ガイド

レガシーソフトウェア改善ガイド

In this article, I'm introducing what I studied.

続きを読む