最低限の道具を揃え、ソフトを使ってみる【自分で作るAI 第2回】
2023/06/13連載の目次
- 第1回 機械学習のキモ「非線形解析」を理解する
- 第2回 最低限の道具を揃え、ソフトを使ってみる
- 第3回 言語データからの問題分析を試みる
- 第4回 できることを整理し、業務変革の戦略を立てる
大きな投資なしでもAIを使うことができる
人工知能(AI:Artificial Intelligence)を身近なパーソナルコンピュータ(PC:Personal Computer)で作って使うことはできるでしょうか。
一般的にPCは、大量のデータを繰り返し計算することを主な役割とする機械です。解析能力、つまり解析量と解析速度を上げるには、多くの人を乗せてそこそこのスピードで走る大型バスのような「グラフィックス・プロセッシング・ユニット」(GPU:Graphics Processing Unit)と呼ばれる演算装置が有効といわれています。けれども、私の経験からすると、最近のPCであれば十分に対応可能です。ただし、外部からソフトやデータをダウンロードするので、社内ネットワークセキュリティにはご注意ください。
AI搭載機器も売られており、ディスプレイなどの周辺機器を含めなければ、数千円から1万円程度で購入できます。また、Linux搭載のPCだと数万円で購入できます。技量が進歩すれば、さらに安価なモノのインターネット(IoT:Internet of Things)対応機器を使い、仕事現場からのビッグデータをAI解析するシステムを構築することもできます。そこまできれば仕事のしかたは劇的に変化することでしょう。
AIのソフトウエアは、ソニーのNNC(Neural Network Console)と、Pythonソフトウェア財団のPythonがおすすめです。
NNCの操作方法については、YouTubeで例題をもとに丁寧に説明されています。ニューロンから構成されるニューラルネットワークを構築するアフィン、シグモイド、正規化出力などを1層とする複数層のアルゴリズム設定が必要です。
Pythonについては、最新版のPython3ですでにAIに使用する関数やソフトがネット上に豊富に出ています。また、表作成やグラフ化などのビジュアル機能がとても優れています。反面、応用が効きすぎて使い方が煩雑という難点はあります。Pythonの基本言語は「C++言語」に近く、この言語に精通することが理想ですが、1年で習得するのは難しいといえます。そこで、Python3が含まれている「Anaconda3」というソフトウェアを使うと、Pythonの利用が容易となります。ぜひ、インストールしてみてください。
回帰問題Python3で解析する
ではここから、ソフトウェアを使っての解析の事例にお付き合いください。ここではまず、入力データから数値の予測を行う「回帰問題」とよばれる問題に取り組みます。例題として、住宅価格の予測を取り上げます。

表1:例題:因子データから住宅価格を予測。実際は605行あるが、一部を抜粋した
(出所:rromanss23 / Machine_Leaning_Engineer_Udacity_NanoDegree)
表1では、右端列に住宅価格、またその左13列にはその要因の一部を示しています1)。

図1:非線形解析。実住宅価格(縦軸)とその予測(横軸)
図1のとおりPythonに非線形なAI学習をさせました。説明は省略しますが、そのAI手法はGBDT(Gradient Boosting Decision Tree)を用いました。その結果、表1の実際の住宅価格と予測価格(規格化データ)はかなりの精度で一致していることがわかります。図中の青丸は学習用に用いたデータからの結果、またオレンジ色は検証用のデータです。検証ではデータ精度がある程度保持されていることがわかります。
図2に、従来の線形解析手法を示します。図2より図1のほうが精度が高いことを示しています。

図2:線形解析。実住宅価格(縦軸)とその予測(横軸)
前述したように、これらのAIプログラムは無料でネット上から入手できるため、実際にやってみることをお勧めします。
領域分割の基本は予測と実際の誤差の最小化
次に、領域分割について見ていきます。第1回「機械学習のキモ『非線形解析』を理解する」の図3を再掲します。

図3:領域分割。第1回の図3を再掲
「クラス」とよばれる各形・色のデータ群4種とその各点の座標との関係を学習し、その群と群の中間を線で分割する方法を「領域分割」といいます。平面をどのように分割することができるかを解く問題は、「領域分割問題」と呼ばれ、サポートベクターマシン(SVM:Support Vector Machine)という機械学習モデルで、この問題を解きます。
領域分割の基本は、予測の群と実際の群の誤差を最小化するというものです。上の「回帰問題」で見たような、個々の住宅価格の数値の誤差を最小化するといった方法と考え方は同じです。
次回は第3回「言語データからの問題分析を試みる」の予定です。
参考資料
1)UCI Machine Learning Repository
http://archive.ics.uci.edu/ml/index.php
2)ボストン市郊外の地域別住宅価格
https://archive.ics.uci.edu/ml/machine-learning-databases/housing/
3)oreilly-japan / deep-learning-from-scratch-2
https://github.com/oreilly-japan/deep-learning-from-scratch-2
松田 宏康(Hiroyasu Matsuda)/SCE・Net
合同会社設備技術研究所代表社員。1956年生まれ。前身の三井東圧化学時代を含め、三井化学で主に設備管理に従事。とりわけ、腐食防食関連の知識を生かして、化学環境と設備の劣化に対する現場解析および改良を行ってきた。現在は、設備劣化のモニタリングやAIを用いて解析技術の発展に貢献したいと考えている。
