この記事について
記事作成者が理解できていなかった用語についての説明をまとめています。
今回はDS検定対策講座の資料や公式テキストなどを参考にしながら作成していますが、
内容に間違いがある場合は、コメント欄で出典先と間違えている点をご教授いただければ幸いです。
公式テキスト
最短突破 データサイエンティスト検定(リテラシーレベル)公式リファレンスブック [ 菅由紀子 ]
講座テキスト、模擬試験内容
##1
##ベルヌーイ分布
公式p36
「成功、失敗」「表、裏」などの2種類のみの結果しか得られない試行の結果を、例えば、0と1で現した確率分布です。
コインの面が出る確率などを計算することができます。
このように、試行結果が2通りしかない試行をベルヌーイ試行と言います。
ベルヌーイ分布と二項分布はともに、変数が離散的な値をとる離散確率分布です。
##二項分布
互いに独立したベルヌーイ試行をn回行った時に「コインの表が出る」といった考えている事象がx回怒る確率を表現した確率分布です。
具体的にはコインをn回投げたときに面がx回出る確率を計算することができます。
ベルヌーイ試行の回数であるnを増加させることで、正規分布に近づいていくことが知られています。
n回の試行を行い、k回成功するとして、
一回の試行における成功確率はp
nCkはn回の試行でk回成功する仕方を表す
下記が二項分布の確率密度の関数の式となる。
P(X =k) = nCk * (P ^(k)) *(1-p)^(n-k)
二項分布の使用例
「イカサマコインの表が出る確率は80%の場合
10回コインを投げ、5回表が出る確率はいくつか」
##正規分布
公式p30
下記式で定義される連続型確率分布
正規分布は、平均を中心に左右対象で理論的に扱いやすいため、さまざまなシーンで利用されます
##9
##データパイプライン
データパイプラインを構築すると、データ処理の効率化を図れます。
##データエンジニア
大規模なデータの整理や管理、運用を行う職種です。
##データマイニング
公式p158
蓄積したデータを分析し、ビジネス上価値のある法則を見つけ出す。
膨大なデータから統計などの分析手法を使い有益な情報を見出すための技術分野です。
##データセット
データのまとまりのことです。
##10
##API
API(Application Programming Interface)
プログラム同士を繋ぐための仕組みである。
この仕組みに則って提供されるサービスを指す場合もあります。
これをAPIサービスと呼びます。
既存のAPIサービスを利用することの
利点は、アプリケーション開発の工程やコストを削減することです。
欠点は、利用しているAPIサービスに怒ったサーバー障害などのトラブルが、自身のサービスやアプリケーションにも波及する可能性があるという点です。
また、利用しているAPIサービスの使用変更や提供停止と行った提供元の都合によって、自身のサービス提供に支障が出ることです。
メリット
・既存のAPIサービスを使うことで、アプリケーション開発の工程やコストを削減することができる。
・APIサービスの例としては、郵便番号検索、天気予報、ログイン認証がある
・APIサービスには、有料の物だけではなく、無料のものもある。
参考:
##11
公式p134
##データの転送方法 (技術)
講座2章 p30
##SSH
Secure Shell(セキュアシェル、SSH)は、
暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
参考:
https://ja.wikipedia.org/wiki/Secure_Shell
##プロトコル(protocol)
プロトコルとは、コンピュータでデータをやりとりするために定められた手順や規約、信号の電気的規則、通信における送受信の手順などを定めた規格を意味します。異なるメーカーのソフトウエアやハードウエア同士でも、共通のプロトコルに従うことによって、正しい通信が可能になります。
目的別にさまざまなプロトコルがあり、身近なものとして、インターネット接続に用いるTCP/IPや、Web閲覧などに用いるHTTP、メール送受信に用いるPOPやSMTPなどが挙げられます。いずれも末尾の「P」はProtocol(プロトコル)の略です。
参考:
https://www.keyence.co.jp/ss/general/iot-glossary/protocol.jsp
##Telenet (通信プロトコル)
ネットワークを介して通信を行う際の約束事を通信プロトコルといいます。
端末から遠隔地にあるサーバー等を操作する際に使用される通信プロトコル
##FTP(File Transfer Protocol)
さまざまなデータ転送技術のベースとなっているファイル転送プロトコル
ファイル転送に用いられるものをファイル転送プロトコルといいます。
・FTPは最も古いデータ転送技術の1つであり、データをファイルという形式で扱い転送
・通信が暗号化されないという欠点がある
##SCP(Secure Copy Protocol)
ファイル転送プロトコルの1つです。
SCPでは、ネットワークを暗号化するSSH(SecureShell)と呼ばれるプロトコルによって、
パスワードの認証などを含む全てのネットワーク上の通信が暗号化されます。
SCPでは、転送が中断された場合に途中から再開できません。
・SCPは、SSH(Secure Shell)によって安全にファイル転送を行うプロトコル
・パスワードなどの認証部分を含め全てのネットワーク上の通信が暗号化される
##HTTP(HyperText Transfer Protocol)
webサーバとクライアント間で通信を行うためのプロトコルです。
HTMLで記載されたテキストなどの転送に用いられます。
通信は暗号化されません。
・HTTPはWebサーバとクライアンド(ブラウザ等)間で通信するためのプロトコル
・HTMLで記載されたテキストや画像の転送に用いる
・通信が暗号化されないという欠点がある
##HTTPS(HyperText Transfer Protocol Secure)
・通信が暗号化されたHTTP
盗聴や改ざん、なりすましを防止できる通信プロトコル
GSC(Google Cloud Storage)のAPIでは、HTTPSによってデータが転送される
##SFTP
ファイル転送プロトコルの1つです。
SFTPでは、SSHによって通信が暗号化されますが、SCPは異なり、途中で転送が中断された場合でも中間箇所から再開されます。
##12
ER図
公式p136
データベースに関するER図を構成する要素は、
エンティティ、リレーション、アトリビュート、カーディナリティの4つです。
エンティティはデータのまとまりを表す概念です。
リレーションはエンティティ間の結びつきを表します
アトリビュートはエンティティ内における属性のことです。
カーディナリティは、「1対1」「1対多」「多対多」など、
リレーションの関係を表します。 多重度とも呼びます。
レコードは、データベースのテーブルにおける行のことです。
ER図を用いることで、角テーブルの関係性を整理された状態で見渡すことができ、
データベース設計者以外の人が設計内容を理解しやすくなリます。
##18
教師あり学習の代表的な手法
5章 p78
回帰
ある入力データに対して適切な連続値を出力すること
線形回帰、決定木、ランダムフォレスト、アダブースト、k近傍法、ニューラルネットワーク
分類
ある入力データに対し適切なカテゴリ(表、裏など)を出力すること
サポートベクトルマシン、ロジスティック回帰、決定木、ランダムフォレスト、アダブースト、k近傍法、ニューラルネットワーク
##19
5章 p50
公式p59
##分類用の誤差関数(損失関数)
MSE,MAE,MSLEはいずれも回帰用のモデルで用いられている誤差関数です。
この値3つは分析結果と一緒に出されることが多い
MSE (平均二乗誤差)
予測と実際の差の二乗の平均
RMSE(平方根平均二乗和誤差)
予測と実際の差の二乗の平均の平方根
RMSE = √(MSE)
MAE(平均絶対誤差)
予測と実際の差の絶対の平均
誤差の平均という点で解釈性が良い
ハズレの値の影響を受けにくいという特徴がある
MSLE(平均二乗対数誤差)
正解値の分布が大きい場合でも適切に誤差を評価できるという特徴があります。
交差エントロピー誤差
クロスエントロピー誤差とも呼ばれ、分類用のモデルで用いられる
##23
##時系列データに対して行う処理に関する記述
時系列分析
5章 p122
公式p116
##原系列
観測されたデータのこと
原系列の移動平均を計算すると、移動平均系列が得られます。
移動平均系列に変換すると、局所的な変動が少なくなるため、長期的な傾向を捉えやすくなリます。
原系列に対して、高速フーリエ変換を実行すると、周波数スペクトルが得られます。
周波数スペクトルを見ると、原系列の周期性を確認できます。
・原系列を移動平均系列に変換すると、長期的な傾向を確認できる。
・原系列を差分系列に変換すると、長期的な傾向が取り除かれる
⇨上昇傾向か下降傾向かトレンド(直近の状況)を知ることができる。
・1分値データの原系列を1時間毎に平均することで、1時間値データが得られます。
参考:
ダウンサンプリング
1分値データの原系列を1時間毎に平均することで、1時間値データが得られます。
このように時間間隔を大きくすることを
ダウンサンプリング
と言います。
時系列分析
ある現象の時間的な変動を捉えるために、時系列データを分析すること
変動を捉えることができると、将来の変動を予測することができる。
時系列データの特徴
###ノイズ
・分析に必要とされない情報
・低周波数成分として観測されることが多い
###周期性
・ある傾向が一定の時間ごとに繰り返されること
###トレンド
・時系列データの長期的変動のこと
・移動平均を算出することによって、トレンド成分を抽出できることが多い
###移動平均
・時系列データを平滑化する方法
・時系列データに対して、区間を移動させながら平均する
・移動平均の種類
ー単純移動平均
ー指数平滑移動平均
##24
5章p137
公式p118
##構文解析
ある文の文法構造を構築する技術
##係り受け解析
ある文に含まれる単語間の係り受け構造を推定する技術であり、構文解析の中に位置付けられる。
・文を文節に分けて、それぞれの文節の関係を調べること
##照応解析
代名詞などの表現を指す対象を推定する技術
##含意関係解析
二つの文の間に含意関係が成立するか判別する技術
##形態素解析
文を形態素(単語)に分割し、各形態素の属性(品詞など)を判定すること
##形態素
意味のある最小の塊
###代表的なツール
MeCab
・最も一般的な形態素解析ツール
・言語や辞書に依存しない汎用的な設計
###JUMAN++
・MeCabに比べて、より細かい意味分類(同じ語でも意味の違いを考慮した分類)を使用
・処理に時間がかかるが精度が高い(=より正確に形態素を分解可能)
###Sudachi
・専門外の人にも使いやすい設計
####24
自然言語処理の代表的なタスクには、機械翻訳、文章要約、質問応答、対話などがある。
深層学習を用いない自然言語処理では、これらのタスクを部分問題に分解して解くことが、一般的である。
この部分問題の1つである構文解析は「ある文の文法構造を構築する技術」である。
「係り受け解析」は構文解析の中に位置づけられる。
自然言語処理では、他にも「形態素解析」という技術が用いられる。
ある文に対し、「形態素解析」を実行すると、その分は単語に分割され、単語ごとに品詞が付与される。
##25
##タスク
5章p13
機械学習分野では、機械学習モデルが対象とする問題設定のことをタスクと呼ぶ
ex. 株価予測、画像認識、画像物体検出、文章分類、機械翻訳
##一般物体認識
一般物体認識は、画像中の物体の名称や種別をコンピュータに認識・識別させる研究分野です。
一般物体認識の分野で扱われる代表的なタスクとして、以下のようなものがあげられます。
###画像分類
画像に写っている物体のクラスを出力
###物体検出
画像に写っている物体のクラスと、その物体を囲う短形を出力
ex. 入力された写真に対し、人、自動車、樹木など、あらかじめ定められたクラスの物体を四角い領域で特定する。
###セマンティック・セグメンテーション
画像のどの画素がどの物体のクラスに属しているのかを出力
##YOLO
物体検出用の手法の名称であり、タスクを指す言葉ではない
##27
5章p141
公式p119
##画像フォーマット
###PNG
・フルカラー(1677万色)に対応
・保存を繰り返しても画質は劣化しない
###JPG (JPEG)
・フルカラー(1677万色)に対応
・目視で把握できないような情報を削ることでファイルサイズを小さくする
・保存するたびに画質が劣化する
###GIF
・256色しか表現できない
・ファイルサイズが非常に小さい
・パラパラ漫画のような動画を作成可能
###BMP
・Windowsにおける標準的な画像の保存形式のことである。
・フルカラー(1677万色)に対応
・基本的に無圧縮のままファイルを生成するため、画質の劣化がなし
・無圧縮のためデータ容量が膨大になる難点もある
BMPとは、Windowsにおける標準的な画像の保存形式のことである。ビットマップ形式と呼ばれることも多い。
JPEGやPNGが圧縮保存するファイル形式であるのに対して、BMPでは基本的に無圧縮のままファイルを生成する。そのため画質の劣化がない。ただし無圧縮につきデータ容量が膨大になる難点もある。あるいは、色数を削減して、圧縮した上で保存することも可能である。白と黒のモノクロ2値から、16色、256色、1677万7216色(フルカラー)までを設定することが可能である。
参考:
###TIFF
TIFFはタグ付きイメージ ファイル フォーマット(Tagged Image File Format)の略
電子文書及び電子化文書のファイル形式の一つで、白黒2値、グレースケール、および様々なカラー形式に対応している。
TIFFの特徴は次のようなものである。
・拡張子は「.tif」「.tiff」
・取扱色は 1~8,12,24,32ビットまで
・圧縮率はあまり高くないが、可逆圧縮であることが特徴
・データ配列などのデータをタグと呼ばれる部分に記録するため、同じTIFFファイルの中にもさまざまなフォーマットが存在
・圧縮方法は、LZW,G3 Fax,G4 Faxなど マルチページの取扱が可能
参考:
##動画フォーマット
5章p146
画像データの集合体に音データを加えたデータ
動画データを処理する際は、画像処理と音処理を行うことになる
動画データの保存形式としては、MP4,AVI、MOV、FIVなどがある
###MP4
・多くの動画プラットフォームで再生可能
・容量の大きい動画を圧縮することに向いている
###AVI
・Windowsでの動画編集や再生に向いている
###MOV
・Macでの動画編集や再生に向いている
###FLV
・YouTubeやニコニコ動画などでも使用されている。
flvとは、Flash Videoのファイル形式で作成された動画ファイルに付く拡張子である。
flvは、主にFlash Playerを通じて扱われることを想定された形式であり、Webブラウザを通じて簡単に再生することができる。YouTubeやGoogleビデオ、ニコニコ動画、Ustreamといった動画共有サービスで扱われる主要な動画ファイルの形式となっており、インターネット上で配信される動作のファイル形式として広く知られている。
Adobe Flashには作成したFlash動画を.flvにエンコードする「Flash Video Encoder」が付属しており、手軽に.flvファイルを作成することができる。
参考:
##音楽フォーマット
公式p123
音声データとは
音は空気の振動 = 波
・振幅(大きさ)と周波数(高さ)をもつ
・アナログ信号(連続記号)
###WAV
取得した全てのデータを保存する方法はWAV形式
マイクで取得、変換した情報をそのまま保存するため、高音質であるものの、その分データ容量が大きくなってしまう
・Windows用の音声ファイル形式
・非圧縮のためデータサイズは大きい
###MP3
WAV形式のデータ量が多くなるという弱点を克服するために、MP3形式は人間の可聴領域に着目して開発された。
人間に聞こえない音の情報を除去することで、少ないデータ量で保存することができる
・データサイズは原音の約10分の1
・CDと同程度の音質
・ジャケット写真や歌詞もつけられる
###AAC
・MP3に比べ、若干データサイズが大きいが、音質は良い
###AIF(AIFF)
・Apple社のMacintoshにおいて、標準的な音声ファイル形式として用いられる拡張子のことである。
AIFFはコンテナフォーマットの一種である。一般には非圧縮、リニアPCMのサンプリングデータ用のフォーマットとして扱われるが、圧縮音声も記録できる。非可逆圧縮を利用した場合、ファイル拡張子は.aifc(英語: AIFF-Compressionより)となる。
参考:
##34
##統計的仮説検討
帰無仮説 : 差がないという仮説
対立仮説 : 差があるという仮説
帰無仮説が正しいと仮定し、滅多に起きないことが発生したら(棄却域に検定統計量が入ったら)帰無仮説を棄却する
滅多に起きないことは稀に起きてしまう
仮説検定における間違いは2パターンが考えられる
###第一種の過誤
・帰無仮説が正しいのに、帰無仮説を棄却してしまった
###第二種の過誤
・対立仮説が正しいのに、帰無仮説を採択してしまった
###第一種と第二種の過誤の違い
##46
##データ尺度
##48
2章p5
##データストア(HDDやSSD上でデータを管理する仕組み)
代表的なデータストア実装例
###データベース
・リレーショナルデータベース(RDB)
・NoSQLデータベース
##リレーショナルデータベース(RDB)
リレーショナルデータベースに置いてテーブルを作成する際、カラムごとにデータ型を設定する必要がある
・行と列によって構成された表形式のデーブルを管理するデータベース
・テーブルとは、Excelシートのような行や列の中に要素を持つもの
####INTEGER(整数値)
####NUMERIC(小数点を含む数値)
####CHAR(固定長の文字列)
####VERCHAR(可変長の文字列)
####DATE(日付)
####TIMESTAMP(日付と時間)
####BOOLEAN(真偽値)
##49
2章p26
##データ基盤
###データレイク
収集されたデータをそのままの状態で蓄積する場所(生データ)
・各ストレージの生データを一箇所に統合するための蓄積環境
・通常は、データの構造に依存しないストレージシステムで構築
###データウェアハウス
分析しやすい形に整形されたデータを蓄積する場所
・集計・加工されたデータの蓄積環境
・蓄積されたデータは分析などに利用される
・データウェアハウスは、SQLやPythonなどと連携できることが望ましい
###データマート
特定の利用目的のために抽出されたデータを蓄積する場所
・データウェアハウスから利用用とにあったデータを切り出した蓄積環境
・部門ごとにストレージを設置するためデータ取得処理の負荷分散が可能
データをアップロードしたり、データを異なるデータストアへ移動させたりするには、データの転送技術が必要
####データの流れ
サービス→(データを転送)→
⇨サービス用データベース→(データを転送)→
⇨データレイク(生データ)→(データを加工)→
⇨データウェアハウス→(データを抽出)→
⇨データマート→(データを転送)→
⇨解析チーム
##50
公式p145
##正規表現
正規表現(せいきひょうげん、英: regular expression)は、
文字列の集合を一つの文字列で表現する方法の一つである。
正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。まれに正規式と呼ばれることもある。
参考 :
一定のパターンの文字列が含まれていることを判定したい時、または、含まれている物を抽出したいときに、正規表現を活用した検索・抽出条件を設定します。
下記ケースで利用されます。
「入力されたアドレスの書式が正しいかどうかを判定する」
「販売履歴のテキストデータに対して、A00-A99という自社の商品コードが入っている列を見つけることができるか。」
例
A00-A99の文字列は、
正規表現では、
A[0-9]{2}
と書き表すことができます。
正規表現することで、データの絞り込みやクレンジング、データ検証などを行うことができます。
###代表的な正規表現
\d : 任意の数字以外
※言語により異なることがあります。
参考:
###正規表現が用いられる場面
・「100円」と「¥100」のように、データベースの中で、混在している文字列を「100円」に統一する
・最後が句点(。)で終わる文字列を含むデータを検索する
・「1000」のように桁がカンマで区切られていない文字列を「1,000」のような桁区切りの表現に直す
##51
##テーブルの結合処理
3章p106
公式p147
###完全外部結合
2つのテーブルに存在する全てのデータを結合する処理
SQLの場合
FULL OUTER JOIN
結合軸の値を元に、左側テーブルと右側テーブルの前データを結合する。
左テーブル∪右テーブル
###内部結合
2つのテーブルでそれぞれ結合の対象となる絡むを指定し、それぞれの絡むに同じ値が格納されているデータを結合する処理の
SQLの場合
INNER JOIN
左側テーブルと右側テーブルで結合軸の値が一致するものを結合
左テーブル∩右テーブル
###交差結合
2つのテーブルのデータの全組み合わせを抽出する処理
##外部結合
外部結合とは2つのテーブルでそれぞれ結合の対象となるカラムを指定し、それぞれのカラムに同じ値が格納されているデータを結合して取得するものです。
内部結合の場合は、一致しないデータは取得しませんでしたが、外部結合の場合は一致しない場合もデータとして取得します。
SQLの場合
LEFT OUTER JOIN
(左外部結合)
左側テーブル全てと指定した結合軸の値が一致する右側テーブルを結合
##52
###クレンジング処理
データベースなどに保存されているデータの中から表記揺れや誤記、重複等を探し、それらに対して削除や修正を行う処理
この処理により、データの質が向上する
###データオーギュメンテーション
学習データに平行移動、拡大縮小、回転、ノイズの付与などの処理を加えながらデータ数を人為的に増やすことを指す
(データを水増しすること)
画像であれば、回転ー5°、+5°ずらし、学習データを増やしていく
###サンプリング処理
データ集合からデータをランダムまたは一定の間隔で抽出することを指します。
###ゼロパディング
数値を文字として表示する際、その数値の行数が指定桁数より少ない場合に行われる処理
この処理では、表示される数値に左詰または、右詰で0を追加、これによって数値を固定長の文字列に変換
##53
###マッピング処理
データの移行やデータの結合を行う際に、異なる2つのデータを関連づけたいときの処理
###グループ化
データを特定のカテゴリごとに分類し、まとめる処理
###フィルタリング処理
特定条件に該当する行を抽出する処理
##56
##テーブルの演算
###射影
テーブルの中から特定の列を抽出する演算
###選択
テーブルの中から条件にあった行のみを抽出する演算
###結合
複数のテーブルを一定の条件に沿って1つのテーブルにまとめる演算
###差
あるテーブルから別のテーブルに含まれている業を取り除く演算
##57
##データ形式
###CSV (Comma-Separated Values)
複数の項目をカンマで区切るデータ形式
項目をカンマで区切ったものが1つのレコードとなり、それぞれのレコードは改行によって区切られる
表形式のデータを扱う際に用いられることが多い
(Excelみたいな感じかな)
CSVファイルでは項目内にカンマを含むデータを正しく読み込むことができないため、
格納するデータの体裁に応じて適切なデータ形式を選択することが重要
###TSV(Tab-Separated Values)
タブ文字で項目を区切るデータ形式
###SSV(Space-Separated Values)
空白で項目を区切るデータ形式
###XML
文書の構造を記述するマークアップ言語の一種
##58
##API
API(Application Programming Interface)
プログラム同士を繋ぐための仕組みである。
この仕組みに則って提供されるサービスを指す場合もあります。
これをAPIサービスと呼びます。
既存のAPIサービスを利用することの
利点は、アプリケーション開発の工程やコストを削減することです。
欠点は、利用しているAPIサービスに怒ったサーバー障害などのトラブルが、自身のサービスやアプリケーションにも波及する可能性があるという点です。
また、利用しているAPIサービスの使用変更や提供停止と行った提供元の都合によって、自身のサービス提供に支障が出ることです。
メリット
・既存のAPIサービスを使うことで、アプリケーション開発の工程やコストを削減することができる。
・APIサービスの例としては、郵便番号検索、天気予報、ログイン認証がある
・APIサービスには、有料の物だけではなく、無料のものもある。
参考:
公式p134
##データの転送方法 (技術)
講座2章 p30
##SSH
Secure Shell(セキュアシェル、SSH)は、
暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
参考:
https://ja.wikipedia.org/wiki/Secure_Shell
##プロトコル(protocol)
プロトコルとは、コンピュータでデータをやりとりするために定められた手順や規約、信号の電気的規則、通信における送受信の手順などを定めた規格を意味します。異なるメーカーのソフトウエアやハードウエア同士でも、共通のプロトコルに従うことによって、正しい通信が可能になります。
目的別にさまざまなプロトコルがあり、身近なものとして、インターネット接続に用いるTCP/IPや、Web閲覧などに用いるHTTP、メール送受信に用いるPOPやSMTPなどが挙げられます。いずれも末尾の「P」はProtocol(プロトコル)の略です。
参考:
https://www.keyence.co.jp/ss/general/iot-glossary/protocol.jsp
##Telenet (通信プロトコル)
ネットワークを介して通信を行う際の約束事を通信プロトコルといいます。
端末から遠隔地にあるサーバー等を操作する際に使用される通信プロトコル
##FTP(File Transfer Protocol)
さまざまなデータ転送技術のベースとなっているファイル転送プロトコル
ファイル転送に用いられるものをファイル転送プロトコルといいます。
・FTPは最も古いデータ転送技術の1つであり、データをファイルという形式で扱い転送
・通信が暗号化されないという欠点がある
###anonymous
FTPサーバーでは通常、あらかじめ登録したユーザIDとパスワードによって認証を行う
しかし、不特定多数のユーザーに対してファイルを共有する場合に全員にユーザーアカウントを発行することは現実的ではない
不特定多数のユーザーにファイルを共有したい場合、
anonymousというユーザーIDを作成し、任意のパスワードを設定することでログインすることができる。
これを匿名FTPという
##SCP(Secure Copy Protocol)
ファイル転送プロトコルの1つです。
SCPでは、ネットワークを暗号化するSSH(SecureShell)と呼ばれるプロトコルによって、
パスワードの認証などを含む全てのネットワーク上の通信が暗号化されます。
SCPでは、転送が中断された場合に途中から再開できません。
・SCPは、SSH(Secure Shell)によって安全にファイル転送を行うプロトコル
・パスワードなどの認証部分を含め全てのネットワーク上の通信が暗号化される
##HTTP(HyperText Transfer Protocol)
webサーバとクライアント間で通信を行うためのプロトコルです。
HTMLで記載されたテキストなどの転送に用いられます。
通信は暗号化されません。
・HTTPはWebサーバとクライアンド(ブラウザ等)間で通信するためのプロトコル
・HTMLで記載されたテキストや画像の転送に用いる
・通信が暗号化されないという欠点がある
一般的に、HTTP通信を利用するAPIをWebAPIといいます。
###GETメソッド
APIサービスにて、データを取得する際にはHTTP通信のメソッド
###POSTメソッド
データを通信する際に利用されるHTTP通信のメソッド
##HTTPS(HyperText Transfer Protocol Secure)
・通信が暗号化されたHTTP
盗聴や改ざん、なりすましを防止できる通信プロトコル
GSC(Google Cloud Storage)のAPIでは、HTTPSによってデータが転送される
##SFTP
ファイル転送プロトコルの1つです。
SFTPでは、SSHによって通信が暗号化されますが、SCPは異なり、途中で転送が中断された場合でも中間箇所から再開されます。
##61
##郵便番号検索API
(https://zipcloud.ibsnet.co.jp/api)
検索するURL
https://zipcloud.ibsnet.co.jp/api/search?zipcode=4420001
上記URLで検索をすると、下記結果が出力される
{
"message": null,
"results": [
{
"address1": "愛知県",
"address2": "豊川市",
"address3": "千両町",
"kana1": "アイチケン",
"kana2": "トヨカワシ",
"kana3": "チギリチョウ",
"prefcode": "23",
"zipcode": "4420001"
}
],
"status": 200
}
"zipcode": "4420001"
の数字の部分は検索した番号である。
4420001の数字を調べたい郵便番号にすることで、
他の住所を出すことができる。
##62
##SQLのコード
3章を参考
SELECT 列名 FROM テーブル名 ;
テーブルから列を取得する。
列名を「*」にすると、全部の列を選択することができる。
複数列数を取る場合は「, 」で区切ればできる。
DISTINCT
重複行の削除
ASC
昇順
DESC
降順
GROUP BY
データをグループ化して集計関数を適用する場合に使用される句
ORDER BY
データを並び替えるときに使用される句
LIMIT
最終的に取得(表示)するデータ件数を指定するために使用される句
ただし、SQLサーバーのデータ読み取り量は変わらないので注意
→クラウドサーバーなど使用している場合、多額な請求になる場合もある
###WHERE
WHERE 列名 条件 ;
指定した条件に該当する行を取得するときに使用される句
AND、OR、NOTを用いて複数条件の指定が可能
####BETWEEN
~以上〜以下
####IN
~に含まれている
####LIKE
文字列検索に用いる
#####%
任意の長さの文字
"A%" : Aから始まる任意長さの文字列を取得する
#####_
1文字
A_y : Aからはじまりyで終わる3文字の文字列を取得(Amyなど)
###HAVING
グループ化したデータに対して、条件にあったデータを選択するときに使用
3章p95
###JOIN
テーブル結合
##63
2章p24、25
##RDB(リレーショナルデータベース)
行と列をもつテーブルの集合で構成される
代表的なシステム:MySQL、PostgreSQL
##NoSQL
RDB以外のデータベースをすべて指す
構造を持たないデータに最適化されたデータベース
-構造を持たないデータ一例
- キーバリュー型データ
- JSON型データ
- グラフ型データ
-特徴
・分散処理による高速データ読み書きが可能
(ただし、分散処理しにくいクリエやデータ構造はサポート外となる)
・レスポンス速度を重視するため、一度に処理できるデータ量は小さめ
代表的なシステム : HBase, MongoDB、Cassandra、Redis
###NoSQLデータベースが取り扱うデータ形式
####キーバリュー
データに認識符号(キー)を付けて管理
####ワイドカラム
複数のデータを1つのキーを付けて管理
行ごとに異なる列数を持つことができる
(行ごとに列数が違っても問題がない)
####ドキュメント
ドキュメントと呼ばれる単位でデータを管理
ドキュメントの構造は自由
##64
テーブルの正規化
データの重複を無くし、テーブルから冗長性を取り除いた状態にすること
- データの追加や更新、削除などの操作がしやすくなり、メンテナンス効率が向上
リレーショナルデータベースの設計においては、「正規形」という概念が用いられる
リレーショナルデータベース(RDB)において
テーブルから冗長性や不整合を取り除くことをテーブルの正規化という。
###非正規形
データの冗長性が不整合がある状態
###第一正規形
下記のようなデータ状調整が不整合が解消された状態
・同じ列が複数ある
・1つのセルの中に複数の値が入っている
・結合セルが存在する
同一行内における繰り返しなどを解消したものを第一正規形と呼ぶ
⇨同じ属性の繰り返しがあるデータの繰り返しの排除をする。
⇨講座名は講座コードに従属している状態はまだ第一正規形
名前 講座名 講座名 講座名
Aさん B講座 C講座 D講座
↓
名前 講座名
Aさん B講座
Aさん C講座
Aさん D講座
###第二正規形
第一正規形を満たし、
「主キーのいずれかが定まれば非キーのいずれかが定まる状態」
が解消された状態
第一正規形を満たし、非キーの一部に従属するものを別のテーブルに分離したものを第二正規形と呼ぶ
⇨講座コードと講座名を元のデーブルから分離し、テーブルが2つある状態
名前 年齢 講座No 講座名
Aさん 28 BBBB B講座
↓
主キー
名前 年齢 講座No
Aさん 28 BBBB
非キー
講座No 講座名
BBBB B講座
このようにテーブルを分けることでみやすくする
###第三正規形
第二正規形を満たし、
「非キーのいずれかが定まれば、他の非キーのいずれかが定まる状態」
が解消された状態
第二正規形を満たし、主キー以外の項目同士が従属関係をもつものを別のテーブルに分離したものを第三正規形
非キーのテーブルでさらに第二正規形のように行う
####まとめ
リレーショナルデータベース(RDB)において
テーブルから冗長性や不整合を取り除くことをテーブルの正規化という。
同一行内における繰り返しなどを解消したものを第一正規形と呼ぶ
第一正規形を満たし、非キーの一部に従属するものを別のテーブルに分離したものを第二正規形
第二正規形を満たし、主キー以外の項目同士が従属関係をもつものを別のテーブルに分離したものを第三正規形
同じもの繰り返していると長くなりやすいのと、修正した際に全ての行を修正するのは面倒なので
第一正規で繰り返して横に長いものを解消させる
第二正規で主キーと非キーのテーブルを分け、
第三正規で非キーと非キーのテーブルを分ける
第二正規、第三正規で分けることによって
コードNoや内容が変わった際に、対応しやすくする。
リレーショナルデータベースの運用をしやすくするために、正規化を行っていく。
##65
公式p167
2章p52
##暗号化技術
暗号化には様々な種類があり、それらは安全性(強度)や処理速度が異なる
電話やインターネットの通信などは、原則として暗号化され、内容が保護されている
###暗号化
あるデータに対して、特別な処理を施してそのままでは読めない特殊なデータに変換すること
公開鍵 : 暗号化
秘密鍵 : 復号化
###復号化
暗号化したものを元に戻すこと
公開鍵 : 暗号化
秘密鍵 : 復号化
###共通鍵暗号方式
1対少数では有用
データの送受信者がともに共通の鍵を用いて暗号化や復号化を行う
この鍵を持たない第三者は元のデータを知ることができない
同じ送受信者に何度も通信をやり取りする際には有用
共通鍵暗号方式では、鍵を安全に相手に渡す必要があるが、
インターネット上で大多数の相手に安全に共通鍵をわたすのは困難であることが課題
###公開鍵暗号方式
1対多数で有用
暗号化と復号化で別々の鍵を用いて行う
公開鍵 : 暗号化
秘密鍵 : 復号化
受信者が2つの鍵(秘密鍵と公開鍵)を作り、公開鍵を任意の送信者に公開する
データの送信者は公開鍵を用いて暗号化する
暗号化されたデータは秘密鍵を持つものにしか復号できない。
###SSL
インターネット通信の暗号化で使われる
公開鍵暗号方式を用いて通信を行う2者間で一時的な共通鍵を共有して、
その後は共通鍵暗号方式で暗号化を行う。
##66
##ハッシュ関数
公式p169
特定の文字列を別の数値文字列に変換する関数
入力された値に一定の手順で計算を行い、あらかじめ決められた固定長の出力値を返す関数
ハッシュ関数は、入力の長さによらず、固定長の出力を返す。
同じ入力には必ず同じ出力を返す。
ABCDEFGという文字列は、ハッシュ関数により8E5Aという別の文字列に変換できる
ハッシュ関数は非可逆の声質を持ち、8E5A⇨ABCDEFGは変換できない。
ハッシュ関数で変換された値は、要約値やハッシュ値と呼ばれます。
元データが少しでも違うとハッシュ値は全く異なる値に変換される。
ABCDEFG⇨8E5A
ACBDEFG⇨9G7H
ハッシュ関数は、データ検索にも用いられる。
ハッシュ関数は、データ改ざんを検出する仕組みを構築する際にも用いられる
ハッシュ関数は、データを別の表現に変換する
ハッシュ関数は、データベースにおいて重複しているレコードを探す
ハッシュ関数は、入力された文字列を変換し、事前に変換した正しい文字列と比較する
ハッシュ関数は、データ集合の中から特定のデータを探し出す
ハッシュ関数は、ノイズ除去の目的で用いられることはない。
##67
公式p179,214,215
##個人情報保護
###GDPR(General Data Protection Regulation)
###EU一般データ保護規則
個人データの識別、セキュリティ確保の方法、透明性要件、漏洩検知と報告方法など幻覚で細かい用件が定められている。
EU域内の居住者が適用対象となるため、日本においても、海外向けの商品を扱うECや、海外からのアクセスがあるサービスの場合は対応が必要です。
EU内でサービスを展開するEU外の企業にも適用されるということで日本でも大きな話題になった。
EUと同等の個人情報保護水準を有さない地域への個人データの持ち出しを禁ずる「越境移転規制」が定められているが、欧州委員会によって「EU域内と同等の個人情報保護水準にある国」であることが認められれば、データを持ち出すことが許される。
###CCPA(California Consumer Privacy Act)
###カリフォルニア州消費者プライバシー法
2020年から適用開始
プライバシー保護という観点では、GDPRに近い法令であり、米国各州でも同様の法案が可決されている流れになっている
###改正個人情報保護法
2022年に日本でも改正個人情報保護法が施行される予定
権利保護の強化、
事業者の債務の追加、
法令違反に対するペナルティ強化、
第三者提供におけるルール
など、
データの利活用方法についても記述された法律です。
2021−2022年にかけて、各業界において企業が村主すべき規制や、具体事例などのガイドラインが示されていくことになっている
###GLUE
言語理解タスクに用いられるベンチワークの名称
###その他
「日本は、EU域内と同等の個人情報保護水準にある国」であることを認められたことを「十分性認定」という
##68
公式p178
##データ倫理
###ELSI
新しい科学技術を社会実装する際に生じうる倫理的課題・法的課題・社会的課題などのm技術的課題意外のあらゆる課題を一体的に検討すべきという考え方
論理的・法的・社会的課題(Ethical,Legal and Social Issues)の頭文字
2019年に内閣府から発表された「人間中心のAI社会原則」も、このデータ倫理の問題に対する政府の意思が一部反映されている
###HGP(ヒトゲノム計画)
米国政府が資金提供するヒトゲノム計画において初めてELSIが用いられた
##不正行為
###捏造
存在しないデータの作成
###改ざん
データの変造、偽造
###盗用
他人のアイデアやデータを適切な引用なしに使用
###BERT
Googleによって開発された、自然言語処理(NLP)の事前学習用ための Transformer ベースの機械学習手法。
BERT は、Google の Jacob Devlin と彼の同僚によって2018年に作成され公開された 。
2019年現在 、Google は BERT を活用して、ユーザー検索の理解を深めている
###BLEU
BLEU(バイリンガル評価アンダースタディ)は、ある自然言語から別の自然言語に機械翻訳されたテキストの品質を評価するためのアルゴリズムです。
###LSI
LSIとは「Large Scale Integration(大規模集積回路)」の頭文字をとったもの。
トランジスタやダイオード、受動素子などを集積させて、複雑な機能を実現する電子回路部品です。 シリコンなどの半導体で構成されることが一般的です。
##73
公式p177
###一次情報
自身で収集したアンケートやヒアリング結果など、実際にデータ収集、体験した情報
「自分で集めたデータ」
###二次情報
他者が執筆した書籍や論文に掲載された調査結果など、他社から得た情報や一時情報を元に編集された情報
「公開/販売されているデータ」
###三次情報
噂話のような情報源がわからない情報
###MNIST
手書き数字画像のオープンデータであり、学習よう画像6万枚とテスト画像1万枚で構成されている
###RESAS
経済産業省と内閣官房が提供する地域経済分析システムであり、画像系のオープンデータではない
##74
##データ・AI利活用に関する法
###オプトイン
参加することを希望する手続き
参加することを希望しないと参加することができない
データ使用してもいいよと許可を得ないと、そのデータを使用することができない
###オプトアウト
個人情報を一定の条件を満たした場合に、本人の同意なしに第三者に提供できるようにする制度です。個人情報保護法によって規定されている。
オプトアウトにより個人情報を公開する事業者は、内閣府の外局である個人情報保護委員会に必要な事項を届ける義務を負う
オプトアウトにより個人情報を公開する事業者は、公開している個人情報の本人から要求があれば、公開を差し止めなければならない
要配慮個人情報をオプトアウトによっては提供できない
参加しないことを希望する手続き
参加しないことを希望しないと基本的には参加になる
データ使用しないでねと希望したら、そのデータを削除するようにしないといけない
また、データ使用しないでねと希望が出せる仕組みにしないといけない
個人情報を第三者に提供する場合、
原則、あらかじめ本人の同意を得る必要がある
本人の同意を得ない場合にはオプトアウト手続きを行う
本人の求めに応じてその本人のデータの提供を停止することとする
本人が容易に知ることができる状態にする
① 第三者提供を利用目的としていること
② 提供される個人データの項目
③ 提供の方法
④ 本人の求めに応じて提供を停止すること
⑤ 本人の求めを受け付ける方法
本人に通知した事項を個人情報保護委員会に届け出る
(個人情報保護委員会はこれを公表する)
##76
###SCAMPER(Substitute Combine Adapt Modify Put Eliminate Reverse(Rearrange))
アイデアを量産する際に用いられるフレームワーク
参考
##78
###PoC(Proof of Concept)
日本語では概念検証と呼ばれる
AI開発におけるPoCでは、AIモデルの構築、構築したAIモデルの性能評価、AIモデルを本運用する場合の採算性確認などを行います。
###RFM分析
顧客への理解を深めるために用いられる分析手法
顧客のセグメンテーションが行われる
###アソシエーション分析
事象の関連性を分析する手法
勾配履歴データを分析する際によく用いられる
##88
公式p198
##ウォーターフォール開発
分析、設計、実装、テストという工程を順番に進めていく手法です。
工程が次に進むと前工程に戻ることはなく、各工程で作成されるドキュメントによって工程間を伝達します。
上流工程から下流工程へ滝が流れ落ちるように開発を進めていく
最終ゴールや要件を明確にしてから開発に着手する
完成品の品質が担保しやすい、スケジュールが見積りやすい、工程ごとの専門家を教育・採用しやすいという利点があるが、
開発期間が長期化しやすい、仕様や計画の変更がしにくいのが欠点
##アジャイル開発
分析、設計、実装、テストを短い期間(1週間から1か月)で繰り返し行い、動作する完成品の一部を作り、顧客にフィードバックをもらうという工程を繰り返しながら開発する手法です。
顧客と大差をしながら徐々にシステムを作り上げていくため、要求と完成品の間で認識の齟齬が起きにくい点がメリット
方針を明確にしないと、開発の方針性がぶれやすいという欠点がある。
###スクラム
###XP
エクストリーム・プログラミング
###FDD(Feature Driven Development)
ユーザー機能駆動開発
##89
##セキュリティ
公式p164
機密性
認可された認証ユーザーだけがデータにアクセスできることを保証します。
対策性 : パスワード認証、アクセス権限制御、暗号化
可用性
データに対してアクセスを許可されたユーザーが要求した時に、いつでも利用可能であることを保証します。
対策例 : システムの二重化、データバックアップ
完全性
データが不正に改ざんされておらず、正確で完全であることを保証します
対策例 : 電子署名、ハッシュ関数
####ハッシュ関数
特定の文字列を別の数値文字列に変換する関数