[PYTHON] Machine learning starting from 0 for theoretical physics students # 1

table of contents ―― 1. Current situation ―― 2. About programming languages ―― 3. From now on

1. Current situation

This Qiita is for science students who aim to become IT engineers in the future ・ What you can understand even if you start from 0 ・ Visualization of the output of one's study It is a memorandum that I started for. (I'm a chick who doesn't have much knowledge. I'd be grateful if you could give me any corrections or advice.

Background

Mechanical engineering → Theoretical physics → IT engineer (future) Science student with a background

Programming proficiency (as of June 2020)

C language → Basic information processing, no development experience python → Can do basic information processing, has no development experience

Development environment

MacOS -10.13.6 python -2.7.16 (Mac initial equipment) python -3.8.0

2. About programming languages

Typical programming language

System / Application: Java, C, Ruby, PHP Web design system: JavaScript, PHP, HTML Artificial intelligence: Python Note * Simple classification. There are areas where each can be applied.

Characteristics of each language (just examined)

Java: A class-based object-oriented (object: a complex of data and code) general-purpose programming language. Similar to C language. One of the most popular programming languages used in web applications.

C: General-purpose programming language. Strict restrictions on the operating environment. Derivative sources such as C ++ and Java. Used in systems and applications.

Javascript: A prototype-based object-oriented scripting language. Used for designing websites and Wen apps. Used in many web browsers. Note * A language different from Java.

Ruby: An object-oriented scripting language developed by Japanese Yukihiro Matsumoto. Python is the competing language after Perl. Used in web applications, homepage creation, etc. Easy-to-understand code and Japanese development make it easy to obtain information in Japanese.

PHP: Has characteristics as a programming language and processing system. The language is close to C and Java. You can create dynamic web pages on the server side. It can be used in apps, but it is often used in websites.

HTML: A markup language for creating web pages. Most web pages are made in HTML.

Python: A general purpose code that is simple and easy to learn. It has abundant libraries, is easy to apply to various areas (you can use a block of programs created by others), and has abundant compatible operating environments (hardware, OS). Used in artificial intelligence and machine learning.

What language to learn

** World demand ** --Apps: Ruby, Java --Web system: JavaScript, PHP --Artificial intelligence: Python

Is mainstream?

** Simple and easy to learn ** -Script language: Since the source coat can be executed as it is, the results can be seen immediately and learning is easy. ex) Python, JavaScript, Ruby, PHP

-Compiler language: You need to compile the source code to execute it. ex) C, Java

** Application works ** -Python → A rich library (a package that summarizes functions for a certain purpose) and has a wide range of applications. ex) App, artificial intelligence, statistical / data analysis, IoT development Note * A collection of multiple functions → Module A collection of modules → Package A collection of packages → Library Library = A collection of a large number of programs that can do something.

・ JavaScript → Web front engineer required. It is used for the part related to the user's behavior on the browser.

・ Ruby → Used for application development. The library Ruby on Rails is often used. Since it was developed by the Japanese, you can firmly learn the concept of a programming language called object-oriented in Japanese.

3. From now on

** Purpose of learning **

  1. Get in touch with various languages and know what can be achieved. (To decide what area to become an engineer) × Occupation selection with purpose ○ Occupation selection with skill

  2. Application to research activities Application of artificial intelligence technology to physics

** Types of engineers and required languages (as much as memo writing) ** --AI (artificial intelligence) engineer: Python --Application engineer (business): Java, C --Application engineer (web application system): Java, C, Ruby, PHP --Application engineer (smartphone system): Swift (iPhone), Java (Android) --Front-end engineer: JavaScript, HTML --Server-side engineer: Ruby, PHP, Python, Java

** Language to learn **

Learning Python and running machine learning for research for a while. After that, I want to study Ruby and Java by myself and gain development experience.

References

-[Slurry Understanding Python](https://www.amazon.co.jp/ Slurry Understanding Python-Iwasaki-Kei / dp / 4798151092/ref = sr_1_1? __mk_ja_JP = Katakana & dchild = 1 & keywords = Smooth python & qid = 15191248379 & sr = 8-1 ) --wikipedia (for each language)

Recommended Posts

Machine learning starting from 0 for theoretical physics students # 1
Machine learning starting from 0 for theoretical physics students # 2
Machine learning starting from scratch (machine learning learned with Kaggle)
Python learning memo for machine learning by Chainer from Chapter 2
Study method for learning machine learning from scratch (March 2020 version)
Data set for machine learning
Japanese preprocessing for machine learning
[Machine learning] Understanding uncorrelatedness from mathematics
<For beginners> python library <For machine learning>
Machine learning meeting information for HRTech
[Recommended tagging for machine learning # 4] Machine learning script ...?
Newton's method for machine learning (from one variable to multiple variables)
Amplify images for machine learning with python
Non-information graduate students studied machine learning from scratch # 3: MNIST Handwritten digit recognition
"Python AI programming" starting from 0 for windows
First Steps for Machine Learning (AI) Beginners
Use machine learning APIs A3RT from Python
An introduction to OpenCV for machine learning
Why Python is chosen for machine learning
"Usable" one-hot Encoding method for machine learning
Machine learning
[Shakyo] Encounter with Python for machine learning
[Python] Web application design for machine learning
An introduction to Python for machine learning
Creating a development environment for machine learning
Feature engineering for machine learning starting with the 4th Google Colaboratory --Interaction features
An introduction to machine learning for bot developers
Machine learning starting with Python Personal memorandum Part2
Machine learning starting with Python Personal memorandum Part1
Upgrade the Azure Machine Learning SDK for Python
Notes on machine learning (updated from time to time)
Machine learning algorithms (from two-class classification to multi-class classification)
[Note] Python, when starting machine learning / deep learning [Links]
[Python] Collect images with Icrawler for machine learning [1000 images]
Overview of machine learning techniques learned from scikit-learn
Collect images for machine learning (Bing Search API)
[For beginners] Introduction to vectorization in machine learning
[CodeIQ] I wrote the probability distribution of dice (from CodeIQ math course for machine learning [probability distribution])
[Python] Save PDF from Google Colaboratory to Google Drive! -Let's collect data for machine learning-
[Memo] Machine learning
Machine learning classification
Machine Learning sample
Image collection Python script for creating datasets for machine learning
[Recommended tagging for machine learning # 2] Extension of scraping script
[Recommended tagging for machine learning # 2.5] Modification of scraping script
Machine learning python code summary (updated from time to time)
[Machine learning] Understanding SVM from both scikit-learn and mathematics
Non-information graduate student studied machine learning from scratch # 1: Perceptron
Python learning memo for machine learning by Chainer Chapters 1 and 2
Installation of TensorFlow, a machine learning library from Google
Preparing to start "Python machine learning programming" (for macOS)
[Python] I made a classifier for irises [Machine learning]
Pip the machine learning library from one end (Ubuntu)
14 e-mail newsletters useful for gathering information on machine learning
Memo for building a machine learning environment using Python
xgboost: A valid machine learning model for table data
Create a machine learning environment from scratch with Winsows 10
An introduction to machine learning from a simple perceptron
Everything for beginners to be able to do machine learning
I built an environment for machine learning from scratch (windows10 + Anaconda + VSCode + Tensorflow + GPU version)