忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【Python×機械学習】基本の論理演算を攻略!AND回路の実装と考え方無題

データサイエンスの基礎となる論理演算。今回は、2つの入力がともに「1」のときだけ「1」を出力する「AND回路」を、Pythonプログラムで実装する方法を解説します。

1. 考え方:AND(論理積)の世界

AND演算は、全ての条件が満たされたときだけ真(1)となる処理です。以下の2つのリストを組み合わせて、対応する要素ごとに判定を行います。

X1 = [0, 1, 0, 1]
X2 = [0, 0, 1, 1]

[ 判定ルール ]
・X1 と X2 がともに 1 のとき → 1
・それ以外のとき → 0

2. Pythonサンプルプログラム

関数を使って論理判定を行い、for文でリストの要素を順番に処理するコードを記述します。

def and_number(a, b):
    """aとbのAND判定を行う関数"""
    if a == 1 and b == 1:
        return 1
    else:
        return 0

def main():
    X1 = [0, 1, 0, 1]
    X2 = [0, 0, 1, 1]

    print("プログラムを開始します。")

    for i in range(4):
        y = and_number(X1[i], X2[i])
        print(f"{X1[i]}, {X2[i]} = {y}")

if __name__ == "__main__":
    main()

3. 実行結果

プログラムを開始します。
0, 0 = 0
1, 0 = 0
0, 1 = 0
1, 1 = 1

4. まとめ

論理回路の考え方は、プログラミングだけでなく「ベン図」を用いた集合の理解や、統計の条件抽出にも直結します。まずはこのシンプルな「0と1の世界」の判定ルールを、コードとセットでマスターしましょう!

PR

【DS検定対策】確率の落とし穴を攻略!「条件付き確率」は世界を絞るのがコツ

確率の問題で多くの人が迷うのが、「条件が加わったとき」の計算です。今回はトランプを題材に、DS検定でも重要な「条件付き確率」の考え方を、図解で分かりやすく解説します。

1. 問題:黒いカードを引いたとき

【 問題 】 ジョーカーを除いた52枚のトランプから1枚引いたとき、そのカードが「黒(スペードまたはクラブ)」であることが分かっています。このとき、そのカードのマークが「クラブ」である確率はいくらでしょうか?

① 1/4   ② 1/2   ③ 13/52   ④ 1/13

2. 整理:標本空間(世界)の絞り込み

条件付き確率の最大のコツは、最初に「全体の世界」を条件に合わせて小さくすることです。

【 世界の切り出し 】

[ もともとの世界 ]
トランプ全 52枚(赤 26枚 + 黒 26枚)

[ 条件適用後の世界(分母) ]
「引いたカードが黒である」という条件より、
スペード(13枚) + クラブ(13枚) = 26枚

[ ターゲット(分子):その中でクラブ ]
・クラブの A, 2, 3 …… K

クラブの枚数: 13枚

--------------------------

確率: 13 / 26 = 1 / 2

3. 計算プロセス

1. 世界(分母)を限定する: 「黒である」という情報があるため、赤のカードを無視して 26枚 を分母にします。
2. ターゲット(分子)を数える: 限定された26枚の中に、クラブは 13枚 あります。
3. 答えを出す: 13/26 を約分して 1/2


4. DS検定形式:実戦4択クイズ

問:事象Aが起こったという条件のもとで、事象Bが起こる確率 $P(B|A)$ を何と呼ぶか。

① 独立確率   ② 条件付き確率   ③ 排反確率   ④ 事後分布

【 正解: ② 】

解説: ある情報が与えられたことで全事象(分母)が変化した後の確率を「条件付き確率」と呼びます。ベイズ統計学の基礎となる非常に重要な概念です。


5. まとめ

条件付き確率は、公式 $P(B|A) = \frac{P(A \cap B)}{P(A)}$ に当てはめるよりも、今回のように「分母となる世界を条件通りに書き換える」と考えたほうが直感的に理解しやすくなります。DS検定の計算問題でも、まずは「どの範囲を分母にするか」を意識しましょう!



【DS検定対策】100円玉投げの確率を攻略!「5枚中3枚」を確実に数える方法

確率の問題を解く際、頭の中だけで計算しようとすると混乱しがちです。今回も「全事象(分母)」と「条件に合うパターン(分子)」を物理的に切り分けて考えることで、確実に正解を導き出すプロセスを解説します。

1. 問題:100円玉を5枚投げる

【 問題 】 100円玉を5枚同時に投げたとき、表が3枚、裏が2枚になる確率はいくらでしょうか?

① 3/16   ② 5/16   ③ 1/2   ④ 10/32(約分前)

2. 整理:表3枚・裏2枚が出る世界

確率の基本は「全てのパターンのうち、何通りが条件に合うか」を視覚化することです。

【 世界の切り出し 】

[ 全体の世界(分母) ]
各コインが表裏の2通りなので:
2 × 2 × 2 × 2 × 2 = 32通り

[ ターゲット(分子):5枚中3枚が表 ]
5枚の場所から「表」が入る3カ所を選ぶ組み合わせ(5C3)を考えます。

組み合わせ(5C3): 10通り

--------------------------

確率: 10 / 32 = 5 / 16

3. 計算プロセス

1. 分母を出す: 5枚のコインの出方は、2の5乗で 32通り です。
2. 分子を出す: 5枚の中から「どの3枚が表になるか」の組み合わせを計算します。
 5C3 = (5 × 4 × 3) / (3 × 2 × 1) = 10通り
3. 答えを出す: 10/32 を約分して 5/16 となります。


4. DS検定形式:実戦4択クイズ

問:今回の問題のように、各試行が独立で、結果が「成功(表)」か「失敗(裏)」の2通りしかない試行を繰り返すことで得られる確率分布を何と呼ぶか。

① 正規分布   ② 二項分布   ③ ポアソン分布   ④ 指数分布

【 正解: ② 】

解説: ベルヌーイ試行(結果が2択の試行)を n 回繰り返したときに、成功が k 回起こる確率の分布を「二項分布」と呼びます。コイン投げや、製品の良品・不良品の判定などは、この二項分布の典型的な例です。


5. まとめ

「5枚投げて3枚表」という問題が出たら、まずは分母(2のn乗)を出し、次に組み合わせ(nCk)で分子を出す、という流れをルーチン化しましょう。この「数え上げの視点」が、より複雑な統計問題に進む際の強力な武器になります!


【DS検定対策】数字選択の確率を攻略!「全事象」と「同じ数字」の整理術

一見複雑に見える確率の問題も、箱の中にある全てのパターンと、その中で「当たり」となるパターンを正確に数え上げれば、計算ミスを防ぐことができます。今回は、0から9の数字を3つ選ぶケースを題材に解説します。

1. 問題:3つの数字を選ぶ

【 問題 】 0から9までの数字(計10個)から、無作為に1つずつ数字を3回選んだ場合、選ばれた3つの数字がすべて同じになる確率はいくらでしょうか?(※選んだ数字は毎回元に戻すものとします)

① 1/1000   ② 1/100   ③ 3/100   ④ 1/10

2. 整理:3つの数字が「すべて同じ」になる世界

確率を解くコツは、まず「全パターンの数(分母)」と「ターゲットの数(分子)」を視覚的に整理することです。

【 世界の切り出し 】

[ 全体の世界(分母) ]
1回目(10通り) × 2回目(10通り) × 3回目(10通り) = 1,000通り

[ ターゲット(分子):3つとも同じ数字 ]
・(0, 0, 0)
・(1, 1, 1)
・(2, 2, 2)
 ……(中略)……
・(9, 9, 9)

全パターンの数: 10通り

--------------------------

確率: 10 / 1,000 = 1 / 100

3. 計算プロセス

1. 分母を出す: 1回ごとに0~9の10通りあるので、3回選ぶと 10 × 10 × 10 = 1,000通り
2. 分子を出す: 3つとも同じになるのは、「すべて0」から「すべて9」までの 10通り しかありません。
3. 答えを出す: 10/1,000 を約分して 1/100


4. DS検定形式:実戦4択クイズ

問:このように、一度取り出したものを再び元に戻してから次を取り出す試行を、統計学で何と呼ぶか。

① 非復元抽出   ② 復元抽出   ③ 層化抽出   ④ 系統抽出

【 正解: ② 】

解説: 今回の問題のように、一度選んだ数字を候補から消さずに再び選べる状態で行うことを「復元抽出」と呼びます。逆に、一度選んだものを戻さない場合は「非復元抽出」となり、分母が10×9×8のように変化するため注意が必要です。


5. まとめ

DS検定の確率問題では、「復元」か「非復元」かを見極めることが第一歩です。今回のケースのように「全事象を掛け算で出し、条件に合うパターンを書き出す」手順を徹底すれば、確実に得点源にできます!

【DS検定】セキュリティ攻略⑧:混同注意!「認証」と「認可」の違い

情報セキュリティを学ぶ上で、避けて通れないのが「認証」と「認可」の区別です。言葉は似ていますが、役割は全く異なります。今回はその決定的な違いを整理します。

1. 【 問題 】

情報セキュリティにおける「認証」と「認可」の説明として、適切なものはどれでしょうか?

① 認証は「本人であるか」を確認することであり、認可は「特定の操作を許可する権限」を与えることである。
② 認証は「特定の操作を許可する権限」を与えることであり、認可は「本人であるか」を確認することである。
③ 認証と認可は同じ意味であり、どちらもパスワードの入力によって完了するプロセスを指す。
④ 認証はシステムの「可用性」を高めるための手続きであり、認可は「機密性」を高めるための手続きである。


2. 【 解答 】

正解: ①

3. 【 解説 】:認証(Authentication)と認可(Authorization)

それぞれの役割を、現実世界のイメージ(例えばホテルの宿泊)に例えて整理すると分かりやすくなります。

[ 1. 認証 (Authentication) ]
「あなたは誰か?」を確認する
(例:ホテルのフロントで身分証を提示して、予約した本人だと証明する)
・ID / パスワード
・指紋、顔などの生体情報
・ワンタイムパスワード

[ 2. 認可 (Authorization) ]
「あなたに何を許可するか?」を決める
(例:チェックイン後に渡されるルームキー。これによって予約した部屋だけに入れるようになる)
・閲覧権限、編集権限の割り当て
・管理者権限の設定
・特定のフォルダへのアクセス許可

--------------------------

認証(Who are you?)→ 認可(What can you do?)の順番で処理されるのが一般的です。

■ 間違いやすいポイント
「パスワードを入力したから認可された」と思いがちですが、パスワード入力自体は「認証」のプロセスです。その結果として、特定のページが見られるようになることが「認可」の結果です。


4. まとめ

「認証=本人確認」「認可=権限付与」と短く覚えてしまいましょう。試験で「アクセス権限の管理」という言葉が出たら認可、「IDとパスワードによる本人特定」が出たら認証を正解に選べるようにしておくのがポイントです。