Blog

【機械学習の練習】Scikit で台湾株価指数のトレンドを学ぶ(1)- 機械学習入門

機械学習は統計分析の手法の一つです。ざっくり言うと、機械学習で扱える問題は、分類(classification)、回帰(regression)、クラスタリング(clustering)、ルール抽出(Rule Extraction)の4つに大別できます。

Scikit で台湾株価指数のトレンドを学ぶ

ご安心ください!今回は口先だけの話ではありません。Ctrl + C みたいなネタはもう出てきませんよ。

カンマ区切りの数値データが並ぶ画面のクローズアップ。機械学習で分析する前の表形式の入力データ。

‍

機械学習は統計分析の手法の一つです。基本的な考え方は、大量のデータを渡して、結果を出してもらうというものです。

その結果は、求める答えそのもの(例:左に曲がるか右に曲がるか)の場合もあれば、何らかの抽象的な概念で、それをもとに私たちが分類する場合もあります。

ざっくり言うと、機械学習で扱える問題は、分類(classification)、回帰(regression)、クラスタリング(clustering)、ルール抽出(Rule Extraction)の4つに大別できます。

1. 分類(classification):

答えがわかっているデータを機械学習モデルに学習させます。たとえば:

X = [0,2,3,3,4,5,6,7,8] Y = Taipei
X = [0,7,3,3,4,5,6,7,8] Y = Kaohsiung
X = [0,4,3,3,4,5,6,7,8] Y = Taichung
X = ...

大量の電話番号を与え、その答えが市外局番、というデータです。

モデルが電話番号を見ただけで、どの都市のものか判別できるようになることを期待します。これが分類問題です。

モデルの学習が終わったら、X = [0,2,1,2,3,4,5,6,7,8] を入力してみます。

モデルが Taipei と答えれば、学習成功です!

2. 回帰(regression):答えがわかっているデータを機械学習モデルに学習させます。たとえば:

X = [0,1,2,3] Y = 12
X = [0,3,4,2] Y = 22
X = [0,1,1,1] Y = 23
X = ...

大量のランダムな数字列を与え、その答えが数字の合計、というデータです。

モデルがランダムな数字列を見たら、一つの数値を返せるようになることを期待します。

補足すると、分類との最大の違いは予測結果です。予測結果が連続値なら回帰問題、離散値なら分類問題(またはその他)になります。

回帰問題の実例は、こちらのリンクをご覧ください。過去6時間の河川水位と降水量から、2時間後の水位を予測しています。

3. クラスタリング(clustering):答えのわからない大量のデータと、グループ分けのロジック(点と点の距離など)をモデルに与え、データを分類させます。

例:Facebook の顔認識

4. ルール抽出(Rule Extraction)

これは少し抽象的で、分析によってルールを見つけるようなものです。

たとえば1万枚の写真を入れてクラスタリングしたら、あなたとお姉さんがいつも同じグループに分けられていたとします。すると、あなたとお姉さんは同じ父と母を持つのでは、と推測できるわけです。

写真認識 -> 血縁関係。これがだいたいルール抽出というものだと思います!

こじつけっぽく感じても大丈夫です。もし1万品目の販売数を回帰予測して、ビールとおむつの購買サイクルが同じだとわかったら、「お酒を飲むと子どもができやすい」と推測できるかもしれません。販売予測 -> 飲酒で子どもができる。

ここまでで、機械学習がどんな問題を解決できるかは、おおむね理解できたと思います。

でも肝心なのは、どうやって解決するのか、です。

通常は、一つのアルゴリズムか複数のアルゴリズムの組み合わせを選んで問題に取り組みます。結果が収束するなら、どのアルゴリズムでも試す価値があります。

では、どんなアルゴリズムがあるのでしょうか?

‍

1. Regression Algorithms

回帰の手法です。先ほどの水位予測はこの方法で解いています。

もちろん回帰には特殊な手法がたくさんありますが、ここでは割愛します。

2. Instance-based Algorithms

すでに起きた事実をもとに、将来ある兆候が現れたときに何が起こるかを推測します。

3. Clustering Algorithms

グループ分けです。任意の次元の空間に点をばらまき、ユークリッド距離(Euclidean distance)を自分で定義して、近くに集まったものを同じ仲間とみなします。

代表的なアルゴリズムは k-Means、k-Median です。

4. Kernel Algorithms

ビッグデータ時代以前、機械学習で最強とされたアルゴリズムで、最も有名なのはサポートベクターマシン(Supported Vector Machine, SVM)です。

元のデータを高次元に写像してから分類するという考え方です。どのみち、ある次数の polynomial function ならデータをきれいに切り分けられます。

5. Ensemble Algorithms

個人的にけっこう好きな手法です。学習済みのさまざまなモデルの結果を学習して、もう一度結果を算出します。AlphaGo をイメージするとわかりやすいでしょう。今の局面、あなたが打った一手の後の局面、さらに自分が次に打つ一手のその後の展開を把握したうえで、どこに打つかを決めるのです。

6. Neural Network Algorithms

私たちの神経細胞をまねたもので、大量のデータをニューロンに入力すると、ニューロンが非線形に反応する、というものです。

7. Deep Learning

ニューラルネットワークの変わり種ともいえるもので、次回以降で主に取り上げる手法です。たくさんのニューロンが互いに信号を出し入れし合い、最終的に神経系全体が一つの信号やカテゴリーを出力する、とイメージしてください。

もちろん、ほかにもさまざまなアルゴリズムがあります。基本的には、必要になったときに論文を探せば十分です。

興味のある方がさらに掘り下げられるよう、参考資料を載せておきます。

[1] Practical Machine Learning Problem

[2] 図解 機械学習(中国語版)

[3] Coursera — Machine Leanring

[4] A tour of machine learning algorithms

[5] Deep Learning Book

おすすめの記事

Google Vision API でヤリイカ・アオリイカ・コウイカ・スルメイカを一瞬で見分ける
2019-04-06

【技術シェア】Google Vision API でヤリイカ・アオリイカ・コウイカ・スルメイカを一瞬で見分けて、市場でカモにされない

今回は Google Vision API を使って、ヤリイカ(ケンサキイカ)、アオリイカ、コウイカ、スルメイカを見分ける画像認識モデルを作ってみます。機械学習の知識はあまりないけれど市場へ買い物に行くお母さんにぴったりの内容です。Vision API は Google が提供するサービスで、機械学習モデルを自分で作れない人でも簡単に画像分類器を作れます。

Khan LeeCTO
【技術シェア】Python 101

【技術シェア】Python 101

プログラミングといえば、多くの人が最初の 5 分で習うのが print(“hello world!”)。楽しそうに見えて、実はまったく役に立ちません。ではなぜ、どのソフトウェアエンジニアもこう教えるのか?答えは簡単。あなたがプログラミングを覚えて自分たちの仕事を奪うのを望んでいないからです。私は違います。ソフトウェアエンジニアになるための最強の秘訣を、ここで直接公開します。

Khan LeeCTO
LINE MINI App:台湾企業が私有トラフィックを築くための最後の堀
2026-05-28

LINE MINI App:台湾企業が私有トラフィックを築くための最後の堀

LINE MINI Appは、ダウンロード不要でLINE内で直接動く軽量アプリです。ユーザーが最も長く滞在するメッセージプラットフォーム上に、ブランド独自のサービス窓口をつくれます。2025年10月、LINEはプラットフォームを正式に開放し、アプリ内決済と広告収益分配の仕組みを導入しました。台湾の私有トラフィック競争は新たな段階に入っています。広告でトラフィックを買い続けているブランドにとって、これは閉じつつある窓です。そしてMINI Appを「入口」から「フライホイール」へと変える鍵は、Social CRMとの連携にあります。

MarketingTeam
お問い合わせ

AI によるデジタル変革を、今すぐ始めましょう。

OakMega を選んだ企業・機関