いかおくら自習室のブログ

普段の学習内容などのアウトプット用のブログです

SQLにおける文字列の不等号

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへを学んでいる最中、挙動が分からなくなった箇所があった。

自己結合の使い方、演習問題の箇所。 文字列はどういう基準で比較されるのか簡単にまとめておく。

準備データ

CREATE TABLE meibo (
,name text
);

INSERT INTO meibo VALUES('たなか');
INSERT INTO meibo VALUES('やまだ');
INSERT INTO meibo VALUES('さとう');

重複を含めた2列の組み合わせの求めかた

SELECT
*
FROM meibo m1
CROSS JOIN meibo m2
WHERE m1.name >= m2.name

-- 出力結果
name   |  name_1
-------+---------
たなか    たなか
たなか    さとう
やまだ    たなか
やまだ    やまだ
やまだ    さとう
さとう    さとう

CROSS JOINで自己結合しているが、 WHEREで条件指定しなかった場合、以下の出力となる

name name_1
たなか たなか
たなか やまだ
たなか さとう
やまだ たなか 不要(すでに「たなか」×「やまだ」で出ている)
やまだ さとう
やまだ やまだ
さとう たなか 不要(すでに「たなか」×「さとう」で出ている)
さとう やまだ 不要(すでに「やまだ」×「さとう」で出ている)
さとう さとう

上記の不要の箇所を取り除くために不等号で除去している。 文字列の比較は、辞書式順序に従う。

name where name_1
たなか >= たなか True
たなか >= やまだ False(や の方が大きい)
たなか >= さとう True
やまだ >= たなか True
やまだ >= さとう True
やまだ >= やまだ True
さとう >= たなか False(た の方が大きい)
さとう >= やまだ False(や の方が大きい)
さとう >= さとう True

混同行列の見方

分類で出てくる「再現率」「適合率」 どっちが何だったかこんがらがる時があるので自分用にメモ。

適合率

機械学習モデルが「Positive」と予想した中で(=分母)、実際にPositiveだった数(=分子)の割合。 適合率を優先したい場合、分母である機械学習モデルがPositiveと予想したが、実際はNegativeだったFPの数を減らせば率が上がる。 つまり、厳密性を求めれば適合率が高くなる。あやしいものは排除して、めっちゃ正確に予想したい場合など。

再現率

実際のクラスが「Positive」である中で(=分母)、どのくらい機械学習モデルがPositiveと予想して当てられた(=分子)の割合。 再現率を優先したい場合、分母である、機械学習モデルがNegativeと予想したが、実際にPositiveであった数を減らせば率が上がる。 つまり、機械学習モデルがPositiveと予想した数=それっぽいものは全部True!と判断した数を多くすれば再現率が高くなる

G検定学習記録_AIと社会

続き。

AI-Readyな企業レベル*1

AI-Readyな企業に向け、経営層、専門家、従業員、システム・データに関して、5段階のレベル分けを提示

レベル 定義 概要
レベル1 AI-Ready化着手前 AIの方法論の議論が先行し、AI×データを活用した事業運営・刷新・創造は未着手。
レベル2 AI-Ready化の初期段階 AI活用についてスモールスタートで経験を積む。一部の簡易業務のAI化も専門家の力を借りつつ着手開始。
レベル3 AI-Ready化を進行 既存の業務フローのAI×データ化による自動化に目途がつく。戦略的なAI活用も開始する。
レベル4 AI-Ready化からAI-powered化へ展開 AI×データによって企業価値を向上。コア事業における価値を生むドライバーとしてAIを活用。
レベル5 AI-Ready企業として確立・影響力発揮 すべての事業・企業がAI×データ化し、業界そのものの本質的な刷新(disruption)を仕掛けている。
自動運転レベル*2
レベル 車両名称 概要
レベル1 運転支援者 アクセル・ブレーキ操作またはハンドル操作のどちらかが、部分的に自動化された状態
レベル2 運転支援者 アクセル・ブレーキ操作およびハンドル操作の両方が、部分的に自動化された状態
レベル3 条件付自動運転車(限定領域) 特定の走行環境条件を満たす限定された領域において、自動運行装置が運転操作の全部を代替する状態。ただし、自動運行装置の作動中、自動運行装置が正常に作動しないおそれがある場合においては、運転操作を促す警報が発せられるので、適切に応答しなければならない
レベル4 自動運転車(限定領域) 特定の走行環境条件を満たす限定された領域において、自動運行装置が運転操作の全部を代替する状態
レベル5 完全自動運転車 自動運行装置が運転操作の全部を代替する状態
  • IoT:Internet of Things / 様々なモノがインターネットのようにつながることにより情報交換を行い、相互に制御する仕組みのこと。

  • RPA:Robotics Process Automation / 業務プロセス自動化の一種。ホワイトワーカーの行っている業務の一部を自動化するソフトウェアロボットを指す。

  • MLOps:Machine Learning Operations / AIプロジェクトの一連の流れ。DevOpsの派生と考えられている。モニタリングを通じて必要であればビジネス目標の策定までさかのぼる。

  • CRISP-DM:CRoss-Industry Standard Process for Data Mining / プロセスを順番ではなく、必要に応じて相互に行き来すること。

  • BPR:Business Process Re-engineering / システムを使うことによる業務プロセスの変更。

  • REST API:Representational State Transfer Application Programing Interface / Web開発において広く使われている設計思想に基づいたサービス提供方法。クラウドを利用してWebサービスを提供する。

  • エッジデバイス:比較的小規模のデバイスのことで、その場でAIモデルを実行する。

  • バッチシステム:一定の処理をまとめて行うシステム。

  • プライバシー・バイ・デザイン:設計から事前にデフォルトでプライバシーを組み込んだ設計思想。

  • セキュリティ・バイ・デザイン:設計の段階からセキュリティに配慮した設計思想。

  • オープンイノベーション:外部組織と連携して研究開発を行うこと。

  • AI・データ契約ガイドライン開発プロセスを独立したいくつかの段階に分けて探索的に開発を行う。アセスメント段階、PoC 段階、開発段階、追加学習段階(利用段階)の 4 段階に分け、それぞれ秘密保持契約、技術検証(PoC)契約等、共同研究開発契約等、利用契約等を締結することを推奨している。

  • オープンデータセット自治体や企業、研究者などが二次利用可能なルールを定めたうえで無償で公開しているデータ。

  • 著作権法:AIシステムだと、プログラム、データセット、論文が著作物に該当する。

  • サンプリング・バイアス:サンプルによって偏りが生じてしまうこと。AI活用の人材採用システムにおいて性別の中立性が働かなかったなど。

  • クレンジング:データセットから破損あるいは不正なレコードを検出して修正すること。

  • アノテーション:与えられたデータに対して人間が教師データとなるメタ情報を付加すること。

  • ELSI:Ethical, Legal and Social Issues / 技術的な課題以外にも法律や倫理、あるいはその技術が社会に受け入れられるかなどの課題を指す。*3

  • FAT:Fairness, Accoutablity and Transparency / システム利用においてプライバシーや公平性の問題について取り組むコミュニティ。

  • アセスメント:評価。できたモデルの精度がビジネス課題に対して効果があるかどうか?を評価する。

  • PoC:Proof of Concept / これから生まれるデータに対しての検証を行う。簡易的なシステムを組んで実地検証など。

  • GDPRGeneral Data Protection Regulation / EU域内の個人データ保護を規定する法

  • フェールセーフ:操作ミスや誤操作などが発生した際に、なるべく安全な状態に移行するような仕組み。*4

  • クライシス・マネジメント:危機による被害を最小限にする火消しと平常化と再発防止を目指す復旧。

  • PAI:Partnership on AI / Meta,Amazon,Google,IBM,Microsoftの5社が2016年に立ち上げた非営利組織。AI技術の実世界への開発手法の共有や、プライバシー、セキュリティの懸念事項に関する議論も行う。

  • 倫理的に調整された設計:米国電気電子学会(IEEE)が2016年に発表した提言。道徳的価値および倫理的原則に即して人間と調和するAIを設計する方法を述べている。

  • シロマAI原則:2017年にアメリカの非営利団体FLIが提唱した原則。5つの研究課題、13の倫理と価値、5つの長期的な課題に関する原則を提示している。

  • 人間中心のAI社会原則:2019年に内閣府が発表した原則。人間の尊厳が尊重される社会、多様な背景を持つ人々が多様な幸せを追求できる社会、持続性ある社会の 3 つを基本理念とし、7 つの原則から構成されている。

  • ICJI:記号推論などの伝統的なテーマを含む人工知能技術全般をテーマとしている学会

  • NeurIPS:ニューラルネットワーク技術を主にテーマとしている学会であるが、近年は機械学習をテーマにした発表が増加している

  • CVPR:画像認識を主にテーマとしている学会

  • Society5.0:日本政府が、仮想空間と現実空間を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会を提唱したもの。

ここの範囲ってどう対策すればいいんだろうか。。。

G検定学習記録_生成モデル

thumpx3.hatenablog.jp

続き。 今までの回帰や分類を行うモデルは識別モデルと呼ばれる。 今回のは生成モデルといい、学習したデータを元にして新たなデータを生み出すモデル。 ディープラーニングを用いた生成モデルを深層生成モデルと呼ばれる。

用語 解説
変分オートエンコーダ(VAE) オートエンコーダをベースとした生成モデル。特徴量から潜在変数への変換が行われ、潜在変数をランダムにサンプリング。サンプリングされた潜在変数から画像の復元が行われる。
敵対的生成ネットワーク(GAN) ジェネレータとディスクリミネータで構成されている。ジェネレータではランダムなベクトルから画像を生成、ディスクリミネータではジェネレータが生成した偽物を識別する。ex. DCGAN, Pix2Pix, CycleGANなど

G検定学習記録_強化学習

thumpx3.hatenablog.jp

続き。

強化学習における用語

用語 解説
エージェント 学習者
環境 エージェントの外側にあるもの全て
状態 現在の環境
報酬 状態が推移する時、同時に得られる結果
行動 エージェントがとりうる選択肢
方策 状態から行動を決める際のルール
行動価値関数 現在の状態から次の行動を評価する関数
割引率 エージェントが遠い将来の報酬と近い将来の報酬を比較すること

強化学習のアプローチ*1

用語 解説
モデルフリー型 環境モデルを使用しない
モデルベース型 環境モデルを使用する

モデルフリー型の学習

・価値関数ベース:現在の状態に基づいて最適な行動を選択する。方策が価値関数から導かれる。

用語 解説
モンテカルロ法 行動による累積報酬の期待値をそのまま評価する方法
時間差分法 次の時刻の履歴データを用いた価値関数と現在の履歴データを用いた価値関数との差を逐次計算しながら価値関数を更新していく方法
SARSA 価値ベースの方策オン型強化学習の一例。状態と行動を対応づける方策関数に基づく。
Q学習 方策オフ型のアルゴリズム。行動価値関数の更新に方策の結果を採用しない。

・方策関数ベース:価値関数を用いず、方策を直接操作することで計算する。

用語 解説
REINFORCE 方策勾配アルゴリズムの一例。状態を入力とし、出力としてある行動をとる確率を生成する方策を作成する。

・混合アプローチ:価値関数ベースと方策関数ベースを混合させたもの。ex. Actor-Critic法

モデルベース型の学習

用語 解説
ブラックボックスモデル シミュレーターのこと。囲碁や将棋のようなゲームに使われる。

深層強化学習

用語 解説
DQN 深層学習とQ-learning(強化学習)を組み合わせたフレームワーク。メインネットワークとターゲットネットワークと呼ばれる2つのディープネットワークを使っている。

G検定学習記録_音声処理

thumpx3.hatenablog.jp

続き。

音声データのデジタル形式で一般的な変換方法をパルス符号変調(PCM)と呼ぶ。

PCMのプロセス

用語 解説
サンプリング サンプルを集める技術。44.1kHz = 44,100個のサンプル。
量子化 過剰なビットを減らして値を圧縮、計算しやすくする。
符号化 量子化の各レベルに異なるバイナリコードを割り当ててデータのデジタル化を行う。

特徴抽出

生の音声に含まれるノイズや無関係な情報をフィルタリングする手法

用語 解説
フーリエ変換 時間軸のデータ→周波数を軸としたデータに変換
メル尺度 ヘルツを人間の聴覚に基づいた尺度に変換
メルスペクトログラム スペクトログラムが周波数を時間と共に視覚的に表現する手法。メルスペクトログラムはスペクトログラムにおいて周波数をメル尺度に変換したもの
メル周波数ケプストラム係数 ケプストラムとは、フーリエ変換を逆にした計算結果。メル周波数ケプストラム係数は、音声からノイズを分離し、音声記号から音素を抽出し、機械学習の性能を向上させるために使用されている。

・HMM:統計的手法によって大量のデータを集める

・WaveNet:2016年にDeepMind社によって発表されたニューラルネットワーク。従来に比べて圧倒的に質の高い音声合成が可能となった。

使っている教材、他にも色々単語が出ていたけどまとめるのが難しかった。。

G検定学習記録_自然言語処理

thumpx3.hatenablog.jp

続き。

自然言語処理の前処理

用語 解説
形態素解析 文章を形態素(文章の最小単位)に分割し、それぞれの品詞と活用体系を決定する処理。MeCAb,kuromojiのツールがある。
ストップワードの除去 情報の少ない冠詞、前置詞、代名詞、接続詞などの単語を除くこと
トークン化 文章を適切な単語に分割すること。ツールをトークナイザーと呼ぶ
単語のベクトル化 単語や文章を数値で表現する手法
コサイン類似度 2つのベクトル間の類似度の指標で、-1~1の範囲をとる

単語のベクトル化の手法例

用語 解説
ワンホットエンコーディング 対応する単語を1、それ以外を0
Bag-of-Words 各単語が文書中に何回現れるか数える
TF-IDF 文書中の各単語の重要度を表す尺度
分散表現 単語を低次元の実数値ベクトルとして表現
Word2Vec 分散表現の一つ。単語をベクトル空間に埋め込む
FastText Word2Vecをベースにして、テキストの分類と単語の特徴表現の学習を行うライブラリ

様々なモデル

用語 解説
統計的言語モデル 先行する単語から次の単語を予測する確率的なモデル。N-gram言語モデルなど
ニューラル言語モデル ニューラルネットワークをベースにしたモデル。統計的言語モデルよりも汎化能力が高い。ex.ELMO(2層の双方向LSTMを用いて埋め込み表現を学習)、BERT(双方向トランスフォーマーエンコードとして用いる。Googleによって開発)、GPT(OPenAIが開発した文生成モデル。トランスフォーマーをベースにしている)

沼沼沼