---
title: Orange-LLM説明_2024_1112a
tags:  #マテリアルズ・インフォマティクス #データ解析学 #セミナー  
author: [木野日織](https://convert.docswell.com/user/3465680103)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GEWPLVG8J2.jpg?width=480
description: (超初心者向け) Orange Data Miningによるマテリアルズ・インフォマティクス連続ハンズオン第三回目「大規模言語モデルを用いた学習」
published: November 12, 24
canonical: https://convert.docswell.com/s/3465680103/KG1QQM-2024-11-12-143730
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GEWPLVG8J2.jpg)

大規模言語モデルを
用いた学習
木野日織
木野日織
大規模言語モデルを用いた学習
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/47ZKM4L973.jpg)

背景と目的
目的
背景
Orange Data Miningで説明していない
機能がある。
大規模言語モデルを利用してそれらを学習で
きるようように学習例を示す。
以下、大規模言語モデルをLLMと呼ぶことにします。
木野日織
大規模言語モデルを用いた学習
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YJ6QN3WDJV.jpg)

マニュアルの問題点
目的： Orange Data Mining の機能
を理解する。
エキスパートに聞くと
手段：マニュアルを読む。
マニュアル（オリジナルの説明）は
•
理解している人が短く書いている。
そのため、初心者には意味が分からないことが多い。
理解した後に読むと確かに必要なことが書いてある。
•
•
ユーザーの理解が正しいのか質問できない。
短く書いていても情報量が膨大で、初心者はどこを見れ
ば良いのか分からない。
マニュアルで分かれば世の中に解説本は存在しない。
教科書もまた解説本。
ではどうする？
→大規模言語モデル（LLM）が使える。
木野日織
大規模言語モデルを用いた学習
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GJ5R5LM874.jpg)

大規模言語モデルを利用した学習
古典的な教育・学習
LLMを併用した教育・学習
情報
情報
書籍・
講義
読者・生徒
限られた
質問
書籍・
講義
読者・生徒
質問
追加情報、
例示
LLM
現状は、LLMは
• 先生にはならない。
• 助手・アシスタントになる。
木野日織
大規模言語モデルを用いた学習
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/LE3PNLWGJ5.jpg)

大規模言語モデルの利用
手段
注意
LLMとしてGPT4oを使う。
ただし、回答を鵜呑みにしてはいけいない。
例えば、
• 回答が文字数制限されることで誤解が起き
ることがある。
• ハルシネーションが起きる。
GPT4oは
1. Orange Data Miningが使っているscipy,
scikit-learnのことをよく知っている。
2. Orange Data Miningをある程度知っている。
Orange Data Miningで分からないことは
GPT4oに質問しある程度正確な回答を得ること
が可能。
木野日織
回答の正確性は自分で検証すること。
その意味で、LLMは（正しいことを教える）先生
にはならない。
大規模言語モデルを用いた学習
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/8EDLWNKNJG.jpg)

LLMの正答率
GPT4oの正答率が高い内容
GPT4oの正答率が低い内容
✓ 世の中に例が多い。
✓ 世の中に例が多い。
有名なアルゴリズム
あまり有名でないアルゴリズム
手法の比較（長所・短所）
データ例作成
Widgetオプションの説明
オプション名を列挙した方が良い。
Widgetポート
ワークフロー作成
（再度強調）ハルシネーションなどの理由から各自正確性を検証する必要あり。
最近のGPT4oは情報源も出力されます。更に、回答の正誤ならば正確性は調べやすいと思います。
木野日織
大規模言語モデルを用いた学習
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/V7P295KN78.jpg)

例示内容
1. Test and Score widget
2. DBSCAN widget
3. Neural Network widget
木野日織
大規模言語モデルを用いた学習
Widgetを用いて
ワークフローを作成し、
実行する。
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/2JVDMPVYJQ.jpg)

例示内容
1. Test and Score widget
2. DBSCAN widget
3. Neural Network widget
木野日織
大規模言語モデルを用いた学習
Widgetを用いて
ワークフローを作成し、
実行する。
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/5EGYGPLWEL.jpg)

Test and Score widget
問題
Stratifiedとは何？
マニュアル（Orange Data Miningドキュメント）に記載
がない。
木野日織
大規模言語モデルを用いた学習
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4JQMX2YQ7P.jpg)

Stratifiedの機能
プロンプト
GPT4o回答まとめ
回答そのものでなく、かなり簡単な要約を表示します。
背景が藍色の四隅が丸い枠
私は機械学習手法の初心者です。
# 共有知識
Orange Data Miningを使います。
# 質問
’Test and Score‘ widgetを使います。
Stratifiedオプションを説明してください。
背景が白い四角い枠
関連事項としてStratified Cross-Validation
を挙げる。
Stratified Cross-Validation（層化交差検
証）：データの分布を保ったままデータをトレーニン
グセットとテストセットに分割する方法。
どういう意味だろうか？→更に質問する。
木野日織
大規模言語モデルを用いた学習
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/K74V6LWYJ1.jpg)

Stratifiedを使うための要件
Stratified Cross Validationはデータをどの
ように分割しますか？
Stratifield cross validationを用いるには
データがどうなっている必要がありますか？
木野日織
K分割にデータを配置:
データをK分割する場合、各クラスのサンプルをK等分し、
各分割に同じ割合で配置していきます。
1.ラベル付きデータ
• データにラベル（クラスまたはターゲット変数）がつ
いていること。
2. クラス数が複数
• 有意義に層化するためには、データセットに複数の
クラスがあること。
大規模言語モデルを用いた学習
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LJ13VLYN7G.jpg)

Stratified Cross Validation 図示
Class
三回交差検定の場合
A
#1
A,Bの２クラスとする。
A
#2
1. A,Bクラス内でデータインスタンスを３分割、
（#1, #2, #3）します。
2. 各検定ごとに各クラスで一つテストセット（テ
ストデータ）、残りを訓練セット（訓練データ）
とする。
#3
A
B
#1
B
#2
#3
B
B
（右のようなデータ例が欲しければ「例を用いて説明」
などと質問するとよい。）
木野日織
大規模言語モデルを用いた学習
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/GJWPLV1M72.jpg)

データ例の生成
説明変数
目的変数
生成されたデータ
Stratified cross validationを回帰モデルで使うた
めのデータ例をCSVフォーマットで示してください。目的
変数、説明変数、クラスを書いてください。クラス(Low,
Medium, High)の例を５つづつ作成してください。
ID,Feature1,Feature2,Target,Class
1,5.1,3.5,18.5,Low
2,4.9,3.0,19.2,Low
3,5.0,3.4,20.1,Low
4,5.2,3.5,19.8,Low
5,5.4,3.9,18.9,Low
6,6.3,3.3,28.5,Medium
7,5.8,2.7,28.9,Medium
8,6.0,3.0,27.3,Medium
9,5.9,3.4,29.1,Medium
10,6.1,3.0,28.0,Medium
11,6.7,3.1,38.2,High
12,7.0,3.2,39.7,High
13,6.8,3.0,40.5,High
14,6.9,3.1,39.2,High
15,7.1,3.3,41.0,High
Low
5つ
Medium
5つ
High
5つ
ファイル(data/stratified15data.csv)に保存。
木野日織
大規模言語モデルを用いた学習
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EZKM4PME3.jpg)

‘Test and Score’を用いるワークフロー例
人が作成
data/stratified1
5data.csvを読み
込む。
？
線形回帰モデル
データ規格化は
省略した。
workflow/9.01.
stratified.owsと
して保存。
木野日織
回帰問題で’Class’をどう設定するのか分
からない。
大規模言語モデルを用いた学習
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/Y76QN3M57V.jpg)

‘Test and Score’を用いるワークフロー例
木野日織
大規模言語モデルを用いた学習
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/G75R5LZGE4.jpg)

‘Test and Score’を用いるワークフロー例
LLMとの共通認識が必要なので何を行うのかを詳細を
説明して、質問する。
Orange Data miningを用います。
stratified cross validationを用います。
？
回帰問題で’Class’をどう設定するのか分
からない。
木野日織
回帰モデルを作成します。
1. 説明変数はfeature1, feature2カラムです。File
widgetでType=numeric, Role=featureとし
て読み込みます。
2. 目的変数はtargetカラムです。File widgetで
Type=numeric, Role=targetとして読み込みま
す。
3. stratified cross validationで使用するために
classカラムがあります。File widgetで
Type=categoricalです。tratified cross
validationで使うにはRoleはどう読み込めばいい
ですか？
大規模言語モデルを用いた学習
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/9J2DNLRDJR.jpg)

GPT4oの推測
Orange Data miningを用います。
stratified cross validationを用います。
回帰モデルを作成します。
1. 説明変数はfeature1, feature2カラムです。File
widgetでType=numeric, Role=featureとし
て読み込みます。
2. 目的変数はtargetカラムです。File widgetで
Type=numeric, Role=targetとして読み込みま
す。
3. stratified cross validationで使用するために
classカラムがあります。File widgetで
Type=categoricalです。tratified cross
validationで使うにはRoleはどう読み込めばいい
ですか？
木野日織
回帰分析においてはClassカラムを直接層化用と
して指定するオプションがOrangeのGUIの中には
存在しないため、通常の層化は行われない。
という推測をGPT4oがする。
では、分類モデルならばstratified cross
validationを使えるのか？
大規模言語モデルを用いた学習
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/DEY2PQDMEM.jpg)

‘Test and Score’を用いる分類モデル例
同じファイル
回帰モデルから
分類モデルへ変更
木野日織
Targetカラムを’skip’ role,
Classカラムを’target’ roleとする。
大規模言語モデルを用いた学習
→
説明変数：
Feature1,
Feature2。
目的変数: Class
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/VJN85K6378.jpg)

‘Test and Score’を用いる分類モデル例
次のページは右の２つの
widgetを並べて表示する。
木野日織
大規模言語モデルを用いた学習
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/YE9KYVLPE3.jpg)

‘Test and Score’を用いる分類モデル例
①
②
✓ 交差検定
✓ Stratified
• 四角い枠で交差検定の各回で使われたTest setを表示している。
• ①Classが元データのクラス。 ②Foldカラムが交差検定の回数。
• ②Foldカラムごとに①ClassカラムがLow, Medium, Highクラス
を一行づつ出力する。
木野日織
大規模言語モデルを用いた学習
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/GE8R6PXXJD.jpg)

‘Test and Score’を用いる分類モデル例
①
②
✓ 交差検定
StratifiedをOFF
• ②Foldカラムごとに①ClassカラムでLow, Medium, Highの３つの
クラスの数がばらばら。（全体に対してshuffleしている。）
木野日織
大規模言語モデルを用いた学習
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LELK918NJR.jpg)

内部で用いる関数
ソースを読むことによる検証
ソースコードを読むとStratifiedの場合は
• sklearn.model_selection.StratifiedKFold
• sklearn.model_selection.StratifiedShuffleSplit
を用いている。
Pythonでこの関数を使用する場合はClassカラムを用
いて分割してよい。→回帰でも層化交差検定や層化分割
を利用できる。
一方、Orange Data Miningでは必ずTargetカラム
を引数にするコード。→回帰では層化交差検定や層化分
割を利用できない。
木野日織
回帰分析においてはClassカラムを直接層化用と
して指定するオプションがOrangeのGUIの中には
存在しないため、通常の層化は行われない。
というGPT4oの回答があった。
回帰分析においてはClassカラムを直接層化用と
して指定するオプションがOrangeのGUIの中には
存在しないため、
層化分割する関数を呼ぶ際に、 目的変数と別に
Classカラムを引数に指定することができない。そ
のため
通常の層化は行われない。
はず、という推論。
大規模言語モデルを用いた学習
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/4JM2ZW6QJW.jpg)

GPT4oの回答の評価
‘test and score’ widgetで
手法、widget parameterは正確に出力した。
有名な手法なので例が多いから。
正しい推論もできた。
→GPT4oは有用でした。
木野日織
大規模言語モデルを用いた学習
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/PJRM6YPKE9.jpg)

例示内容
1. Test and Score widget
2. DBSCAN widget
3. Neural Network widget
木野日織
大規模言語モデルを用いた学習
Widgetを用いて
ワークフローを作成し、
実行する。
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/PEXVMG357X.jpg)

DBSCAN widget
クラスタリング手法として有名
もっとも引用回数が多い手法の一つ
木野日織
大規模言語モデルを用いた学習
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/3EKQG4YRED.jpg)

DBSCAN widget
使い方が分からない。
木野日織
大規模言語モデルを用いた学習
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/L73PNL9GE5.jpg)

DBSCANのパラメタ
DBSCAN (Density-Based Spatial Clustering
of Applications with Noise) は、密度に基づいたク
ラスタリング手法
新たなチャットで質問することを想定する。
私は機械学習手法の初心者です。
Orange Data Miningを用います。
Orange Data MiningのUnsupervisedカテゴリに
DBSCAN widgetがあります。
# 依頼
DBSCAN widetにParameterとしてCore point
neightbors、Neighborhood distance、Distance
Metricがあります。これらを説明してください。
Core Point Neighbors (コアポイントの近隣数):ある
点を「コアポイント」として識別するために必要な最小近
隣点の数。コアポイントはクラスタの中心となるポイント。
この値を大きくするほど、より密なクラスタを探す。
Neighborhood Distance (近傍距離):エプシロン
（ε）とも呼ばれる。この距離内にある点は、コアポイント
の近傍として考慮される。この値が小さいと、より狭い範
囲で密度を計算する。
Distance Metric (距離測度):データポイント間の距離
を測定するための方法。
近隣数と距離で（数）密度を定義するらしい。
木野日織
大規模言語モデルを用いた学習
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/87DLWNGNEG.jpg)

DBSCANの理論を詳しく
DBSCAN について数式で教えて下さい。密度
に基づいた手法というのはどういう意味です
か？K-Means法やPCA法との違いを教えて下
さい。
木野日織
大規模言語モデルを用いた学習
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/VJP2953NJ8.jpg)

DBSCANの理論を詳しく
DBSCAN について数式で教えて下さい。密度
に基づいた手法というのはどういう意味です
か？K-Means法やPCA法との違いを教えて下
さい。
木野日織
密度に基づいたクラスタリングとは、
データセット中の「高密度」領域をクラスタとして認識し、「低密
度」領域を境界として扱う。
大規模言語モデルを用いた学習
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/2EVDMP4YEQ.jpg)

DBSCANの理論を詳しく（続き）
DBSCAN について数式で教えて下さい。密度
に基づいた手法というのはどういう意味です
か？K-Means法やPCA法との違いを教えて下
さい。
1. エプシロン近傍 (ε-neighborhood):
ある点pに対して、与えられた距離ε内に位置するすべての点の集
合をエプシロン近傍という。
N𝜖 𝑝 = {𝑞 ∈ 𝐷 | distance 𝑝, 𝑞 ≤ 𝜀}
2. コアポイント (Core Point):
点pがコアポイントであるためには、そのε近傍に少なくとも
MinPts個の点が存在しなければいけない。
条件:𝑁𝜀 𝑝 ≥ 𝑀𝑖𝑛𝑃𝑡𝑠
3. 密度到達 (Density-Reachable):
ある点qが点pから密度到達可能であるとは、一連の中間点を介し
てpから qまで移動可能で、すべての中間点がコアポイントである場
合を指す。
論文（DOI:10.1023/A:1009745219419）では、Definition 9に
DBSCANの定義がある。本文ではcore objectで、本文中のソース
ではcore pointを使っている。
木野日織
大規模言語モデルを用いた学習
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/57GYGP1W7L.jpg)

DBSCANの理論を詳しく（続き）
DBSCAN について数式で教えて下さい。密度
に基づいた手法というのはどういう意味です
か？K-Means法やPCA法との違いを教えて下
さい。
K-Means法:
1.
クラスタの数 ：事前に指定する。
2.
ユークリッド距離を基に、点を近くのクラスタ中心（重心）に割
り当ててクラスタを見つける。
3.
データポイント間の距離を使用するため、球状のクラスタを見
つける。
DBSCAN:
1.
クラスタの数を事前に指定する必要がない。
2.
データの密度を基にクラスタを形成し、異なる形状のクラスタ
を見つけらる。
3.
ノイズを効果的に検出できる。
PCA:
1. クラスタリング手法ではない。
木野日織
大規模言語モデルを用いた学習
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/4EQMX2DQJP.jpg)

DBSCANのノイズとは？
DBSCANのノイズとは何ですか？
ノイズは最後はどこかのクラスターに割り振ると思い
ます。ノイズはどうクラスターに割り振りますか？
木野日織
DBSCANにおける「ノイズ」とは、どのクラスタにも属さな
いデータポイントのこと
DBSCANでは、ノイズポイントはクラスタには割り振られ
ない。
ノイズをクラスタに割り当てる方法として、例えば、最も近
いクラスタへの割り当てがある。
大規模言語モデルを用いた学習
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/KJ4V6LZYE1.jpg)

DBSCAN（図示）
各
クラスター
の範囲
点がεの距離範囲○を持つ。
MinPts=3とすると、距離範囲○に３点以上ある
点がコアポイント。
ε
距離範囲○に１点しかない
はない。
点はコアポイントで
あるクラスタに含まれるのは 点の距離範囲○に
含まれる複合範囲□内の点なので 点だけでなく
点も含まれる。
ε
木野日織
ノイズ
点はクラスタに含まれないのでノイズ（という
定義）。
大規模言語モデルを用いた学習
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/LE13VLRNJG.jpg)

DBSCANを用いたwidget例
Standardization
data/carbon8_descriptor_all_Oran
ge.csvを読み込む。
炭素構造の各原子の近傍環境のデータ。
大まかに、spの欠陥、sp, sp2, sp3構造
で場合分けされる。
PCA=2
計算上の距離を図上の
距離と一致させるため。
workflow/5.01.dbscan_carbon8.owsとして保存。
木野日織
大規模言語モデルを用いた学習
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/GEWPLVYMJ2.jpg)

DBSCANを用いたwidget例
この図はどう見たら良いのか？
木野日織
大規模言語モデルを用いた学習
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/47ZKM4XM73.jpg)

Distance to the k-th nearest neighbour?
私は機械学習手法の初心者です。
Orange Data Miningを用います。
Orange Data MiningのUnsupervisedカ
テゴリにDBSCAN widgetがあります。
DBSCAN widetにParameterとしてCore
point neightbors、Neighborhood
distance、Distance Metricがあります。
# 依頼
DBSCAN widetにData items sorted by
score vs Distance to the k-th nearest
neighbour の図が表示されました。この図の
見方を説明してください。
木野日織
縦軸：Core point neightborsで指定した各データポイントからk
番目に近い隣接点までの距離。
横軸：データ項目をスコア順に並べたもの。
グラフの見方：横から見るとdistanceのDOSになる。
平坦な領域:高密度のクラスタの存在。
この領域にあるデータポイントは、近くに多くの他のポイントが
ある。
急激な上昇:密度が急激に減少
縦軸の距離が急上昇している部分は、クラスタの境界付近に
あるデータポイントやノイズポイントを示している可能性がある。
目的：
このグラフはεとMinPtsを調整する際に利用。
例）急激な上昇を示すポイントを特定し、その手前で急上昇が始まる
地点を基にして、エプシロン (ε)の適切な値を設定する。
大規模言語モデルを用いた学習
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/YJ6QN345JV.jpg)

Neighborhood distanceの設定
Neighborhood distance
の推奨値は傾きが変わる値。
論文にもそう書いてあります。
右図はその点を選択した場合です。
多くが
ノイズ
木野日織
大規模言語モデルを用いた学習
Core pointの数
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/GJ5R5LQG74.jpg)

DBSCANクラスタリングのデータ条件
DBSCANがうまく機能するための条件
を教えて下さい。
1.
2.
3.
4.
クラスタの密度が明確に分かれていること
ノイズが少ないこと
データのスケールが適切であること
データが連続的であること
点を密度として解析する。
同じクラスター内では“連続的に密度”を定義できないといけない。
残念ながら例で用いるデータはこれらを満たさない。
• 同じクラスターだと思っている領域内に濃淡の大きな変化
ある。
• 点の数が少ないクラスターがある。
木野日織
大規模言語モデルを用いた学習
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/9E2DNLPDER.jpg)

DBSCANを用いたwidget例
sp3
•
•
木野日織
sp2
spで片方原子
sp 欠陥
調整するとC1,C2,C3の３クラスターに割り振ることが
可能。sp片方欠陥のクラスターは数が足りない。
割り振られていない点（灰色）が多く存在する。
大規模言語モデルを用いた学習
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/D7Y2PQ5M7M.jpg)

GPT4o回答の評価
DBSCAN：
手法、widget parameterは正確に説明した。
有名な手法なので例が多いから。
更に、K-Means法との比較を行うことができた。
任意の手法間での比較は書いていないことが多いので有用。
木野日織
大規模言語モデルを用いた学習
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/VEN85KN3J8.jpg)

例示内容
1. Test and Score widget
2. DBSCAN widget
3. Neural Network widget
木野日織
大規模言語モデルを用いた学習
Widgetを用いて
ワークフローを作成し、
実行する。
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/Y79KYVRP73.jpg)

Neural Network widgetとは？
木野日織
Orange Data MiningのNeural
Network widgetについて説明してく
ださい。
多層パーセプトロン（MLP）アルゴリズムを用い
たニューラルネットワークモデルを構築するため
のツールです。
それは 全結合ニューラルネットワークモ
デルですか？
はい。
大規模言語モデルを用いた学習
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/G78R6PWXED.jpg)

Neural Networkのパラメタ
パラメタを列挙して質問する。
私は機械学習手法の初心者です。
Orange Data Miningを用います。
Orange Data MiningのSupervisedカテゴリにNeural
Network widgetがあります。
# 依頼
Neural Network widgetにParameterとして
1. Neurons in hidden layers,
2. ActivationとしてIdendity,Logistic, tanh, ReLuがありま
す。
3. SolverとしてL-BFGS-B, SGD, Adamがあります。
3. Regularizaiton α＝として数値を入力します。
4. Maximal number of iterationsとして数値を入力します。
5. Replicable trainingチェックボックス
があります。これらを説明してください。
木野日織
大規模言語モデルを用いた学習
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/L7LK91NNER.jpg)

Neural Networkのパラメタ(続き）
私は機械学習手法の初心者です。
Orange Data Miningを用います。
Orange Data MiningのSupervisedカテゴリにNeural
Network widgetがあります。
# 依頼
Neural Network widgetにParameterとして
1. Neurons in hidden layers,
2. ActivationとしてIdendity,Logistic, tanh, ReLuがありま
す。
3. SolverとしてL-BFGS-B, SGD, Adamがあります。
3. Regularizaiton α＝として数値を入力します。
4. Maximal number of iterationsとして数値を入力します。
5. Replicable trainingチェックボックス
があります。これらを説明してください。
Neurons in hidden layers (隠れ層のニューロン数）
“10, 5” と指定すれば、最初の隠れ層に10個、次の
層に5個のニューロンを持つ2層のモデル。
Activation (活性化関数):
Identity: 入力をそのまま出力。
Logistic (Sigmoid): 出力を0から1の間に。
Tanh: 出力を-1から1の範囲に。
ReLU (Rectified Linear Unit): 非線形性があ
り、現在最もよく使われる活性化関数。
更に詳細を知りたい場合はLLMへ質問。
例）ReLU関数を数式で教えて下さい。
木野日織
大規模言語モデルを用いた学習
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/4EM2ZWXQEW.jpg)

Neural Networkのパラメタ(続き）
私は機械学習手法の初心者です。
Orange Data Miningを用います。
Orange Data MiningのSupervisedカテゴリにNeural
Network widgetがあります。
# 依頼
Neural Network widgetにParameterとして
1. Neurons in hidden layers,
2. ActivationとしてIdendity,Logistic, tanh, ReLuがありま
す。
3. SolverとしてL-BFGS-B, SGD, Adamがあります。
3. Regularizaiton α＝として数値を入力します。
4. Maximal number of iterationsとして数値を入力します。
5. Replicable trainingチェックボックス
があります。これらを説明してください。
木野日織
Solver (最適化手法)：
• L-BFGS-B: 小さなデータセットに対して有効な準
ニュートン法
• SGD (Stochastic Gradient Descent): 大規模
データセットに有用な手法
• Adam: 適応的に学習率を調整する手法。安定性と効
率性に優れる。
Regularization α= (正則化パラメータ α)：
過学習を防ぐためのパラメータ。αの値が高いほど、正則
化の度合いが増す。
Maximal number of iterations (最大反復回数):
重みを更新する試行回数。全データを用いるSolverでは
エポック（訓練データ全体を一度処理するサイクル）数。
Replicable training (再現性のあるトレーニング):
再度トレーニングを行った場合にも同じ結果が得られる。
（内部で用いる関数はsklearn.neural_network.MLPRegressor）
大規模言語モデルを用いた学習
45


# Page. 46

![Page Image](https://bcdn.docswell.com/page/PERM6YNK79.jpg)

Neural Networkの正則化パラメタ
ニューラルネットワークについて数式で説明し
てください。 正則化パラメタはどこに適用さ
れますか？
ニューラルネットワークの数式
1. 入力層と出力層: 入力データベクトルを 𝑥 = 𝑥1 , 𝑥2 , … , 𝑥𝑛 とし、出力を 𝑦 とす
る。
2. 重みとバイアス: 各リンクには重み 𝑤𝑖𝑗 があり、各ニューロンにはバイアス 𝑏𝑖
とする。
3. 活性化関数: 各隠れ層や出力層で非線形性を導入するために、活性化関数𝜎を使
用する。
𝑙−1
4. ニューロンの出力: 各層 lのニューロン jの出力zを𝑧𝑗𝑙 = σ𝑖 𝑤𝑖𝑗
𝜎(𝑧𝑗𝑙−1 ) + 𝑏𝑗𝑙 と
する。
5. 損失関数: ŷはニューラルネットワークの予測値として、出力層の誤差を測定するた
1
めに損失関数 𝐿 𝑦, ŷ = 𝑦 − ŷ 2 + 𝐿reg とする。
2
1
𝑤𝑖𝑗
2
𝑤𝑖𝑗
3
𝑤𝑖𝑗
正則化の数式
モデルの重みが不必要に大きくなるのを防ぐため用いる。
2
L2正則化（リッジ正則化）: 𝐿reg = 𝐿(𝑦, ŷ) + 𝛼 σ𝑖𝑗 𝑤𝑖𝑗
正則化パラメータ αは正則化項の影響を調整する。 αが大きいほど、大きな重みが
抑制されモデルのか学習が防がれる。
木野日織
大規模言語モデルを用いた学習
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/P7XVMGN5JX.jpg)

ワークフロー作成
Orange Data Miningでニューラルネットワー
クモデル回帰を学習するワークフローを作っ
てください。
widgetとwidgetの間はどのポートを繋ぐかも
説明してください。
大規模データに使えるように観測データを一
組の訓練データ・テストデータに分割してく
ださい。
テストデータを用いて回帰性能を評価してく
ださい。
木野日織
File Widget（データ読み込み）：Dataポートを「Select
Columns」ウィジェットに接続します。
Select Columns Widget（特徴選択）：Dataポートを
「Data Sampler」ウィジェットに接続します。
…
どう繋ぐかの説明はある。しかし、
大規模言語モデルを用いた学習
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/37KQG4NR7D.jpg)

ワークフロー作成
動作しない原因
生成例
1. 回答のポート名が間違っている。
2. 動作に必要なポート接続がない。
プロンプトを工夫してもzero shotでは動作さ
せられなかった。（zero shotプロンプトについ
てはLLMへ質問してください。）
ワークフローを作成できない原因
動作しない
木野日織
GPT4oは多くのwidgetのポートを正確に知ら
ない。従って、ワークフローも書けない。
大規模言語モデルを用いた学習
48


# Page. 49

![Page Image](https://bcdn.docswell.com/page/LJ3PNLVG75.jpg)

テキストでのワークフロー
過程
1. ファイルからデータを読み込む。 説明変数、目的変数の設定
を行う。
2. データの規格化を行う。
3. 一組の訓練データ・テストデータに分ける。
4. 訓練データでニューラルネットワークモデルを学習する。
5. テストデータの予測値を出力する。
6. テストデータの予測性能評価値を出力する。
この指示ではOrange Data Miningで動
作するワークフローを出力できない。
Pythonではこの指示で動作させられる。
GPT4oを用いると自然言語でプログラミング可能
なので興味がある方はPythonの利用を検討
ワークフローは人が作成せざるを得ない。
（こちらで続ける）
木野日織
大規模言語モデルを用いた学習
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/8JDLWN8N7G.jpg)

一組のデータとテストデータに分割
ニューラルネットワークを用いる場合は
大規模データであることが多い。一組のデータ
とテストデータで回帰モデルの十分妥当な評価
ができることが多い。
該当widgetを知らないとして質問する。
私は機械学習手法の初心者です。
Orange Data Miningを用います。
# 依頼
一組の訓練データとテストデータに分割するのはどの
widgetを用いればいいですか？
木野日織
“Data Sampler“ widgetを用いる。
使用方法：
1. Orangeキャンバスに「Data Sampler」ウィジェットを追加。
2. File widgetなどから読み込んだデータを、Data Samplerに接
続。
3. 「Proportion of data」や「Test data size」などのオプションで、
訓練データとテストデータの分割比率を設定。
4. Sampling Typeで無作為にサンプリングするか、あるいは他のサ
ンプリングオプションを選択。
5. Data Samplerの出力から、訓練データとテストデータをそれぞれ
別のウィジェット（例えば、トレーニングにはモデルウィジェット、評価
にはTest &amp; Scoreウィジェット）に接続。
取り消し線部分は間違いだが、それ以外は正確な説明。
大規模言語モデルを用いた学習
50


# Page. 51

![Page Image](https://bcdn.docswell.com/page/VEP2958NE8.jpg)

動作するワークフロー
70%
Replicable sampling
Test on test data
data/hea4_phys.csv
を読み込む。
7万件、4説明変数
Standization
CPUでは数分かかる。
Data Samler widgetで減らせる。
データインスタンス数が大すぎる。数を
減らすwidgetは？
木野日織
言い回しも分かる。たとえば、「データセットからランダムに
一部のデータインスタンスを抽出する」「大規模なデータ
セットをランダムに縮小する」
大規模言語モデルを用いた学習
51


# Page. 52

![Page Image](https://bcdn.docswell.com/page/27VDMPNY7Q.jpg)

動作するワークフロー
人が作成
大規模なデータセットをランダムに縮小する過程を追加
挿入
5%
Replicable sampling
木野日織
workflow/5.01.NNregression.owsとして保存。
大規模言語モデルを用いた学習
52


# Page. 53

![Page Image](https://bcdn.docswell.com/page/5JGYGPKWJL.jpg)

Neural Network widgetのパラメタ調整
パラメタ例
Nuerons in hidden layers: 100
Activation: ReLu
Regularization , alpha=0.0001
Maxial number of iterations: 200
✓ Replicable training
RMSE: 670
MAE: 543
R2: -1.84
→パラメタ調整が必要。
木野日織
大規模言語モデルを用いた学習
53


# Page. 54

![Page Image](https://bcdn.docswell.com/page/47QMX2NQEP.jpg)

パラメタ調整
# 共有知識
Orange Data MiningでNeural Networkモ
デルを学習しました テストデータに対してR2=1.84でした。
# 依頼
どうモデルパラメタを修正すると回帰性能が改善し
ますか？ パラメタは{# 現在のパラメタ}に記します。
# 現在のパラメタ
Nuerons in hidden layers: 100
Activation: ReLu Regularization ,
alpha=0.0001 Maxial number of
iterations: 200 Replicable training
現状の評価：
R²スコアが負であることから十分な性能を発揮できていな
い。
改善案：
1. 隠れ層のニューロン数が多すぎて過学習している場合
は減らす。ニューロン数が少なすぎて表現力が足りない
場合はニューロン数を増やす。
2. 隠れ層を追加する
3. 正則化パラメータ α が小さいと過学習するので大きく
する。
影響が少なかった。
次に
1. 反復回数の増加
2. 異なる活性化関数の使用
同時に示された原因と結果例は指針を立るために
とても有用。
木野日織
大規模言語モデルを用いた学習
54


# Page. 55

![Page Image](https://bcdn.docswell.com/page/KE4V6LGY71.jpg)

Hidden layerのニューロン数
説明変数数は４
Hidden layerのニューロン数の例を教えてくだ
さい。
1. 単層構成の場合
- 特徴量が少ない小規模データ：10～50ニューロン
- 特徴量が10～100程度：50～100ニューロン
- 特徴量が100以上：100～200ニューロン
2. 多層構成の場合
隠れ層を2層以上にすると、各層のニューロン数は徐々に減ら
すと学習が安定しやすくなります。
- 2層構成：
- 第1層：100～200ニューロン
- 第2層：50～100ニューロン
- 3層構成：
- 第1層：150～200ニューロン
- 第2層：75～150ニューロン
- 第3層：25～75ニューロン
木野日織
大規模言語モデルを用いた学習
55


# Page. 56

![Page Image](https://bcdn.docswell.com/page/L713VLDNEG.jpg)

R2(test)結果
このあたり
で十分
木野日織
Nuerons in
hidden
layers
R2(test)
16
0.004
32
0.266
16,8
0.638
32,16
0.744
48,32
0.763
64,32
0.722
64,64
0.769
8,8,8
0.678
8,4,2
0.661
16,8,4
0.751
24,16,12
0.763
32,24,16
0.769
32,16,8
0.755
予測値
観測値
大規模言語モデルを用いた学習
56


# Page. 57

![Page Image](https://bcdn.docswell.com/page/G7WPLV8ME2.jpg)

neural network widget再び
Orange data miningのneural network
widgetは回帰モデル用ですか？分類モデル
用ですか？
回帰モデルと分類モデルのどちらにも使用できる。
5.01.NNregression.owsの下半分に例を置く。
データはファイル
data/mono_structure_descriptor_Orange.csvを読み込む。
ソースを読むと、sklean.neural_network
.MPLRegressorとMPLCassifierを両方用いている。
木野日織
大規模言語モデルを用いた学習
57


# Page. 58

![Page Image](https://bcdn.docswell.com/page/4JZKM48MJ3.jpg)

GPT4o回答の評価
手法、widget parameteｒ、調整方法は正確に説明した。
有名な手法なので例が多いから。
ワークフローは正確に出力できなかった。
木野日織
大規模言語モデルを用いた学習
58


# Page. 59

![Page Image](https://bcdn.docswell.com/page/YE6QN3P5EV.jpg)

正確性検証のための情報源
GPT4oは各自正確性を検証しながら使う必要がある。
１．GPT4oの出力の“情報源“
2. 論文、解説書
Orange Data Miningは背後でどのような機
械学習手法パッケージを用いていますか？
NumPy, SciPy, scikit-learn, …
３. 質問対象をOrange Data Miningでなく、上の
パッケージのクラス・関数した方が理解しやすい、もし
くは正答率が高いかもしれません。
木野日織
大規模言語モデルを用いた学習
59


# Page. 60

![Page Image](https://bcdn.docswell.com/page/GE5R5LKGJ4.jpg)

最後に
今回の内容と将来への期待
データソース
各自LLMを用いて学習、検証できるようになるために、学
習例を紹介しました。
炭素構造：DOI:10.1103/PhysRevB.95.184110
HEA:10.1103/PhysRevMaterials.6.023802
LLMは正しいことを教えてくれる先生ではありません。
LLMの回答を各自検証しながら使うので、各自の学習も不
可欠です。
将来はLLMの進化で更に正確な回答が期待できます。
木野日織
大規模言語モデルを用いた学習
60


# Page. 61

![Page Image](https://bcdn.docswell.com/page/972DNLWD7R.jpg)

以上です。
お疲れさまでした。
木野日織
大規模言語モデルを用いた学習
61


