2019年1月5日土曜日

画像の圧縮

画像の大きさはそのままに、ファイルサイズを小さくする
ImageMagickでできる

$mogrify -quality 85 *.jpg


ただし一度プレビューで品質下げて書き出すなどしたのを改めてやると、ファイルサイズが大きくなることもある


コマンドで画像を一括処理! ImageMagickの便利な使い方
https://liginc.co.jp/394506

画像を最適化する 
https://developers.google.com/speed/docs/insights/OptimizeImages?hl=ja



フォルダ内のjpegファイルをjpgにする
for file in *.jpeg ; do mv $file ${file/%.jpeg/.jpg} ; done


2018年12月29日土曜日

PythonでMCA(コレスポンデンス分析)

Pythonでコレポンをやる

コレスポンデンス分析

  • 略してコレポン

    • 数量化III類(Quantification Theory III)、対応分析(CA: Correspondence Analysis)、多重対応分析(MCA: Multiple Correspondence Analysis)、双対尺度法(Dual Scaling)など、呼び方や近縁手法が複数存在し、数理的には非常に近い関係にある
    • ここでは「コレポン」表現をメインに据えている。実際にはCAだったりMCAだったりするが数理的背景は非常に近いため細かい区別は気にしない
  • point

    • 観測データを単純化することで、データの背後にある潜在的な要素を解釈しやすくする
    • 質的データ(カテゴリデータ)の関係構造を探索するのに適している
    • 主成分分析(Principal Component Analysis)と数理的に近い構造を持つ
    • PCA同様にデータを縮約して、2次元プロットなどで可視化できる
    • 統計的厳密性よりは、結果解釈のしやすさや仮説探索的手法として喜ばれやすい(コレポンに限らない)
    • 大雑把な傾向把握にとどめるのが望ましい(細かいことを気にしないことこそコレポンらしさかも)
  • Rの場合

    1. インストールして library(ca)
    2. 読み込んで実行して ca(table.T)
    3. 可視化 plot(ca(table.T))
  • Pythonの場合

    • ここではmcaライブラリを使用 python -m pip install mca
    • 単機能でシンプルではあるが、新規に始めるならprinceライブラリの方がいろんなことに使いやすいかも

コレポンとPCA

  • コレポンの特徴
    • カテゴリデータや頻度データの関連構造を少数の軸で表現する手法。期待頻度からのズレ(カイ二乗統計量)が大きい方向を探す。
    • カイ二乗距離に基づく幾何を前提としている。行・列の周辺度数で基準化した行列を特異値分解する。
    • 行と列を双対的に扱い、同一空間上に同時布置できる。
  • PCA(主成分分析)の特徴
    • 数値データの分散構造を少数の軸で表現する手法。データのばらつき(分散)が最大になる方向を探す。
    • ユークリッド距離に基づく幾何を前提としている。共分散行列または相関行列を固有値分解する。
    • 行(サンプル)は主成分スコア、列(変数、特徴量)は負荷量として表現される。
  • コレポンとPCAの共通点
    • 多変量データの構造を少数の軸で要約・可視化する次元圧縮手法(データの背後にある構造を捉えるためのもの)
    • データ中の「似たパターン」や「関係構造」を低次元空間へ埋め込む(低次元に圧縮して、似た回答傾向を可視化する)
    • 元データを座標空間へ変換し、近い点ほど似た性質を持つと解釈できる
    • 軸ごとの構造を使って、クラスタ傾向や潜在的な特徴を読み解ける
  • コレポンとPCAの相違点
    • コレポンとPCAは少なくとも数理的な骨格は同じなんだが
    • 軸の解釈に対する考え方の違い、解析結果の安定性など運用上は多くの相違点が存在する(PCAにおける軸は量的な増減方向として解釈しやすい。コレポンにおける軸はカテゴリの対立軸として表れやすい)
    • だがコレポンは適用範囲が広い。理論的前提から多少外れていても、大まかな構造把握用途では有用な場合が多い。特に順序尺度のアンケートデータなどでは、PCA的に見るかコレポン的に見るかの境界が曖昧になることも多い

コレポンの注意点

  • 仮説探索や構造把握に向いた手法であり、推定や検定のような厳密性を主目的とする分析とは少し性格が異なる
  • 適用範囲が広い(深く捉えなくともなんでも実行しやすい)とはいえ、本来持っていた情報を相当捨てていることは気に留めておく
  • 変数間で尺度の意味が大きく異なるデータには向かない(例えば年収と身長と気温を同列の変数として扱うのは不適切)
  • PCA同様に異常値や希少カテゴリは空間構造をゆがめやすい

コレポンの実情

  • 特にマーケティング分野におけるアンケート調査データにおいて重宝されやすい
  • 「結果の見た目がわかりやすい」「直感的に理解しやすい」「解釈やストーリーを考察しやすいので話が弾む」などが主な理由として考えられる
  • 他に「クロス数表があればできちゃう」「たいていの設問形式に対応できちゃう(ように感じやすい)」「簡単な操作で簡単なアウトプットが得られちゃう」もありそう
  • 理論的美しさよりも、実行しやすさや適用範囲の広さ、データの背後構造の見えやすさが魅力と言える

コレポンの守備範囲

  • 理論的には、行・列ともにカテゴリデータの頻度表(人数、出現数などのcountデータ)を対象としている

    • 例えば、行に「カフェのメニュー」、列に「性年代区分」を置いたデータセット(各メニューを好きと回答した人数の性年代別集計値)でおこなうのが王道
    • だがクロス数表を読み慣れている場合はコレポンやる意義を感じにくいかも
    • 性別や年代による違いは想像がしやすいため(ある程度わかってる顕在的要素をなぞってるだけに見えるぶんコレポンの利点が活かされにくい)
  • コレポンをよく使う場面

    • 例えば、行に「カフェのメニュー」、列に「イメージワード」を置いたデータセット(各メニューの印象にあてはまるワードを選択した人数のワード別集計値)
    • イメージが似てるメニューはどれとどれなのか、逆に似ていないのはどれかといった解釈がしやすい(クロス数表からは読み解きにくい)
    • コレポンの理論的枠組みからはやや外れるが、コレポンやる意義を感じさせやすい
  • 他に、

    • 行に「回答者」、列に「イメージワード」を置いたデータセット(回答者各自がカフェの印象にあてはまるワードに5段階評価したローデータ)
    • これも理論的枠組みからは外れる(PCAっぽいともいえる)が、ある人がどんなワードを重視してるか、似た者同士は誰かといった解釈がしやすい
  • 比率表(回答者数全体に占める割合、%データ)のデータセット

    • コレポン自体は実行できるし、頻度表よりも入手しやすい場面もあるなどこちらでおこなう人が多数派かもしれない
    • これまた理論的枠組みからは外れるが、単純化するという性質からさほど弊害が表れにくい(頻度表での実行結果と大差ないなど)
    • 同様理由で、表の縦%や横%が100を超える場合(複数回答形式設問)でもおこなわれているだろう

コレポン結論

  • 理論を超えて使いやすいが、わかりやすさに引きづられない
  • 簡単に得られる情報と引き換えに、捨てている情報も多いことを忘れない

コレポン実行例

  • あるカフェのお客様アンケート結果をコレポンしてみる
  • メニュー × イメージワード
    • 実務においてありがちなコレポンの使い方
    • お店のメニュー(8品)それぞれに対して、印象にあてはまるイメージワード(8項目)をMA(複数回答可能形式)で聴取
    • 行(メニュー)、列(イメージワード)のクロス数表(選択した人数の頻度表)
    • MA選択率よりはイメージワード各5段階評価のTOP2人数の方がコレポン理論には近い。とはいえ回答者負荷の高い設問形式を推奨したくない意図
# import
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import mca

# version
import sys;print("Python", sys.version.split()[0])
import platform;print("OS", platform.platform())
print("is_google_colab:", "google.colab" in sys.modules)
from importlib.metadata import version
packages = [
"pandas",
"numpy",
"matplotlib",
"mca"
]
for pkg in packages:
    try:
        print(pkg, version(pkg))
    except Exception as e:
        print(pkg, "not installed")
Python 3.11.15
OS macOS-26.5-arm64-arm-64bit
is_google_colab: False
pandas 2.2.0
numpy 1.26.4
matplotlib 3.10.9
mca 1.0.4
# サンプルのdataframeを生成する

# メニュー(行)
menus = ['Coffee', 'Tea', 'Latte', 'Espresso', 'Cake', 'Sandwich', 'Cookie', 'Toast']

# イメージワード(列)
words = ['香り高い', 'コスパが良い', '見た目が映える', '濃厚な味わい', 
         'ボリューム満点', '手軽に食べれる', '贅沢な気分', '健康的なイメージ']

# プロットがある程度バラつくように、『Tea』『Cookie』『手軽に食べれる』が中心近辺にくるように平均的な値に寄せている
data = [
    [50, 25,  5, 15,  5, 30, 10,  5], # Coffee
    [25, 20, 15, 10, 10, 35, 15, 15], # Tea
    [10, 10, 45, 35, 10, 20, 30,  5], # Latte
    [40, 10, 10, 55,  5, 15, 25,  5], # Espresso
    [10, 10, 50, 30, 10, 15, 45,  5], # Cake
    [ 5, 25, 10,  5, 50, 40,  5, 30], # Sandwich
    [20, 20, 18, 15, 15, 30, 15, 12], # Cookie
    [10, 40,  5,  5, 35, 40,  5, 20], # Toast
]

df = pd.DataFrame(data, index=menus, columns=words)


# MCAの実行
ncol = df.shape[1]
mca_ben = mca.MCA(df, ncols=ncol, benzecri=False, TOL=1e-8)


# 行スコア(=座標)
result_by_row = pd.DataFrame(mca_ben.fs_r(N=2))
result_by_row.index = list(df.index)
print ("Score by row:")
print(result_by_row.round(3))
Score by row:
              0      1
Coffee    0.010 -0.686
Tea       0.132 -0.137
Latte    -0.513  0.348
Espresso -0.535 -0.413
Cake     -0.594  0.440
Sandwich  0.771  0.284
Cookie    0.080 -0.020
Toast     0.710  0.047
# 列スコア(=座標)
result_by_column = pd.DataFrame(mca_ben.fs_c(N=2))
result_by_column.index = list(df.columns)
print ("Score by column:")
print(result_by_column.round(3))
Score by column:
              0      1
香り高い     -0.184 -0.727
コスパが良い    0.433 -0.130
見た目が映える  -0.533  0.537
濃厚な味わい   -0.629 -0.123
ボリューム満点   0.724  0.326
手軽に食べれる   0.339 -0.065
贅沢な気分    -0.579  0.227
健康的なイメージ  0.642  0.160
# 固有値と寄与率

# MCAでは「行と列のどちらか少ない方の数-1」 が固有値(eigenvalue)の最大数になるためそれを算出
num_of_eigenvalue = min(len(df.index), len(df.columns)) - 1

data = {
    'Factor': range(1, len(mca_ben.L) + 1),
    'value': pd.Series(mca_ben.L),
    'ratio': mca_ben.expl_var(greenacre=False, N=num_of_eigenvalue)
}
columns = ['Factor', 'value', 'ratio']
table2 = pd.DataFrame(data=data, columns=columns).fillna(0)

# ratioの累計(cumulative_ratio)列を追加
table2['cum_ratio'] = table2['ratio'].cumsum()

print("Principal & Inertia(固有値 寄与率):")
print(table2.round(3).to_string(index=False))
Principal & Inertia(固有値 寄与率):
 Factor  value  ratio  cum_ratio
      1  0.266  0.598      0.598
      2  0.131  0.296      0.894
      3  0.033  0.075      0.969
      4  0.007  0.016      0.986
      5  0.004  0.008      0.994
      6  0.003  0.006      1.000
      7  0.000  0.000      1.000

# 上記Factor1,2でプロット
plt.figure(figsize=(7, 6))

# plt.rcParams['font.family'] = ['sans-serif', 'Meiryo']  # windows
plt.rcParams['font.family'] = ['sans-serif', 'Hiragino Sans']  # mac

# plot by row
plt.scatter(result_by_row[0], result_by_row[1], color='tab:blue', s=20, marker="o", label="Row")
for k, v in result_by_row.iterrows():
    plt.annotate(k, v, xytext=(2, 2), textcoords="offset points")

# plot by column
plt.scatter(result_by_column[0], result_by_column[1], color='tab:orange', s=20, marker='s', facecolors="none", label="Column")
for k, v in result_by_column.iterrows():
    plt.annotate(k, v, xytext=(2, 2), textcoords="offset points")

plt.axhline(0, color='gray', linestyle='dashed')
plt.axvline(0, color='gray', linestyle='dashed')
plt.xlabel('Factor 1')
plt.ylabel('Factor 2')
plt.title("Correspondence Analysis\n(Customer Satisfaction Survey Example)")
plt.legend(loc='best')
# plt.gca().set_aspect("equal")
plt.show()

結果の解釈例

  • 左上のCakeとLatteは似たイメージでお客様から捉えられている
  • CakeとLatteはともに「映える」「贅沢」といったリッチなイメージが強そう
  • これらとは対極の右側にはSandwich, Toastが「手軽に食べれる」日常的なMenuとの評価
  • 横軸(第1軸)はハレと日常を表すような背後要因が考えられる
  • 下方のCoffeeはハレと日常の中間的ポジションながらも、Espressoともども「香り高い」イメージ
  • 縦軸(第2軸)は寄与率が1軸ほど大きくなく、背後要因はやや読み解きにくい(今回使用したイメージワードでは不足だった可能性も考えられる)
  • 中心付近にプロットされた「Cookie」「Tea」は他のMenuほどには強い特徴がみられなかったと解釈できる

(2026年5月更新)


2018年11月17日土曜日

exif情報の一括削除

ImageMagickでできる

フォルダ内のExif情報を削除したい場合はオプションの「-strip」で可能
該当フォルダに移動した後、一括操作の「mogrify」を使う
mogrify -strip *.jpg


イメージマジックでフォルダ内のExif情報を一括削除する
https://www.s-oj.com/ec-business/system/imagemagick%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AEexif%E6%83%85%E5%A0%B1%E3%82%92%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4/

----

すべてのpng画像をjpgに変更
mogrify -format jpg *.png
(元画像は残る)

https://liginc.co.jp/394506

----

ImageMagick基本編:Mogrifyを用いた画像の一括処理について
http://shumilinux.blogspot.com/2016/06/imagemagick-mogrify.html

2018年10月13日土曜日

IT革命とビッグデータとAWS

IT革命

1990年代 インターネットの商用化、Web検索サービスの登場、パソコン/携帯電話/デジカメ/ビデオゲームの普及。ゴードン・ムーアが1965年に予測、のちに修正・確立されたムーアの法則を自己成就するかのごとく集積回路は細密化、需要拡大を伴って、情報処理能力、伝送容量、記憶容量のコストは劇的に低下した(IT革命)。


情報処理能力(CPU・プロセッサ)の向上

急速な進化の時期: 1990年代〜2000年代前半

ムーアの法則(半導体の性能が約2年で2倍になる)が一番ハマっていた時代。Windows 95が出た1995年頃のCPUのクロック周波数は100MHzくらいだったのが、2000年代に入るとあっという間に1GHzを超えた。処理速度が数十倍〜数百倍に跳ね上がった。


伝送容量(通信・インターネット)

急速な進化の時期: 2000年代前半(2001年〜2005年頃が特に激変)

ダイヤルアップ接続(ISDNなど)は画像1枚開くのにも時間がかかっていた。ADSLや光ファイバー(日本や韓国の場合。ヨーロッパではADSL アメリカではCATV)といったブロードバンド(高速大容量通信)が一気に普及して、通信速度がkbpsからMbpsのレベルに一気に跳ね上がった。


記憶容量(ストレージ)

急速な進化の時期: 1990年代後半〜2000年代

巨大磁気抵抗(GMR)効果の技術がHDDに応用されて、ハードディスクの容量はMBからGBへ突入。2000年代後半には垂直磁気記録方式の恩恵により、TBへと爆発的に増えた




ビッグデータ

言葉の誕生は2000年前後。学術的な論文やデータマイニングの専門家の間で、管理しきれない巨大なデータ群を指す言葉として「Big Data」が使われ始める。

ブロードバンドの普及と記憶容量の増大により、従来のシステムでは管理、処理しきれないほど巨大な膨大な複雑なデータがもたらされる。


Googleが当時発表した3大技術論文

Googleは2000年代前半、膨大なウェブデータを処理するために自社開発した画期的なインフラ技術を、以下の3本の論文として相次いで世界に公開。のちのビッグデータ技術の基盤となった。

  1. 2003年 GFS(Google File System)数千台の安価なコンピューターをつないで、1つの巨大なハードディスクのように大容量データを蓄積する分散ファイルシステム。
  2. 2004年 MapReduce 蓄積した巨大なデータを、数千台のマシンに、小さく分割して配り(Map)、同時に並列処理して集計する(Reduce)ためのプログラミングモデル。
  3. 2006年 Bigtable ペタバイト規模の大容量データを高速に検索・管理するための分散データベース。

世界への影響

Googleがこれらの仕組みを論文として理論(設計図)だけ公開したため、世界中のオープンソース開発者たちが、自分たちでも使えるように同じものを作ろうと動き出した。

そうして2006年に生まれたのがHadoop(GoogleのGFSを真似たHDFSと、MapReduceを真似たHadoop MapReduceのOSS版)。Hadoopが開発されたことで、安価に大容量データを扱える土台が整い、Google以外の一般企業でもビッグデータ分析できる時代が到来。

Hadoop(HDFSとMapReduceのOSS版)を開発したのは2人のエンジニア、ダグ・カッティング(Doug Cutting)とマイク・カファレラ(Mike Cafarella)

2人はもともとオープンソースの独自のWeb検索エンジン(Nutchプロジェクト)を開発していた。しかし世界中のWebページを集めて検索インデックスを作るには、データ量が多すぎて個人のPC環境では限界を迎えていた。

そこへ前述のGoogleの論文(GFSとMapReduce)が公開。衝撃を受けた2人は、この仕組みをオープンソースで真似すれば、自分たちの検索エンジンも巨大データを扱えるようになると考え、Java言語を使って独自に実装し始めた。これがHadoopの原型。

とはいえ、個人での開発には実験用のサーバー代や資金の限界があった。そこに目をつけた、当時Googleを猛追していた米Yahoo!(Yahoo! Inc.)は、2006年 ダグを自社に雇用し(マイクは大学院で研究しながら外部からサポート)、潤沢な資金と数千台規模の検証用サーバー群を提供して全面支援。

Yahoo!の強力なバックアップを得たことで開発は一気に加速、急成長。検索エンジンの一機能から「大容量データを分散処理する共通基盤」として切り離され、独立したプロジェクト「Hadoop」に。

Yahoo!での開発が進んだ2006年、非営利団体であるApacheソフトウェア財団(Apache Software Foundation)にプロジェクトは寄贈。

Hadoopは特定の企業が独占する商用製品としてではなく、誰でも無料で使えるオープンソースソフトウェア(OSS)として世界に向けて正式に公開。

Hadoop: ダグの子供が、お気に入りの黄色い象のぬいぐるみに付けた名前が由来。Hadoopの公式ロゴに使われている。




ちなみにAWSでいうと


GFS ≒ Amazon S3

巨大なデータを、安価に、壊れないように保存するための仕組み。

安価な構成: 特別な高級ハードウェアではなく、普通のハードウェア(サーバーやハードディスク)を大量に並べて巨大な保存スペースを作る。

自動バックアップ: どこかのハードディスクが1台や2台壊れてもデータが消えないよう、自動的にデータを3つ以上の場所にコピーして保存する仕組み(レプリケーション)を持っている。

特徴 GFS / HDFS(オンプレミス型) Amazon S3(クラウドネイティブ型)
実体 自分たちで用意した「サーバー(CPU+ハードディスク)」の集まり。 AWSが管理する、インターネット経由の「純粋なデータ保存スペース」。
拡張方法 容量が足りなくなると、サーバーを丸ごと1台買い足してネットワークに繋ぐ作業が必要。 ユーザーは何もしなくてよい。データを入れれば入れるだけ、容量が無限に自動拡張される。
計算方法との関係 データを保存しているサーバーそのものに計算(MapReduceなど)をさせる。 保存に特化している。計算するときは、別の計算用サーバー(EC2やEMRなど)を必要な時にだけ起動してS3に接続する。

MapReduce ≒ Amazon EMR / AWS Glue

大量のデータを並列で処理・加工する役割

大量データの並列処理: 1台のコンピューターでは処理できないテラバイト・ペタバイト級のデータを、数百〜数千台のマシンに分散して同時に計算する。

データの変換(ETL): 散らばった生データ(ログやCSVなど)を読み込み、きれいに整えて、分析しやすい形に変換して別の場所(S3など)に書き出す。

特徴 MapReduce(原典/Hadoop) Amazon EMR / AWS Glue(現代のAWS)
処理のスピードと仕組み データを処理する際、一工程ごとにハードディスク(ストレージ)への書き込みが発生するため、処理が遅い。 EMRやGlueの主流である「Apache Spark」は、データをメモリ(RAM)上で処理するため、MapReduceより最大100倍高速。
サーバーの管理 処理をするために、常に数千台のサーバーを自前で起動・維持しておく必要がある(使っていなくても電気代や管理費がかかる)。 EMR: 処理するときだけ自動で数百台のサーバーを起動し、終わったら消せる(使った分だけ課金)。Glue: サーバーの存在すら意識しない(サーバーレス)。

Bigtable ≒ Amazon DynamoDB

大量のデータから特定のデータを一瞬で読み書きするデータベース

超高速レスポンス(低レイテンシー): データ量がペタバイト級に増えても、アクセスが1秒間に数百件〜数百万件に激増しても、常に「1桁ミリ秒(1000分の数秒)」という超高速でデータを返す。

NoSQL(キー・バリュー型 / ワイドカラム型): 行と列でガチガチに固められた従来のRDB(SQL)とは違い、特定のキー(鍵)を指定して一直線にデータを取り出す仕組み。データの構造(項目)を後から自由に追加・変更できる柔軟性を持っている。

特徴 Bigtable(Google原典) Amazon DynamoDB(AWS)
データの管理単位(アーキテクチャ) ワイドカラム型: 巨大な1つのスプレッドシートのような構造。データは「行(Row Key)」ごとにアルファベット順で並べられて管理される。 進化型KVS(ドキュメント/ワイドカラム対応):基本の骨組みは、列を後からいくらでも横に広げられるワイドカラム型(KVS)。その中にJSONのような複雑なデータの塊(ドキュメント)をそのまま丸ごと放り込める柔軟な構造に進化。
運用のハードル 安定して高速に動かすためには、最低でも数台(できれば数十台)のサーバー(ノード)をクラスターとして維持する必要があり、初期コストが高い。 完全サーバーレス: データの読み書きの回数や、保存したデータ量だけで課金される。小さな個人アプリから、Amazonのプライムデーのような超巨大イベントまで自動で伸縮する。

キー・バリュー型(ドキュメント型)とは?

鍵(Key)と中身(Value)がペアになって保存されている、非常にシンプルなデータ構造のこと。コインロッカーのようなイメージ。

  • キー(Key): ロッカーの番号。世界に一つだけで絶対に重複しない
  • バリュー(Value): ロッカーの中に放り込まれている荷物(データ)そのもの

なぜ超高速なの?

従来の一般的なデータベース(SQL)は、Excelのように列と行が複雑に組まれており、データを検索するときは「A列が〇〇で、かつB列が××のデータを上から順番に探す…」という複雑な探索(計算)をする。そのためデータが増えると重くなる。

一方、DynamoDBのようなキー・バリュー型は、「105番のロッカーを開けて」と指示するだけ。データが100万件あろうが1億件あろうが、目的のロッカーへ一直線に向かうため、常に一瞬(1桁ミリ秒)でデータを取り出すことができるのが最大の強み。

DynamoDBは、ロッカーの中に入れる「バリュー(荷物)」の形として、JSONという書類(ドキュメント)のような複雑な階層構造のテキスト形式をそのまま丸ごと放り込める柔軟性(ドキュメント型としての特徴)を、ワイドカラムな骨組みの上に持たせている。

ワイドカラム型は、ロッカーの中にさらに細かく仕切られた小さな引き出し(カラム)が大量に並んでいるイメージ。鍵(行キー)でロッカーを開けたあと、3番目の引き出し(列)のデータだけを読み込むことができる。そして引き出しは10個だったり100個だったり、後からいくらでも横に広げる、ワイドにできるためワイドカラム型と呼ばれる。



AWSタイムライン

2006年3月:Amazon S3誕生。巨大なデータ保存庫。AWSというクラウドサービスのほぼ最初のサービスとして誕生。クラウドの歴史が始まる。

2009年4月:Amazon EMR誕生。Hadoopをクラウドで動かす基盤として登場(当時はまだMapReduce処理が全盛期)。

2012年1月:Amazon DynamoDB誕生。リアルタイムを支える超高速NoSQLデータベース。

2012年11月: Amazon Redshift誕生。大量のデータを高速で集計・分析(SQLクエリ)するための超巨大なデータベース。普通のビジネスマンやアナリストが、使い慣れたSQLでペタバイト級のデータを一瞬で集計できる。企業のデータ分析が一気に大衆化。

2016年11月: Amazon Athena誕生。S3のデータに直接SQLを投げるサーバーレス・クエリの決定版。S3に置いてあるデータ(CSVやログなど)に対して、データベースに移し替えることなく、S3にある状態のまま、直接SQLを投げて一瞬で集計できるサービス。データはあるけどわざわざデータベース(Redshift)を起動してインポートするのは面倒という常識を破壊。現在のデータレイク(S3に全部貯める)という設計思想を決定づけた主役。

2017年8月:AWS Glue誕生。サーバーの管理を不要にし、Apache Sparkなどを使ったモダンなデータ加工を自動化する、サーバーレスETLとして登場。

2017年11月: Amazon SageMaker誕生。貯まったビッグデータを使って、AI(機械学習・ディープラーニング・生成AI・LLM)のモデルを開発・学習・デプロイするためのオールインワン環境。ビッグデータの最終ゴールを、集計からAIによる予測や生成へとシフト。Glueなどできれいに加工したビッグデータを、そのままAIの学習に流し込むための心臓部。



AWSの進化

  1. 貯める(S3)から始まり、
  2. 処理する(EMR)
  3. 分析する(Redshift/Athena/Glue)
  4. AIで活用する(SageMaker)へと発展してきた

AWSでビッグデータシステムを組む場合、S3 + Glue + Redshift/Athena + SageMakerの組み合わせが王道



Amazon S3が革命的だった理由

以下の条件を、世界で初めて同時に満たしたから。

  • 初期費用ゼロ、使った分だけの従量課金: 数億円の初期投資をせずとも、クレジットカード1枚で使い始められる。
  • API(ネット経由)での全自動操作: 人間がサーバーをセットアップするのではなく、プログラム(HTTPリクエスト)から一瞬でデータを保存・取得できる。
  • 容量が最初から「実質無限」: ユーザー側で「来年はデータが何ギガ増えるか」を予測してハードディスクを買い足す必要がなくなった。

心理学の成り立ち


哲学の時代
自分の感覚(外部世界)と、知識は一致していた
ヒポクラテスの四体液説みたいな感じ
宗教の教えみたいな感じ(万物は神が創ったものだとか)

ところが、科学や技術が進歩してくると、どうもそうでもないらしいことが判明してきた

医学、物理学、天文学、科学いろいろ
コペルニクス、ガリレオ、ダーウィンとかとか

どうやら自分の感覚を疑わざるを得ないようだ

こうした知識・感覚と事実に矛盾があることから、
人の心の動きを明らかにしたいという学問的欲求、探究心が発生
心理学という学問が萌芽し始める

考えてるだけでは哲学の領域を出ない
科学的学問として成り立たせたい

哲学を科学化させたのはヴントの功績かも

数量化、客観化、機械化、解釈の排除、演繹
誰もが納得しやすい、わかりやすい、結果だけをみればOKというふうにしたい

客観性:再現可能性、反証可能性
信頼性:確実性(手堅さ)、監査可能性
内的妥当性:有意味性、真正性(迫真性ではない)
外的妥当性:転用可能性、一般化限定性


観察者であるか、行為者であるか
目の前で猫がエサを食べているのを
じっと見守って事実を伝えるか
エサを食べさせようとするか

前者がシャルコー
催眠で、体の症状だけでなく、心の症状が引き起こす事態があることを明確にした

後者がフロイト
催眠で治療しようと思った

(2009年3月メモ)



アメリカの成り立ち

中世抜きで発生した国

ピューリタン

  • カトリックとは反対で、ギリシャ・ローマ文明の知識
  • 建物もギリシャ・ローマ風、中世的なゴシックはなし

中世とは

  • 奴隷制度と騎士道
  • 中世ヨーロッパは1,000年かけて奴隷をなくした
  • 戦争のルールが変わった
  • 対等の敵と考えるか、悪者と考えるか
  • 機関銃という無差別殺人兵器に抵抗感を感じるかどうか

モンロー主義

  • 外の世界と関わらない
  • 自国産出の石油を無限に使えるから成り立つ、ただし60年代までだった
  • 70年代からは石油輸入国に(その後シェールガスが出てくるわけだが)
  • OPECや有色人種国にも気を使わないといけない

るつぼ

  • 日本は民族の吹き溜まり:うまく混ざってる
  • アメリカはその前段階なのかも:モザイク的に散らばってるだけ、混ざってはいない



自分の欲望に他律的

政府に賭博を禁止してほしい、あると自分がやっちゃうから

ピューリタンは他律的に抑える

  • オランダの家の、道に面した部屋の窓の広さ
  • 不道徳なことをしていないかを互いに監視
  • デスパレートな妻たちみたいな感じ

プロテスタントと違いカトリックは

  • 自分の罪を告解(懺悔)することで神の赦しが得られると考える
  • スペインの家は、中庭があって、内に開かれている

日本もカトリック的発想

  • 世間様と家の自治
  • 世間の縛りはあくまで家に対して、個人ではない
  • 家制度が活きてる時代は、個人が家に守られてたとも言える
  • だが今は家が守ってくれない、個人に直接攻め込まれる
  • (今の不寛容さは、カトリックからプロテスタントに移行してると見ることもできる)

(2009年1月メモ)


2018年7月1日日曜日

アサガオの数咲き作り

発芽したら
・本葉の6枚目と7枚目の間で摘芯
・双葉も摘む
・1,2,6枚目の脇芽も摘む

3,4,5枚目の脇芽を伸ばしていく

・6枚目の脇芽はグイグイ伸びてくるのでちょいちょい摘む
・子葉の両脇の芽も摘む


・3本ある子づるのそれぞれ2枚目と3枚目の間で摘芯

その後5~6日で孫づるが伸び出し、ここに蕾がつく、らしい

https://www.shuminoengei.jp/?m=pc&a=page_image_slideshow&target_report_id=7213&num=7
https://www.shuminoengei.jp/?m=pc&a=page_image_slideshow&target_report_id=7213&num=8


2018年6月24日日曜日

頻度流とベイズ流

ラプラスの悪魔
自然現象は「現在の位置と状態, そして現象の法則さえ分かれば未来も完璧に予測できる」と考えられていた。 だがしかし、未来を予測するのに必要な情報が足りないときに, 人間は何らかの信念に基づいて予測するしかない。

この主観的な信念を数値化したもの→主観確率

サイコロを振って5の目が出る確率→6分の1(どの目が出るかの条件は1〜6いずれも等しいだろうという信念が前提にある)

信念じゃないものに頼るなら、とりあえず振ってみる、何度も振ってみる。5の目が出た頻度を数え上げる。
過去の実績に基づいてるのが信念よりも確からしそうだし、誰の目から見ても変わらない実績なので信念よりもあてになりそう
→頻度流(頻度に基づいて確率を定義する)

 頻度流統計では最もな尤度のみを用いる→最尤法
 ベイズ流では事前分布+尤度

ただしこの考え方だと試行回数、すなわちサンプルサイズにいろいろ依存することになる。

サンプルサイズをあまり意識しないでよい。
事前確率はひとまず2分の1とでもおく。試行をちょっとずつ観察しながら5の目の出るもっともらしさ(尤度)の情報を得ながら事後確率を計算(更新)していく
→ベイズ流(主観確率に基づいて確率を定義する)


最尤法ではモデルが複雑な場合や、サンプルサイズよりも説明変数が多い場合などに無理があり、対応できない(サンプルサイズよりも説明変数が多いと最小二乗法、最尤法の計算が原理的に不可能になる)。

モデルが複雑になるとデータの最小単位がわかりにくい、サンプルサイズをカウントしづらい、解釈が難しい

厳密な実験計画が前提になっており、ベイズ更新、カルマンフィルタ(センサーなどから得られる情報をもとに機械の状態を把握し, リアルタイムで機械の動きを修正していくという工学の方法論で, 代表例としては人工衛星の軌道制御に応用される)のような後から追加情報が入ってくることを頻度流は想定してない

→頻度流の限界


反対に、ベイズ流の弱み

モデルが複雑で再現性が低い

事前分布をどう設定するかが初学者には難しい
(MCMCのようにたくさん事後確率を発生させるなら事前分布の有意味性が薄れる場合には問題視されにくい)



[教材] 今更だが, ベイズ統計とは何なのか.
http://ill-identified.hatenablog.com/entry/2017/03/17/025625

頻度論 vs. ベイズ統計(後半)
https://healthpolicyhealthecon.com/2015/12/28/bayesian-2/

コインで理解するベータ分布
http://r-tips.hatenablog.com/entry/beta-distribution

ベータ分布の確率密度、下側累積確率、上側累積確率のグラフを表示します。
https://keisan.casio.jp/exec/system/1161228837


600世帯での過去平均視聴率15%→見た人90人、見なかった人510人
(90,510)
この情報は、事前分布(1,1)+(89,509)の事後分布だったと考えることもできる

事前分布(1,1)にそれぞれ足して(91,511)で計算する

ベータ分布Beta(a, b)は「(a-1)回成功、(b-1)回失敗という情報が与えられたときの、二項分布のパラメータpの事後分布」と説明することができます(ただしa,bが非負整数のときのみ)。

ベイズ統計学とベータ分布 
http://www.creativ.xyz/beta-distribution-345



2017年12月28日木曜日

MacBookAirでPython3環境設定からのexif撮影日時で画像ファイルrename

たぶんここらへん見て環境設定した。

http://qiita.com/yoshizaki_kkgk/items/4663148a2b3ca078ddbc
決定版】MacでPythonを使って『機械学習』を学ぶための環境構築

http://www.sejuku.net/blog/curriculums-python
Python入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】


http://qiita.com/yhashizaki/items/c996297a80024bcaa2eb
Pythonスクレイピング(Beautiful Soup)+XPathでテキスト文指定でリンク先URLを取得

【参考にさせていただいたサイト】
http://gci.t.u-tokyo.ac.jp/tutorial/crawling/
ウェブページからのデータ取得

http://www.slideshare.net/tushuhei/python-xpath
Python と Xpath で ウェブからデータをあつめる

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

exiv2 -Pk hoge.jpg
exif情報の種類が見れる

magick identify -verbose hoge.jpg
詳細情報が見れる




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

写真アプリの画像ファイルを整理したかった。

撮影日時をexifから取り出してファイル名につけたかった。

ImageMagickというのでできるっぽい


それをinstallしたい
Mac OS X El Capitan - HomebrewでImageMagickのインストール
https://qiita.com/noir/items/dc7366be57f987c04a20

brew install imagemagick
とやったら、command line toolsがないとだめって言われたので

Xcodeをインストールせずに、Command Line Toolsをインストールする方法
https://qiita.com/iwaseasahi/items/eb820762600c815ab100


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

iPhotoで、撮影日時をタイトル名に反映させて、タイトル名で書き出すという手もあるが。
https://origin-discussions-jp.apple.com/thread/10183849

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


autometerでやる場合

写真のファイル名を撮影した日時にする方法【Mac】
http://www.umurausu.info/blog/archives/add_date_time_to_photo_filename.html



===============



bash 画像の撮影日時(EXIF)を「YYYYMMDD_HHMMSS」形式で取り出してファイル名に付ける(awkとsedで)
http://min117.hatenablog.com/entry/2017/03/04/134130

【ImageMagick】identifyコマンドが実行できない
https://teratail.com/questions/92619

magick identify -verbose IMG_hogehoge.JPG  | grep DateTime: | awk '{print $2"_"$3}' | sed -e s/://g

エラーメッセージが出る
identify: unable to open image ' ': No such file or directory @ error/blob.c/OpenBlob/3323.
identify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/509.
20091124_085544

でもexif情報は取り出せてるよね

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

いろいろやって
それっぽいのを作ってみたが
./rename.sh
Permission denied
になるときは
chmod +x rename.sh
とするらしい

これはファイルに実行権限がついていないため、起きる現象です。
chmodコマンドを使って実行権限をつけてやりましょう。
http://wadap.hatenablog.com/entry/20080223/1203787519

rename.shの中身
for i in IMG_*jpg
do if
exiv2 -Pk "$i" | grep -q Exif.Photo.DateTimeOriginal ; then
exiv2 -Pk "$i" | grep -q Exif.Photo.DateTimeOriginal |
exiv2 -r'%Y%m%d_%H%M%S'"_:basename:" "$i"
exiv2 -r'%Y%m%d'"_:basename:" "$i"
fi
done

んで
./rename.sh
できた!

Exiv2 exception in print action for file IMG_****.jpg:
Failed to read image data
みたいなメッセージが終了時に表示されるがまあいいや

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

magick identify -verbose IMG_****.jpg  | grep DateTime: | awk '{print $2"_"$3}' | sed -e s/://g

awk 列を抜き出す
例: 2列目だけ
$ cat << __EOF__ | awk '{print $2}'
1 hoge
2 hage
__EOF__
以下出力
hoge
hage

■ ファイル内の文字列をまとめて置換する
カレントディレクトリのファイル全てを対象にする場合
$ grep -l '置換対象の文字列' 置換対象のファイル | xargs sed -i.bak -e 's/置換対象の文字列/置換後の文字列/g'
https://qiita.com/kkyouhei/items/b4ff839a2f36ba194df3

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

http://microgroove.jp/shaolin/2010/07/osx_automator_script_for_renaming_files_using_exif_datetime.html
http://min117.hatenablog.com/entry/2017/03/04/134130

http://serial-experiments.jp/blog/?p=512
https://blanktar.jp/blog/2015/09/linux-photo-change-datetime.html
http://uxmilk.jp/8366
https://qiita.com/kkyouhei/items/b4ff839a2f36ba194df3

http://www.sw-mono.blog/entry/2017/07/30/115350
http://www.nemotos.net/?p=864
http://www.nemotos.net/?p=745
http://www.nemotos.net/?p=182

http://shellscript.sunone.me/for.html


写真のファイル名を撮影した日時にする方法【Mac】
http://www.umurausu.info/blog/archives/add_date_time_to_photo_filename.html


写真取り込み&EXIF情報にあわせてファイル名を変更
http://microgroove.jp/shaolin/2010/07/osx_automator_script_for_renaming_files_using_exif_datetime.html


【覚書】Macで写真のリネームをする
http://zipmouse.hatenablog.com/entry/2017/10/07/202640


Mac OS X Mountain Lion でファイルのタイムスタンプ(日付)を変更する方法
http://blog.dreamhive.co.jp/yama/9708.html


bash 画像の撮影日時(EXIF)を「YYYYMMDD_HHMMSS」形式で取り出してファイル名に付ける(awkとsedで)
http://min117.hatenablog.com/entry/2017/03/04/134130



2017年11月25日土曜日

錯覚の科学at放送大学

第1回 錯覚への紹介

  • チェッカーシャドー錯視
    • 錯覚は自動的に起きる(防げない)
    • 適応的に役立つ(正確には見えていないが)
      • 円柱の影が差していても、もともと白いものだとみなしているからBの文字は白く見える
  • ダイヤモンド錯視
    • ダイヤの色の濃さがグラデーションに見えるが、全部同じ色
    • 境目、特徴的な部分に注目しやすい

錯覚とは、知覚された対象の性質や関係が、刺激の客観的性質や関係と著しく食い違う現象

  • 物理的
    • 光の屈折、ドップラー効果
  • 生理的
    • 暗闇への順応(感覚器:眼の働きによるもの)
  • 知覚的 
    • 知覚現象における広義の「錯覚」 恒常性(明るさが変わっても白黒と認識する)、立体視など
    • 知覚研究における「錯覚」 古典的錯視図形など
  • 認知的
    • 思い違い、見落とし、勘違い「認知バイアス」 規範的正解あり(正しく考えれば分かるもの)、なし

認知 cognition:知的な心の情報処理。知覚、記憶、思考(推論、問題解決、意思決定)、注意、学習、、、

  • 感覚:目や耳が刺激を受け取って反応した状態を指す
  • 知覚:感覚器の反応+何が見えたのかを認識して判断すること

錯視いろいろ

  • ジャストロー錯視
    • 下の方が長く見える
    • 接してる部分を見比べちゃう
  • フィック錯視
    • 縦(垂直)と横(水平)の棒線
    • 縦線(垂直)の方が長く見える
  • ポンゾ錯視
    • ボーリングのレーンみたいなやつ
    • 奥の方が長く見える(奥行き知覚が影響する)
  • ポッケンドルフ錯視
    • 斜線がどれとつながっているか



第2回 視覚の錯覚 見ることは考えること

  • 人は目で物を見ているということ自体が錯覚
  • 人は脳で物を見る

我々は

  • 目で物を見ている、と思っている
  • 目とカメラの構造は似ている
  • が、我々はカメラのように外界を正確に見ているわけではない
  1. 網膜に入力された光学情報(外の世界)から、
    • 特徴抽出、取捨選択、ボトムアップ処理(データ駆動型)して
  2. 既有の知識、経験、期待(スキーマ)から
    • 無意識的推論、トップダウン処理(概念駆動型)して
  3. これを足し合わせてパターン認識することで、見えたものを決定している

解が定まらない不良設定問題

  • 一つの網膜像から、三次元の対象を一つだけ再現することは不可能

奥行き知覚の手がかり

  • 両眼視情報 輻輳、両眼視差
  • 単眼視情報 調節、ボケの検出、運動視差(近くのは早く動いて見える、遠くのはゆっくり動いて見える)
  • 絵画的手がかり(網膜像の相対的大きさ、線遠近法、対象の重なり、きめの勾配、大気遠近法、陰影)

クレーター錯視

  • 飛び出て見えるのは、上が明るい球体たち

恒常現象 constancy phenomenon

  • 大きさ、位置・方向、明るさ、形、色
  • 感覚器が捉える外界の情報(網膜像)が変化しても、対象は安定して知覚される



第3回 錯視の世界を体験する

  • 市松模様錯視
    • 間の平行線が歪んで見える
    • 理髪店のポール、電光掲示板の仮現運動
  • シェパード錯視、テーブルトップ錯視
    • 道路写真の角度錯視
  • エイムズの部屋
  • 縦断勾配錯視
    • 急激な下りで幅のある坂や川があると、脇の水路は実際は同じく下りなのに上っているように見える
  • ホロウマスク錯視
    • 凹んだ顔の方は、動いて見える
    • 凹んでる方は通常は見えない角度に見えてしまうので、これは顔が動いてるのだろうと脳で補正してしまう



第4回 視覚の錯覚 知覚心理学と絵画芸術の接点

知覚とは

  • 対象を再現する主体的な試み
  • 予期、知識・スキーマ、手がかりと、網膜像を取引することで、ヘルムホルツ式推論する(対象そのものを再現する)
  1. 線遠近法 透視図法、写真
    • 遠くのものは小さく、近いものは大きく
    • 網膜像に幾何学的に忠実
  2. 大きさの恒常性 人の知覚
    • 遠くのものは大きく、知識で補正
    • 現実の対象・ものに忠実
  3. 矛盾が生じる
  • 恒常度ゼロ(線遠近法に忠実)と、
  • 完全恒常(世界の知識に忠実)には距離がある
  • 発達的観点で考えると、子供の絵は完全恒常の世界を描いていると言える

子供の絵の特徴

  • 擬似展開図
    • 多視点図法、透明画法で描かれてる
  • 知的写実主義 intellectual realism
    • 5~7歳までに特徴的、体験と自分のイメージに忠実
  • 頭足人
    • 重要なところを大きく描く

歴史的観点で考えると、古代や東洋の絵も完全恒常の世界を描いていると言える

  1. ルネサンス期の最後の晩餐は、線遠近法で描かれているが
  2. 12世紀の最後の晩餐は多視点図法になっている
  3. これが徐々に変化して線遠近法になっていった

大きさの恒常性の克服

  • カメラオブスキュラ(カメラの原点)などのテクノロジー
  • 解剖学の成果(人間の目がカメラに似てることがわかった)
  • 石膏デッサンの訓練

印象派の登場

  • 現実に見えている世界に一度振れたところ(写実派)から再度完全恒常の世界への転換期、
  • 人間性、恒常性を回復しようとする試みと言える

写実派:見たままに描く

  • モネのような一般的な印象派:瞬間を切り取る、時間を切り詰めて自分の印象をストレートに出していく
  • セザンヌ曰く、物を球や円柱などの抽象的な形に置き換えて再構成せよ
  • セザンヌの絵は、いくつもの時間をねじ込む、いくつもの視点をねじ込む、凝縮している、時間の持続、濃密な時間

キュビズム(立体派):多視点性、複数の視点がねじ込まれている




第5回 視覚芸術と錯覚

トロンプ・ルイユ(だまし絵)

  • 仰角遠近法:見る人の眼差し、角度を意識して描いてる

絵の中に影を描く→絵の中に空間が生まれる

  • モネ 筆触分割
    • 細かいところはそうでもないが全体の印象としては、離れるときれいに見える
  • 新印象派 視覚混合
  • エッシャー 不可能図形
    • 奥行きがない、消失点がない、ルネサンス以降の線遠近画法の意識が錯覚を引き起こす



第6回 記憶の錯覚 人の記憶は確実なのか

記憶の誤情報

  • 目撃者証言
    • 歪んだ情報を与えると、証言内容が割と簡単にすり替わる
  • 経験していない架空の出来事の想起率は、面談を重ねるごとに発生、増加する

記憶インプランテーションの特徴と仕組み

  • 視覚的イメージの影響
    • 鮮明なイメージと記憶インプランテーション
  • リアリティモニタリング
    • 現実の記憶と、想像した出来事の記憶を区別する過程
    • 現実の出来事=鮮明、想像した出来事=不鮮明
    • 鮮明なイメージが伴う記憶は、現実のものとして受け入れられる

記憶のメカニズム

  1. 入力
  2. 符号化 encoding
  3. 貯蔵 storage
  4. 検索 retrieval
  5. 出力

記憶の錯覚が起こる仕組み

  • DRMパラダイム 符号化のところ
  • 目撃証言の誤情報効果 貯蔵のところ
  • false memory 検索のところ



第7回 思考の錯覚と認知バイアス

考え方の二つのタイプ

  • これは正しいはずだ、確証を試みる
  • これは間違っているはずだ、反証を試みる

たいていの人は確証の方を試みる(自分の考えが正しいはずだという思考になっている)

確証バイアス confirmation bias

  • 信念、理論、仮説を支持し、確証する情報を集める
  • 反証となる証拠の収集を避ける
  • 反証や否定的情報の利用を考えられない、失敗する

肯定性バイアス

  • 否定は考えにくい、認知的負荷が高い

錯誤相関(幻相関) illusory correlation

  • 四分割表の1セルにだけ注目してしまう

ポジティブ・フィードバック 予期の確証

  • 信念、起こりうること、リアリティ(結果を見る)、起こりうることを選択的に認知する
✅ 情報

クリティカルシンキングのためのポイント

  • 現実の証拠にもとづいて考える
  • 都合の悪いこと、予期しないこと、起こらなかったことに注意が向かない
  • フレームワーク(四分割表)で考える習慣



第8回 ヒューリスティックと行動経済学

  • ヒューリスティック heuristic
  • アルゴリズム algorithm

大数の法則 law of large numbers

  • 数学 十分に大きな回数の事象により、理論上正確な予測値に収束する
  • 心理 小さなサンプルでも大数の法則が成り立つと思い込む(少数の法則の錯誤)

利用可能性ヒューリスティック availability

  • 入手やアクセスがしやすい
  • 認知的に利用しやすい

アンカリング(投錨)と調整 anchoring and adjustment

  • 基準点をもとに微調整して考える



第9回 自己の一貫性と正当化が引き起こす錯覚

認知的不協和理論

  • 認知要素1(タバコ好き)
  • 認知要素2(タバコ体に悪い)
  • 相容れない不協和が生じる

戦略

  • 認知要素の変更(タバコやめる)
  • 要素の重要性を減少(タバコ少ししか吸ってない、タバコ体に悪い論はまだ不備がある)
  • 共和的な要素の付加(タバコ吸いでも長寿な人はいる、温暖化の方が問題だ)

入会儀礼、通過儀礼の実験

  • 認知的不協和とマインドコントロール
  • 厳しい儀礼グループほど、内容評価、入会意向が高くなった
  1. 認知要素1(厳しい儀礼:変えられない)
  2. 認知要素2(つまらない内容)
  • 1は取り消せない、2を変えるしかない
  • 行動と態度が一貫するように考える

 

  1. まず、つらいめにあわせる、取り返しのつかないことをやらせる
  2. そっちを正に置いちゃう

おもちゃで遊ぶことに厳しい罰を課す

  • よりおもちゃが魅力的に感じるので、禁じられてもまた遊ぶ
  • 甘い罰だと、また遊びたい気持ちにはなりにくい



第10回 身近な情報の錯覚

  • 長期的にはあまり効果がないことがわかってるのについ叱りがち
    • 褒める:技術が必要
    • 叱る:簡単、楽
  • 叱る方が効果的に思えるという錯覚が起きているため
    • 褒めた後は下がることになる
    • 叱った後は上がることになる(こっちの印象が勝る、代表性ヒューリスティックが生じている)

平均への回帰 regression の錯誤

  • 二変量が相関関係にあり、その相関が完全でない時、片方が極端な値を取った場合、
  • 対応するもう片方はより平均値に近くなる

身近に入り込む回帰の誤謬 regression fallacies

  1. 事前テスト 高群、低群
  2. 処置介入
  3. 事後テストの平均値比較

単なる統計的回帰に、複雑な因果関係を想定してしまう

回帰が認識されやすい課題

  • サイコロの目を使うと、回帰の誤謬、錯誤に気づきやすい
  • が、日常生活場面だと気づきにくい

前後論法

  1. 事前の状況
  2. 変化の原因と推定される処置の導入
  3. 事後の状況

以前はaだったが、以後bになった

前後論法における変化要因

  • 同時発生の原因 同時に変化を生じさせる原因がないか?
  • 自然な原因 何もしなくても自然に変化したのではないか?
  • 平均への回帰 極端な値が平均方向へ戻ったのではないか?
  • 欠落したケース 事前と事後で対象が変わっていないか?



第11回 錯覚の光と影 エンタテインメントと悪質商法

  • 注意を向けていないものには気づかない
  • 注意の移動は速いし自動的におこなわれる(注意の自動性)
  • 一方で、意図的に動かせる注意もある
  • 共同注意 他者の視線が手がかりになることもある
  • チェンジ・ブラインドネス(変化の見落とし)
  • チェンジ・ブラインドネス・ブラインドネス(変化の見落としの見落とし)



第12回 原因と結果をめぐる錯覚 社会的認知

原因帰属推論には偏りが生じる、錯覚が起きる

原因は心理的に決定する、目立つものに注目してしまう

原因帰属 attribution

  • 内的帰属 性格や能力、気分などの内的属性に原因があると考える
  • 外的帰属 状況など本人以外の外部環境に原因があると考える

ケリーの立方体モデル:四分割表の発展版

  • 人(合意性)AさんBさんCさんDさん
  • 実体(弁別性)対象1,2,3,4
  • 時/様態(一貫性)状況1,2,3,4

全領域の情報を集めるのは大変

原因帰属の錯覚

  • 基本的帰属錯誤(他者の行動は内的帰属と捉えやすい、自己の行動は外的帰属と捉えやすい)
  • 行為者観察者効果(自分には外的要因が見えてる、他者には見えてない、逆パターン:俺のおかげという考え方もある)
  • 自己奉仕バイアス
    • 自己高揚/自己防衛動機
    • 記憶・知覚認知バイアス

学習性無力感(セリグマン)

  • ストレスにさらされて無力感を学んでしまう、結果、うつになる
  • が、ストレスに強い犬もいる、説明の仕方の問題ではないか

物事が失敗した時の説明スタイル(どこに原因を求めるか)

  • 悲観的
    • 自分のせい(内的)
    • これからも続いて(安定的・永続的)
    • 何をやってもダメ(全般的)
  • 楽観的
    • 他の事情による(外的)
    • いまだけ(一時的)
    • この件に限って(特殊的)

情動と身体的整理変化・興奮

  • ジェームズ・ランゲ説 情動の末梢起源説
  • 人は悲しいから泣くのではない、泣くから悲しいのだ

情動二要因理論 two-factor theory of emotion

  • 生理的喚起(覚醒の認知)と、
  • なぜ喚起が起こっているのか?(手がかりからの原因推論)

情動ラベリング 情動が認識される

  • 吊り橋実験 Dutton&Aron
  • 高恐怖条件と低恐怖条件、美人女性が声をかけて実験、絵を見て話を作る、女性の電話番号を知らせる
  • 高恐怖条件は、TATで性的なイメージの話を作りやすい、電話番号受け取る、電話かけてきやすい



第13回 科学的思考と錯覚

血液型性格相関説の歴史

  • 1900 ラントシュタイナーの発見(最初はABCと言ってた)
  • 1916 原来復による紹介
  • 1927 古川竹二「血液型による気質の研究」お茶の水女子大の心理の先生
  • 1971 能見正比古「血液型でわかる相性」

ラベリング効果

  • A型は○○です、と言われちゃうとそういうものだと思ってしまう、行動してしまう
  • インプリンティング効果

フリーサイズ効果

  • 誰でもあてはまる性格診断は受け入れやすい
  • バーナム効果

性格的中の錯覚

  • 人はいろいろな性格を少しずつ持つ
  • 当たったところだけを強く認識する
  • 的中感を増す表現になっている(曖昧な表現、○○な反面~)

疑似科学

  • 科学的な主張や研究のように見えて、実際には科学的とは言えないもの

科学の要件 反証可能性 falsifiability

  • 反証が不可能な仮説や言明は科学ではない K.R.Popper
    • フロイトの無意識の抑圧も、反証不能だとPopperに言われちゃった
    • ただしこれも万能ではない、一つの考え方

疑似科学の兆候

  • 反証不能な理論や態度
  • 無知へのアピール
  • 立証への消極性や立証責任の転嫁
  • 最善の方法論の不採用
  • 体験談の重視と、科学的ルールの軽視
  • 統計と心理的要素の軽視
  • 発見の文脈と正当化の文脈の混同

宏観異常現象

  • 地震の前には、動物や雲、電磁気などにふだんとは違った異常な現象が観察され、大地震を予知することができる

疑似科学の問題点

  • 単なる誤りではなく、構造的に誤りを再生産する
  • 広まることで健康や社会環境などに直接の被害をもたらす可能性がある
  • 特に適切な医療器械を失わせる
  • 科学的、合理的な思考を妨げる



第14回 自己の錯覚

  • 抑うつ傾向群は、現実主義(正しく現実世界を認識できている)
  • 非抑うつ傾向群は、コントロールできてないのに、自分がコントロールしているように捉えがち
  • 非うつ者は、自己評価が他人の評価よりも高め、自己評価自体が高め

ポジティブ幻想 positive illusion

  • 自分は平均的な人より、よい特性を備えた人間だと思っている(自己高揚な動機)
  • 証左と思っているのは、認知的錯誤、認知バイアスだったりする
  • 平均以上効果 above average effect
  • コントロール幻想 illusion of control
  • 過度の楽観主義 unrealistic optimism

日本人の場合

  • positive illusion
    • 将来自分には起こる:幸せな結婚生活、長生きする
    • 自分には起こらない:ガンになる、離婚する、交通事故に遭う、仕事を解雇される
  • negative illusion
    • 就職がうまくいく
    • 大金を手に入れる、宝くじに当たる

軽い鬱は現実主義的、たいていの人は楽観的に現実を錯覚している

精神的な健康形成にはよく役立っている、ストレスに強い

日本人のイリュージョン

  • positive
    • 調和性 思いやりがある、親切、寛大
    • 誠実性 まじめ、几帳面、責任感
  • negative
    • 社交性 異性/同性の間で人気がある、積極的である
    • 経験への開放性 なにか才能がある、知的である
    • 身体的特徴 容姿がよい、スタイルがよい

男性は自身を過剰評価しやすい、女性は過小評価しやすい byシェリル・サンドバーグ’s TED 2010

計画された偶発性(運、よい偶然を引き寄せるには)J. Krumboltz

  • 好奇心
  • 持続
  • 柔軟性
  • 楽観性
  • リスクテイキング



第15回 錯覚とメタ認知 錯覚とよいつきあいを築く

錯誤には意味がある

人の認知システムに働きかける原則

  • 認知的経済性(節約)
  • 自己高揚・防衛
  • 環境適応と生存

錯覚とのよりよいつきあいのためにはメタ認知

  • 自分の情報処理をモニターし、コントロールする